lkml.org 
[lkml]   [2016]   [Dec]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 11/18] arm64: ilp32: share aarch32 syscall handlers
    On Fri, Oct 21, 2016 at 11:33:10PM +0300, Yury Norov wrote:
    > off_t is passed in register pair just like in aarch32.
    > In this patch corresponding aarch32 handlers are shared to
    > ilp32 code.
    [...]
    > +/*
    > + * Note: off_4k (w5) is always in units of 4K. If we can't do the
    > + * requested offset because it is not page-aligned, we return -EINVAL.
    > + */
    > +ENTRY(compat_sys_mmap2_wrapper)
    > +#if PAGE_SHIFT > 12
    > + tst w5, #~PAGE_MASK >> 12
    > + b.ne 1f
    > + lsr w5, w5, #PAGE_SHIFT - 12
    > +#endif
    > + b sys_mmap_pgoff
    > +1: mov x0, #-EINVAL
    > + ret
    > +ENDPROC(compat_sys_mmap2_wrapper)

    For compat sys_mmap2, the pgoff argument is in multiples of 4K. This was
    traditionally used for architectures where off_t is 32-bit to allow
    mapping files to 2^44.

    Since off_t is 64-bit with AArch64/ILP32, should we just pass the off_t
    as a 64-bit value in two different registers (w5 and w6)?

    --
    Catalin

    \
     
     \ /
      Last update: 2016-12-05 18:13    [W:4.071 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site