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