kernel: add CONFIG_ARCH_HAS_RESERVED_PAGE_FRAMES

We will need this to run on x86 with PC-like hardware.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
Andrew Boie 2020-11-18 13:11:56 -08:00 committed by Anas Nashif
commit 73a3e05e40
2 changed files with 22 additions and 0 deletions

View file

@ -517,6 +517,14 @@ config CPU_HAS_MMU
This hidden option is selected when the CPU has a Memory Management Unit
(MMU).
config ARCH_HAS_RESERVED_PAGE_FRAMES
bool
help
This hidden configuration should be selected by the architecture if
certain RAM page frames need to be marked as reserved and never used for
memory mappings. The architecture will need to implement
arch_reserved_pages_update().
menuconfig MMU
bool "Enable MMU features"
depends on CPU_HAS_MMU

View file

@ -282,6 +282,20 @@ int arch_mem_map(void *dest, uintptr_t addr, size_t size, uint32_t flags);
* @param size Page-aligned region size
*/
void arch_mem_unmap(void *addr, size_t size);
#ifdef CONFIG_ARCH_HAS_RESERVED_PAGE_FRAMES
/**
* Update page frame database with reserved pages
*
* Some page frames within system RAM may not be available for use. A good
* example of this is reserved regions in the first megabyte on PC-like systems.
*
* Implementations of this function should mark all relavent entries in
* z_page_frames with K_PAGE_FRAME_RESERVED. This function is called at
* early system initialization with mm_lock held.
*/
void arch_reserved_pages_update(void);
#endif /* ARCH_HAS_RESERVED_PAGE_FRAMES */
#endif /* CONFIG_MMU */
/** @} */