![]() |
RZ Flexible Software Package Documentation
Release v4.0.0
|
|
Interface for Memory Managing Unit(MMU) functions.
The MMU interface provides functions for initializing and modifying virtual memory page tables.
Classes | |
| struct | st_mmu_cfg |
| struct | st_mmu_api |
| struct | st_mmu_instance |
Typedefs | |
| typedef struct st_mmu_table_info | mmu_table_info_t |
| typedef struct st_mmu_section_info | mmu_section_info_t |
| typedef struct st_mmu_cfg | mmu_cfg_t |
| typedef void | mmu_ctrl_t |
| typedef struct st_mmu_api | mmu_api_t |
| typedef struct st_mmu_instance | mmu_instance_t |
| struct RZA::st_mmu_cfg |
Page table configuration data for loading by R_MMU_Open()
| Class Members | ||
|---|---|---|
| const void * | p_extend | Pointer to hardware extend configuration. |
| struct RZA::st_mmu_api |
MMU driver structure. MMU functions implemented at the HAL layer will follow this API.
Public Attributes | |
| fsp_err_t(* | open )(mmu_ctrl_t *const p_ctrl, const mmu_cfg_t *p_cfg) |
| fsp_err_t(* | close )(mmu_ctrl_t *const p_ctrl) |
| fsp_err_t(* | allocateTable )(mmu_ctrl_t *const p_ctrl, uint32_t table_level, uint64_t table_base_ptr) |
| fsp_err_t(* | writeTableLink )(mmu_ctrl_t *const p_ctrl, mmu_table_info_t *p_table_info, uint64_t vaddress, uint64_t next_table_base_ptr) |
| fsp_err_t(* | writeTable )(mmu_ctrl_t *const p_ctrl, mmu_table_info_t *p_table_info, mmu_section_info_t *p_section_info) |
| fsp_err_t(* | writeTableFault )(mmu_ctrl_t *const p_ctrl, mmu_table_info_t *p_table_info, mmu_section_info_t *p_section_info) |
| fsp_err_t(* open) (mmu_ctrl_t *const p_ctrl, const mmu_cfg_t *p_cfg) |
Initialize internal driver data. Called during startup. Do not call this API during runtime.
| [in] | p_ctrl | Pointer to control structure. |
| [in] | p_cfg | Pointer to page table configuration data. |
| fsp_err_t(* close) (mmu_ctrl_t *const p_ctrl) |
Close the API.
| [in] | p_ctrl | Pointer to control structure. |
| fsp_err_t(* allocateTable) (mmu_ctrl_t *const p_ctrl, uint32_t table_level, uint64_t table_base_ptr) |
Initialize buffer for new page table region.
| [in] | p_ctrl | Pointer to control structure. |
| [in] | table_level | MMU page table level. |
| [in] | table_base_ptr | buffer address. |
| fsp_err_t(* writeTableLink) (mmu_ctrl_t *const p_ctrl, mmu_table_info_t *p_table_info, uint64_t vaddress, uint64_t next_table_base_ptr) |
Write page table entries as next page table link.
| [in] | p_ctrl | Pointer to control structure. |
| [in] | p_table_info | Page table information. |
| [in] | vaddress | Base virtual address of page table. |
| [in] | next_table_base_adder | Pointer to page table buffer. |
| fsp_err_t(* writeTable) (mmu_ctrl_t *const p_ctrl, mmu_table_info_t *p_table_info, mmu_section_info_t *p_section_info) |
Fill page table entries with specified attribute.
| [in] | p_ctrl | Pointer to control structure. |
| [in] | p_table_info | Page table information. |
| [in] | p_section_info | Section descripter information. |
| fsp_err_t(* writeTableFault) (mmu_ctrl_t *const p_ctrl, mmu_table_info_t *p_table_info, mmu_section_info_t *p_section_info) |
Fill page table entries with acccess fault attribute.
| [in] | p_ctrl | Pointer to control structure. |
| [in] | p_table_info | Page table information. |
| [in] | p_section_info | Section descripter information. |
| struct RZA::st_mmu_instance |
This structure encompasses everything that is needed to use an instance of this interface.
| Class Members | ||
|---|---|---|
| mmu_ctrl_t * | p_ctrl | Pointer to the control structure for this instance. |
| mmu_cfg_t const * | p_cfg | Pointer to the configuration structure for this instance. |
| mmu_api_t const * | p_api | Pointer to the API structure for this instance. |
| typedef struct st_mmu_table_info mmu_table_info_t |
Please refer to the struct st_mmu_table_info.
| typedef struct st_mmu_section_info mmu_section_info_t |
Please refer to the struct st_mmu_section_info.
| typedef struct st_mmu_cfg mmu_cfg_t |
Page table configuration data for loading by R_MMU_Open() Please refer to the struct st_mmu_cfg.
| typedef void mmu_ctrl_t |
MMU control block. Allocate an instance specific control block to pass into the MMU API calls.
| typedef struct st_mmu_api mmu_api_t |
MMU driver structure. MMU functions implemented at the HAL layer will follow this API. Please refer to the struct st_mmu_api.
| typedef struct st_mmu_instance mmu_instance_t |
This structure encompasses everything that is needed to use an instance of this interface. Please refer to the struct st_mmu_instance.