Skip to content
Permalink
Browse files
riscv: compat: Add COMPAT Kbuild skeletal support
Adds initial skeletal COMPAT Kbuild (Runing 32bit U-mode on 64bit
S-mode) support.
 - Setup kconfig & dummy functions for compiling.
 - Implement compat_start_thread by the way.

Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Signed-off-by: Guo Ren <guoren@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
guoren83 committed Jan 20, 2022
1 parent e4d0ec9 commit ca6210b52caef524df951e60ec5bc09fb3196017
Showing 1 changed file with 19 additions and 0 deletions.
@@ -73,6 +73,7 @@ config RISCV
select HAVE_ARCH_KGDB if !XIP_KERNEL
select HAVE_ARCH_KGDB_QXFER_PKT
select HAVE_ARCH_MMAP_RND_BITS if MMU
select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
select HAVE_ARCH_SECCOMP_FILTER
select HAVE_ARCH_TRACEHOOK
select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT && MMU
@@ -123,12 +124,18 @@ config ARCH_MMAP_RND_BITS_MIN
default 18 if 64BIT
default 8

config ARCH_MMAP_RND_COMPAT_BITS_MIN
default 8

# max bits determined by the following formula:
# VA_BITS - PAGE_SHIFT - 3
config ARCH_MMAP_RND_BITS_MAX
default 24 if 64BIT # SV39 based
default 17

config ARCH_MMAP_RND_COMPAT_BITS_MAX
default 17

# set if we run in machine mode, cleared if we run in supervisor mode
config RISCV_M_MODE
bool
@@ -428,6 +435,18 @@ config CRASH_DUMP

For more details see Documentation/admin-guide/kdump/kdump.rst

config COMPAT
bool "Kernel support for 32-bit U-mode"
default 64BIT
depends on 64BIT && MMU
help
This option enables support for a 32-bit U-mode running under a 64-bit
kernel at S-mode. riscv32-specific components such as system calls,
the user helper functions (vdso), signal rt_frame functions and the
ptrace interface are handled appropriately by the kernel.

If you want to execute 32-bit userspace applications, say Y.

endmenu

menu "Boot options"

0 comments on commit ca6210b

Please sign in to comment.