driver can read 64-bit arguments on ARM

ARM EABI has an alignment requirement where 64-bit syscall arguments need to be
passed in an even/odd register pair. If needed, a register of padding is
required. This patch implements that logic
Remove duplicated line in .travis.yml

Signed-off-by: Christian Babeux <christian.babeux@0x80.ca>
Merge pull request #125 from cbab/travis-ci

Remove duplicated line in .travis.yml
Merge branch 'dkogan/armport'
Remove an ASSERT: on ARM, prlimit is often called with an invalid "resource" (confirmed with strace)
Merge branch 'dkogan/armport'

Conflicts:
	driver/ppm_fillers.c
Added comment describing lack of alignment in preadv/pwritev

preadv/pwritev have a 64-bit 'offset' argument in userspace. The system call,
however, has two separate 32-bit arguments. This is different from syscalls like
pread where the syscall has a 64-bit argument.

In the latter case, alignment requirements apply. In the former (preadv) case,
however, NO alignment requirements apply, since as far as the kernel is
concerned, there are no 64 bit arguments.

To be absolutely clear, here are the syscall definitions of preadv and pread
(I'm looking at fs/read_write.c in Linux 3.14):

SYSCALL_DEFINE4(pread64, unsigned int, fd, char __user *, buf,
			size_t, count, loff_t, pos)
SYSCALL_DEFINE5(preadv, unsigned long, fd, const struct iovec __user *, vec,
		unsigned long, vlen, unsigned long, pos_l, unsigned long, pos_h)

Note that pread64 has a single loff_t pos while preadv has a split pos.