CONFIG_RISCV_GP
Enable RISC-V global pointer relative addressing
Type: bool
Help
Use global pointer relative addressing for small globals declared
anywhere in the executable. It can benefit performance and reduce
the code size.
Note: To support this feature, RISC-V SoC needs to initialize
global pointer at program start or earlier than any instruction
using GP relative addressing.
Direct dependencies
SOC_SERIES_RISCV32_IT8XXX2 || SOC_SERIES_RISCV_ANDES_V5 || (SOC_GD32VF103 && SOC_SERIES_GD32VF103) || SOC_SERIES_RISCV32_MIV || SOC_SERIES_NEORV32 || SOC_SERIES_RISCV_SIFIVE_FREEDOM || SOC_SERIES_STARFIVE_JH71XX || SOC_SERIES_RISCV_TELINK_B91 || SOC_SERIES_RISCV_VIRT || RISCV
(Includes any dependencies from ifs and menus.)
Defaults
y
y
y
y
y
y
y
y
y
n
Symbols that select this symbol
Kconfig definitions
At <SoC>/riscv/riscv-ite/it8xxx2/Kconfig.defconfig.series:16
Included via Kconfig:8 → Kconfig.zephyr:27 → <SoC>/riscv/riscv-ite/Kconfig.defconfig:4
Menu path: (Top)
config RISCV_GP
bool
default y
depends on SOC_SERIES_RISCV32_IT8XXX2
At <SoC>/riscv/riscv-privilege/andes_v5/Kconfig.defconfig.series:33
Included via Kconfig:8 → Kconfig.zephyr:27 → <SoC>/riscv/riscv-privilege/Kconfig.defconfig:6
Menu path: (Top)
config RISCV_GP
bool
default y
depends on SOC_SERIES_RISCV_ANDES_V5
At <SoC>/riscv/riscv-privilege/gd32vf103/Kconfig.defconfig.gd32vf103:27
Included via Kconfig:8 → Kconfig.zephyr:27 → <SoC>/riscv/riscv-privilege/Kconfig.defconfig:6 → <SoC>/riscv/riscv-privilege/gd32vf103/Kconfig.defconfig.series:6
Menu path: (Top)
config RISCV_GP
bool
default y
depends on SOC_GD32VF103 && SOC_SERIES_GD32VF103
At <SoC>/riscv/riscv-privilege/miv/Kconfig.defconfig.series:20
Included via Kconfig:8 → Kconfig.zephyr:27 → <SoC>/riscv/riscv-privilege/Kconfig.defconfig:6
Menu path: (Top)
config RISCV_GP
bool
default y
depends on SOC_SERIES_RISCV32_MIV
At <SoC>/riscv/riscv-privilege/neorv32/Kconfig.defconfig.series:18
Included via Kconfig:8 → Kconfig.zephyr:27 → <SoC>/riscv/riscv-privilege/Kconfig.defconfig:6
Menu path: (Top)
config RISCV_GP
bool
default y
depends on SOC_SERIES_NEORV32
At <SoC>/riscv/riscv-privilege/sifive-freedom/Kconfig.defconfig.series:20
Included via Kconfig:8 → Kconfig.zephyr:27 → <SoC>/riscv/riscv-privilege/Kconfig.defconfig:6
Menu path: (Top)
config RISCV_GP
bool
default y
depends on SOC_SERIES_RISCV_SIFIVE_FREEDOM
At <SoC>/riscv/riscv-privilege/starfive_jh71xx/Kconfig.defconfig.series:21
Included via Kconfig:8 → Kconfig.zephyr:27 → <SoC>/riscv/riscv-privilege/Kconfig.defconfig:6
Menu path: (Top)
config RISCV_GP
bool
default y
depends on SOC_SERIES_STARFIVE_JH71XX
At <SoC>/riscv/riscv-privilege/telink_b91/Kconfig.defconfig.series:26
Included via Kconfig:8 → Kconfig.zephyr:27 → <SoC>/riscv/riscv-privilege/Kconfig.defconfig:6
Menu path: (Top)
config RISCV_GP
bool
default y
depends on SOC_SERIES_RISCV_TELINK_B91
At <SoC>/riscv/riscv-privilege/virt/Kconfig.defconfig.series:21
Included via Kconfig:8 → Kconfig.zephyr:27 → <SoC>/riscv/riscv-privilege/Kconfig.defconfig:6
Menu path: (Top)
config RISCV_GP
bool
default y
depends on SOC_SERIES_RISCV_VIRT
At <Architecture>/riscv/Kconfig:23
Included via Kconfig:8 → Kconfig.zephyr:39 → <Architecture>/Kconfig:12
Menu path: (Top) → RISCV Options
config RISCV_GP
bool "Enable RISC-V global pointer relative addressing"
default n
depends on RISCV
help
Use global pointer relative addressing for small globals declared
anywhere in the executable. It can benefit performance and reduce
the code size.
Note: To support this feature, RISC-V SoC needs to initialize
global pointer at program start or earlier than any instruction
using GP relative addressing.
(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)