-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathKconfig
More file actions
164 lines (129 loc) · 3.71 KB
/
Kconfig
File metadata and controls
164 lines (129 loc) · 3.71 KB
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
mainmenu "FPVM Configuration"
choice
prompt "Target Architecture"
default ARCH_X64
config ARCH_X64
bool "x64"
help
Intel 64 bit with at least SSE
config ARCH_RISCV64
bool "RISC-V (64)"
help
RISC-V 64 bit architecture with at least F and D
endchoice
config HAVE_MAIN
bool "Add a main function"
default n
help
This compiles it with a main function
that can be used for testing without LD_PRELOAD
This is for hacking around on NVM
config USE_NVM
bool "Use NVM"
default n
help
Use the NVM virtual machine for ordinary processing
This is for hacking around on NVM
config ENABLE_NVM_LOGGING
bool "Enable NVM Logging"
depends on USE_NVM
default n
config NO_OUTPUT
bool "Disable output"
default n
config DEBUG
bool "Debug output"
default n
config DEBUG_ALT_ARITH
bool "Debug alternative arithmetic"
default n
config TELEMETRY
bool "Basic telemetry"
default n
help
This will print out basic info that is always recorded
config TELEMETRY_PROMOTIONS
bool "Track promotions and demotions"
depends on TELEMETRY
default n
help
This will include demotion/promotion and
correctness demotions, which currently are more
expensive to track than they should be
config TELEMETRY_PERIOD
depends on TELEMETRY
int "Reporting period"
default 0
help
Number of FP traps between telemetry reports
0 means that reports are generated only at thread end / process end
config PERF_STATS
bool "Performance measurement"
default n
config PERF_STATS_PERIOD
depends on PERF_STATS
int "Reporting period"
default 0
help
Number of FP traps between performance statistics reports
0 means that reports are generated only at thread end / process end
config ENABLE_PULSE_PROFILING
bool "Enable the pulse profiler (throw fpvm.json into https://ui.perfetto.dev/)"
depends on PERF_STATS
default n
config INSTR_TRACES
bool "Instruction tracing and analysis"
default n
config INSTR_TRACES_PERIOD
depends on INSTR_TRACES
int "Reporting period"
default 0
help
Number of FP traps between trace reports
0 means that reports are generated only at thread end / process end
config TRAP_SHORT_CIRCUITING
bool "Trap short-circuiting (kernel support)"
default y
help
Use the FPVM kernel support to do much faster trap delivery
config INSTR_SEQ_EMULATION
bool "Instruction sequence emulation"
default y
help
Emulate as many instructions as possible per trap
config MAGIC_CORRECTNESS_TRAP
bool "Correctness traps via calls (Magic trap)"
default y
help
Add support to deliver correctness traps via
calls. The static binary analysis must also
be configured to use this feature
config KERNEL_SHORT_CIRCUITING
bool "Kernel short-circuiting (currently a nop)"
default n
help
Use user-level trap handling if possible
# Add your own alternative math here
choice
prompt "Alternative number system"
default ALT_MATH_VANILLA
config ALT_MATH_VANILLA
bool "Vanilla"
help
Simply emulate using a normal instruction
Vanilla is always included as a fallback
config ALT_MATH_BOXED_IEEE
bool "Boxed IEEE"
config ALT_MATH_POSIT
bool "POSIT"
config ALT_MATH_MPFR
bool "GNU MPFR"
config MPFR_PRECISION
int "MPFR Precision"
default 200
depends on ALT_MATH_MPFR
config ALT_MATH_EXPR_TRACE
bool "Expression-based thunk tracing"
config ALT_MATH_RATIONAL
bool "Rationals"
endchoice