ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions
MMU.h File Reference

Modeling hardware memory management for virtual memory -> physical memory translation and protection. More...

#include "etiss/mm/PTE.h"
#include "etiss/mm/PageFaultVector.h"
#include "etiss/mm/TLB.h"
#include "etiss/Plugin.h"
Include dependency graph for MMU.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  etiss::mm::MMU
 

Namespaces

namespace  etiss
 forwards: include/jit/*
 
namespace  etiss::mm
 

Macros

#define DEFAULT_PAGE_TABLE_WALKER   -15
 

Functions

int32_t etiss::mm::tlb_miss_handler (int32_t fault, MMU *mmu, uint64_t vma, MM_ACCESS access)
 
void etiss::mm::DUMP_MMU (MMU *mmu)
 

Detailed Description

Modeling hardware memory management for virtual memory -> physical memory translation and protection.

It is oriented for porting OS to ETISS.

Memory Management Unit is the key component to support OS. Modern architectures vote for TLB to speed up virtual memory address (vma) to physical memory address (pma) translation. Since vma to pma could easily become the bottleneck, it is assumed hardware managed TLB is adopted. As for software managed TLB (old design), MMU has to be modified accordingly.

Definition in file MMU.h.

Macro Definition Documentation

◆ DEFAULT_PAGE_TABLE_WALKER

#define DEFAULT_PAGE_TABLE_WALKER   -15

Definition at line 40 of file MMU.h.