The latest development version of this page may be more current than this released 2.7.5 version.

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_RISCV_ANDES_V5 || SOC_SERIES_RISCV32_MIV || 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

  • n

Symbols that select this symbol

Kconfig definitions

At soc/riscv/riscv-privilege/andes_v5/Kconfig.defconfig.series:33

Included via Kconfig:8Kconfig.zephyr:27soc/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/miv/Kconfig.defconfig.series:20

Included via Kconfig:8Kconfig.zephyr:27soc/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/sifive-freedom/Kconfig.defconfig.series:20

Included via Kconfig:8Kconfig.zephyr:27soc/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:8Kconfig.zephyr:27soc/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:8Kconfig.zephyr:27soc/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:8Kconfig.zephyr:27soc/riscv/riscv-privilege/Kconfig.defconfig:6

Menu path: (Top)

config RISCV_GP
    bool
    default y
    depends on SOC_SERIES_RISCV_VIRT

At arch/riscv/Kconfig:23

Included via Kconfig:8Kconfig.zephyr:39arch/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.)