# Copyright (c) 2020 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

choice BACKING_STORE_CHOICE
	prompt "Backing store algorithms"
	default BACKING_STORE_CUSTOM

config BACKING_STORE_CUSTOM
	bool "Custom backing store implementation"
	help
	  This option is chosen when the backing store will be implemented in
	  the application. This will be typical as these tend to be very
	  hardware-dependent.

config BACKING_STORE_RAM
	bool "RAM-based test backing store"
	help
	  This implements a backing store using physical RAM pages that the
	  Zephyr kernel is otherwise unaware of. It is intended for
	  demonstration and testing of the demand paging feature.
endchoice

if BACKING_STORE_RAM
config BACKING_STORE_RAM_PAGES
	int "Number of pages for RAM backing store"
	default 16
	help
	  Number of pages of backing store memory to reserve in RAM. All test
	  cases for demand paging assume that there are at least 16 pages of
	  backing store storage available.

endif # BACKING_STORE_RAM
