Hi all,

A driver exposes its API by ioctl interface.

The argument for the ioctl call is a memory buffer that its address
must aligned to OS page size.

For example the allocation in C would call valloc (or posix_memalign)

Simple Perl allocation of the buffer like this:

     $buffer = "\0" x  BUFFER_SIZE ;

is not enough since most probably the starting address of the scalar
wont be aligned to OS page size.

Is there a simple way to achieve this?

Note: I convert the buffer to the C address like this:

     my $c_address = unpack('Q', pack('P', $buffer));

Thanks!
Eyal

Reply via email to