mb/starlabs/{lite_adl,byte_adl}: Don't select MAINBOARD_HAS_TPM2
[coreboot2.git] / src / arch / riscv / Kconfig
blob66c64c2cd36a768e2aed6081ba52115cdf5fbe47
1 ## SPDX-License-Identifier: GPL-2.0-only
3 config ARCH_RISCV_RV64
4         bool
5         select ARCH_RISCV
7 config ARCH_RISCV_RV32
8         bool
9         select ARCH_RISCV
11 config ARCH_RISCV
12         bool
14 if ARCH_RISCV
16 config RISCV_ARCH
17         string
19 config RISCV_ABI
20         string
22 config RISCV_CODEMODEL
23         string
25 config ARCH_RISCV_M_DISABLED
26         bool
28 config ARCH_RISCV_M
29         # Whether a SOC implements M mode.
30         # M mode is the most privileged mode, it is
31         # the equivalent in some ways of x86 SMM mode
32         # save that in M mode it is impossible to turn
33         # on paging.
34         # While the spec requires it, there is at least
35         # one implementation that will not have it due
36         # to security concerns.
37         bool
38         default y if ARCH_RISCV && !ARCH_RISCV_M_DISABLED
39         default n
41 config ARCH_RISCV_S
42         # S (supervisor) mode is for kernels. It is optional.
43         bool
44         default n
46 config RISCV_HAS_OPENSBI
47         def_bool n
49 config RISCV_OPENSBI
50         bool "Use OpenSBI to hand over control to payload"
51         depends on ARCH_RISCV_M && ARCH_RISCV_S
52         depends on RISCV_HAS_OPENSBI
53         default n
54         help
55           Load OpenSBI after payload has been loaded and use it to
56           provide the SBI and to handover control to payload.
58 config OPENSBI_PLATFORM
59         string
60         depends on RISCV_HAS_OPENSBI
61         help
62           The OpenSBI platform to build for.
64 config OPENSBI_TEXT_START
65         hex
66         depends on RISCV_HAS_OPENSBI
67         help
68           The linking address used to build opensbi.
70 config OPENSBI_FW_DYNAMIC_BOOT_HART
71         int
72         default RISCV_WORKING_HARTID
73         help
74           This specifies the hart that OpenSBI will use to boot the payload. If set to
75           value -1, OpenSBI will use a 'lottery' scheme to figure it out itself.
76           This hart must be able to execute in the Supervisor priviledged mode, since
77           that is the mode usually used for the payload. If the hart does not support
78           Supervisor mode OpenSBI will again look for a hart that does support it.
80 config ARCH_RISCV_U
81         # U (user) mode is for programs.
82         bool
83         default n
85 config ARCH_RISCV_PMP
86         bool
87         default n
89 config ARCH_BOOTBLOCK_RISCV
90         bool
91         default n
93 config ARCH_VERSTAGE_RISCV
94         bool
95         default n
97 config ARCH_ROMSTAGE_RISCV
98         bool
99         default n
101 config ARCH_RAMSTAGE_RISCV
102         bool
103         default n
105 config RISCV_USE_ARCH_TIMER
106         bool
107         default n
109 config RISCV_WORKING_HARTID
110         int
112 # Newer SoC have the menvconfig register.
113 # Very few SOC do not have this.
114 # Older SoC, such as the SiFive FU[57]40, that
115 # do not have this register, should set this
116 # to n.
117 config RISCV_SOC_HAS_MENVCFG
118         bool
119         default y
121 endif # if ARCH_RISCV