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:
parent
35ec07dfe0
commit
73a3e05e40
2 changed files with 22 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
/** @} */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue