# SPDX-License-Identifier: BSD-2-Clause

menu "Generic SBI Support"

config CONSOLE_EARLY_BUFFER_SIZE
	int "Early console buffer size (bytes)"
	default 256

config ZKR_POLL_BUDGET
	int "Zkr seed polling budget (iterations)"
	default 1000
	help
	  Maximum number of iterations to poll CSR_SEED when initializing
	  the stack guard variable. The Zkr specification doesn't define
	  a time limit on transitioning to ES16 between polls, which
	  makes it impossible to tell whether entropy is being
	  accumulated slowly or the entropy source is not functioning.
	  This also limits the wait time on systems with an event-driven
	  entropy source. A successful read doesn't consume a try.

config SBI_ECALL_TIME
	bool "Timer extension"
	default y

config SBI_ECALL_RFENCE
	bool "RFENCE extension"
	default y

config SBI_ECALL_IPI
	bool "IPI extension"
	default y

config SBI_ECALL_HSM
	bool "Hart State Management extension"
	default y

config SBI_ECALL_SRST
	bool "System Reset extension"
	default y

config SBI_ECALL_SUSP
	bool "System Suspend extension"
	default y

config SBI_ECALL_PMU
	bool "Performance Monitoring Unit extension"
	default y

config SBI_ECALL_DBCN
	bool "Debug Console extension"
	default y

config SBI_ECALL_CPPC
	bool "CPPC extension"
	default y

config SBI_ECALL_FWFT
	bool "Firmware Feature extension"
	default y

config SBI_ECALL_LEGACY
	bool "SBI v0.1 legacy extensions"
	default y

config SBI_ECALL_VENDOR
	bool "Platform-defined vendor extensions"
	default y

config SBI_ECALL_DBTR
	bool "Debug Trigger Extension"
	default y

config SBIUNIT
	bool "Enable SBIUNIT tests"
	default n

config SBI_ECALL_SSE
	bool "SSE extension"
	default y

config SBI_ECALL_MPXY
	bool "MPXY extension"
	default y
endmenu
