• Palmer Dabbelt's avatar
    RISC-V: Add support for rv32 userspace via COMPAT · 7eb6369d
    Palmer Dabbelt authored
    The RISC-V port supports the rv32i and rv64i base ISAs, but provides no
    mechanism to run 32-bit userspace on 64-bit systems.  This adds that
    support, via the COMPAT framework.  As the RISC-V ISAs (and uABIs) were
    developed concurrently, the resulting compat support is mostly generic.
    
    This includes a handful of cleanups to the generic compat infrastructure
    to more cleanly support RISC-V, followed by the RISC-V implementation.
    
    * palmer/riscv-compat:
      riscv: compat: Add COMPAT Kbuild skeletal support
      riscv: compat: ptrace: Add compat_arch_ptrace implement
      riscv: compat: signal: Add rt_frame implementation
      riscv: compat: vdso: Add setup additional pages implementation
      riscv: compat: vdso: Add COMPAT_VDSO base code implementation
      riscv: compat: Add hw capability check for elf
      riscv: compat: Add elf.h implementation
      riscv: compat: process: Add UXL_32 support in start_thread
      riscv: compat: syscall: Add entry.S implementation
      riscv: compat: syscall: Add compat_sys_call_table implementation
      riscv: compat: Support TASK_SIZE for compat mode
      riscv: compat: Add basic compat data type implementation
      riscv: Fixup difference with defconfig
      syscalls: compat: Fix the missing part for __SYSCALL_COMPAT
      asm-generic: compat: Cleanup duplicate definitions
      fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT
      arch: Add SYSVIPC_COMPAT for all architectures
      compat: consolidate the compat_flock{,64} definition
      uapi: always define F_GETLK64/F_SETLK64/F_SETLKW64 in fcntl.h
      uapi: simplify __ARCH_FLOCK{,64}_PAD a little
    7eb6369d
Makefile 4.7 KB