summaryrefslogtreecommitdiffstats
path: root/arch/riscv/Kconfig
diff options
context:
space:
mode:
authorZong Li2018-03-15 09:50:41 +0100
committerPalmer Dabbelt2018-04-03 05:00:54 +0200
commitab1ef68e54019937cf859f2c86c9ead6f3e62f19 (patch)
tree15fd30ddaaf18d61caf77f8748e291f3802987b5 /arch/riscv/Kconfig
parentLinux 4.16 (diff)
downloadkernel-qcow2-linux-ab1ef68e54019937cf859f2c86c9ead6f3e62f19.tar.gz
kernel-qcow2-linux-ab1ef68e54019937cf859f2c86c9ead6f3e62f19.tar.xz
kernel-qcow2-linux-ab1ef68e54019937cf859f2c86c9ead6f3e62f19.zip
RISC-V: Add sections of PLT and GOT for kernel module
The address of external symbols will locate more than 32-bit offset in 64-bit kernel with sv39 or sv48 virtual addressing. Module loader emits the GOT and PLT entries for data symbols and function symbols respectively. The PLT entry is a trampoline code for jumping to the 64-bit real address. The GOT entry is just the data symbol address. Signed-off-by: Zong Li <zong@andestech.com> Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Diffstat (limited to 'arch/riscv/Kconfig')
-rw-r--r--arch/riscv/Kconfig5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 04807c7f64cc..90ff52059794 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -131,6 +131,10 @@ choice
bool "medium any code model"
endchoice
+config MODULE_SECTIONS
+ bool
+ select HAVE_MOD_ARCH_SPECIFIC
+
choice
prompt "Maximum Physical Memory"
default MAXPHYSMEM_2GB if 32BIT
@@ -141,6 +145,7 @@ choice
bool "2GiB"
config MAXPHYSMEM_128GB
depends on 64BIT && CMODEL_MEDANY
+ select MODULE_SECTIONS if MODULES
bool "128GiB"
endchoice