riscv: Introduce a Kconfig option for machine mode
[platform/kernel/u-boot.git] / arch / riscv / Kconfig
1 menu "RISC-V architecture"
2         depends on RISCV
3
4 config SYS_ARCH
5         default "riscv"
6
7 choice
8         prompt "Target select"
9         optional
10
11 config TARGET_AX25_AE350
12         bool "Support ax25-ae350"
13
14 config TARGET_QEMU_VIRT
15         bool "Support QEMU Virt Board"
16
17 endchoice
18
19 # board-specific options below
20 source "board/AndesTech/ax25-ae350/Kconfig"
21 source "board/emulation/qemu-riscv/Kconfig"
22
23 # platform-specific options below
24 source "arch/riscv/cpu/ax25/Kconfig"
25
26 # architecture-specific options below
27
28 choice
29         prompt "Base ISA"
30         default ARCH_RV32I
31
32 config ARCH_RV32I
33         bool "RV32I"
34         select 32BIT
35         help
36           Choose this option to target the RV32I base integer instruction set.
37
38 config ARCH_RV64I
39         bool "RV64I"
40         select 64BIT
41         select PHYS_64BIT
42         help
43           Choose this option to target the RV64I base integer instruction set.
44
45 endchoice
46
47 choice
48         prompt "Code Model"
49         default CMODEL_MEDLOW
50
51 config CMODEL_MEDLOW
52         bool "medium low code model"
53         help
54           U-Boot and its statically defined symbols must lie within a single 2 GiB
55           address range and must lie between absolute addresses -2 GiB and +2 GiB.
56
57 config CMODEL_MEDANY
58         bool "medium any code model"
59         help
60           U-Boot and its statically defined symbols must be within any single 2 GiB
61           address range.
62
63 endchoice
64
65 choice
66         prompt "Run Mode"
67         default RISCV_MMODE
68
69 config RISCV_MMODE
70         bool "Machine"
71         help
72           Choose this option to build U-Boot for RISC-V M-Mode.
73
74 config RISCV_SMODE
75         bool "Supervisor"
76         help
77           Choose this option to build U-Boot for RISC-V S-Mode.
78
79 endchoice
80
81 config RISCV_ISA_C
82         bool "Emit compressed instructions"
83         default y
84         help
85           Adds "C" to the ISA subsets that the toolchain is allowed to emit
86           when building U-Boot, which results in compressed instructions in the
87           U-Boot binary.
88
89 config RISCV_ISA_A
90         def_bool y
91
92 config 32BIT
93         bool
94
95 config 64BIT
96         bool
97
98 endmenu