config ERRMEM
	bool "Error Memory"
	default n
	help
	  Say Y here to get the error memory driver. The error memory
	  collects console messages and messages written to the
	  /dev/errmem. The error memory is persistent through a
	  reboot. After a reboot, previous messages can be read from
	  /dev/errmem.

config ERRMEM_ADDRESS
	hex "Error memory address"
	default 0x00000000
	depends on ERRMEM
	help
	  Set this value to allocate the error memory at a predefined
	  RAM location. This value is overwritten if CONFIG_OF is enabled.

config ERRMEM_SIZE
	hex "Error memory size"
	default 0x00100000
	depends on ERRMEM
	help
	  Set this value to allocate the error memory with the given
	  size. This value is overwritten if CONFIG_OF is enabled.

config ERRMEM_DEFAULT_LOG_FILTER
	int "Kernel log level filtering"
	default 2
	depends on ERRMEM
	help
	  This defines the filter log level used by default for the console.
	  The default value is set to 2:KERN_CRIT. No kernel logs beyond
	  this level will be received nor stored by the error memory.
	  If you don't know what to do, keep the default.

config ERRMEM_USE_SHARED_MEMORY
	bool "Error memory uses shared memory on virtualized system"
	default n
	depends on ERRMEM && GHS_VMM
	help
	  By default this value should not be enabled for non virtualized
	  system. This values specifies if the driver ring buffer is shared
	  between the virtual machines. If you don't know what to do, keep the
	  default.

config ERRMEM_CAN_READ
	bool "Error memory can read the buffer"
	default n
	depends on ERRMEM_USE_SHARED_MEMORY
	help
	  This value specifies if the driver is the one who can read the lockless
	  ring buffer on shared hardware. Keep the default value if there is only
	  one driver running on your hardware. If you don't know what to do,
	  keep the default.

config ERRMEM_OWNER_ID
	hex "Error memory owner ID"
	default 0x02
	depends on ERRMEM_USE_SHARED_MEMORY
	help
	  This value is used to define the owner of the lockless ring buffer
	  slots. The driver will avoid to modify slots that are currently being
	  modified if it does not owned them. ERRMEM_OWNER_ID value 0 and 1 are
	  reserved for non-virtualized system and VM master or Integrity
	  respectively. If you don't know what to do, keep the default.

config ERRMEM_HANDLE_HYPERVISOR_LOGS
	bool "Error memory reads logs from a buffer given by the hypervisor"
	default n
	depends on ERRMEM && OF && GHS_VMM
	help
	  By default this value should not be enabled for non virtualized
	  system. This value specifies if the driver can read a specific
	  area where the hypervisor stores internal logs. The area were to read
	  the logs is specified by the device tree. If you don't know what
	  to do, keep the default.

config ERRMEM_MEM_INIT_TYPE
	hex "Error memory initialization type"
	default 0x2
	depends on ERRMEM
	help
	  Describes the way the driver must initialize the memory.
	  0 - full: The memory is fully validated
	  1 - partial: The memory between rd and wr is validated, any other
	      slot validation is destroyed on first write or validated on first
	      read.
	  2 - lazy: Any slot is destroyed on first write, or validated on first
	      read.
