blob: 8f2cd089a2138db0581dd7f2080140659cecfa64 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# SPDX-License-Identifier: GPL-2.0-only
config RISCV
def_bool y
select GENERIC_FIND_NEXT_BIT
select GPIOLIB
select OFTREE
select OFDEVICE
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
select HAS_DMA
select ARCH_DMA_DEFAULT_COHERENT
select HAVE_PBL_IMAGE
select HAVE_PBL_MULTI_IMAGES
select HAVE_IMAGE_COMPRESSION
select ARCH_HAS_SJLJ
select HAS_KALLSYMS
select RISCV_TIMER if RISCV_SBI
select HW_HAS_PCI
config ARCH_TEXT_BASE
hex
default 0x0
choice
prompt "Base ISA"
default ARCH_RV32I
config ARCH_RV32I
bool "RV32I"
select CPU_SUPPORTS_32BIT_KERNEL
select GENERIC_LIB_ASHLDI3
select GENERIC_LIB_ASHRDI3
select GENERIC_LIB_LSHRDI3
select 32BIT
config ARCH_RV64I
bool "RV64I"
select CPU_SUPPORTS_64BIT_KERNEL
select 64BIT
endchoice
source "arch/riscv/Kconfig.socs"
config CPU_SUPPORTS_32BIT_KERNEL
bool
config CPU_SUPPORTS_64BIT_KERNEL
bool
config PHYS_ADDR_T_64BIT
bool
config 32BIT
bool
depends on CPU_SUPPORTS_32BIT_KERNEL
config 64BIT
bool
depends on CPU_SUPPORTS_64BIT_KERNEL
select ARCH_DMA_ADDR_T_64BIT
select PHYS_ADDR_T_64BIT
config BOARD_RISCV_GENERIC_DT
select BOARD_GENERIC_DT
bool "Build generic RISC-V device tree 2nd stage image"
help
This enables compilation of a generic image that can be started 2nd
stage from barebox or from qemu. It picks up a device tree passed
in a1 like the Kernel does, so it could be used anywhere where a Kernel
image could be used. The image will be called images/barebox-dt-2nd.img
menu "RISC-V specific settings"
config RISCV_OPTIMZED_STRING_FUNCTIONS
bool "use assembler optimized string functions"
help
Say yes here to use assembler optimized memcpy / memset functions.
These functions work faster than the normal versions but increase
your binary size.
config RISCV_EXCEPTIONS
bool "enable exception handling support"
default y
select ARCH_HAS_DATA_ABORT_MASK
config RISCV_UNWIND
bool "enable stack unwinding support"
select ARCH_HAS_STACK_DUMP
select ARCH_WANT_FRAME_POINTERS
help
This option enables stack unwinding support in barebox
using the information automatically generated by the
compiler. The resulting kernel image is slightly bigger but
the performance is not affected.
config HAS_NMON
bool
config NMON
bool "nmon"
depends on HAS_NMON
depends on DEBUG_LL
help
Say yes here to add the nmon to pbl.
nmon -- nano-monitor program for the RISC-V processors.
It can operate with NO working RAM, using only
the processor registers.
config NMON_HELP
bool "nmon help message"
depends on NMON
help
Say yes here to get the nmon commands message on
every nmon start.
# selected by boards where barebox runs in machine mode
config RISCV_M_MODE
bool
# selected by boards where barebox runs in supervisor mode
config RISCV_S_MODE
bool
config RISCV_MULTI_MODE
def_bool RISCV_S_MODE && RISCV_M_MODE
config RISCV_SBI
def_bool RISCV_S_MODE
endmenu
|