On Thu, Feb 24, 2022 at 9:54 AM <[email protected]> wrote: > > From: Guo Ren <[email protected]> > > Implement compat sys_call_table and some system call functions: > truncate64, ftruncate64, fallocate, pread64, pwrite64, > sync_file_range, readahead, fadvise64_64 which need argument > translation. > > Signed-off-by: Guo Ren <[email protected]> > Signed-off-by: Guo Ren <[email protected]> > Cc: Arnd Bergmann <[email protected]> > Cc: Palmer Dabbelt <[email protected]>
Here, I was hoping you'd convert some of the other architectures to use the same code, but the changes you did do look correct. Please at least add the missing bit for big-endian architectures here: +#if !defined(compat_arg_u64) && !defined(CONFIG_CPU_BIG_ENDIAN) +#define compat_arg_u64(name) u32 name##_lo, u32 name##_hi +#define compat_arg_u64_dual(name) u32, name##_lo, u32, name##_hi +#define compat_arg_u64_glue(name) (((u64)name##_hi << 32) | \ + ((u64)name##_lo & 0xffffffffUL)) +#endif with the lo/hi words swapped. With that change: Reviewed-by: Arnd Bergmann <[email protected]>
