[FAST486]

Modularize linear memory access by adding two new functions:
Fast486ReadLinearMemory and Fast486WriteLinearMemory.
Implement Fast486GetPageTableEntry.


svn path=/branches/ntvdm/; revision=60923
This commit is contained in:
Aleksandar Andrejevic 2013-11-10 22:27:24 +00:00
parent 7c036fd0f7
commit c3c7bb89c1
6 changed files with 264 additions and 146 deletions

View file

@ -56,6 +56,9 @@
#define PAGE_ALIGN(x) ((x) & 0xFFFFF000)
#define PAGE_OFFSET(x) ((x) & 0x00000FFF)
#define GET_ADDR_PDE(x) ((x) >> 22)
#define GET_ADDR_PTE(x) (((x) >> 12) & 0x3FF)
#define INVALID_TLB_FIELD 0xFFFFFFFF
#ifndef PAGE_SIZE
#define PAGE_SIZE 4096
@ -92,6 +95,8 @@ typedef union _FAST486_PAGE_DIR
ULONG Value;
} FAST486_PAGE_DIR, *PFAST486_PAGE_DIR;
C_ASSERT(sizeof(FAST486_PAGE_DIR) == sizeof(ULONG));
typedef union _FAST486_PAGE_TABLE
{
struct
@ -111,6 +116,8 @@ typedef union _FAST486_PAGE_TABLE
ULONG Value;
} FAST486_PAGE_TABLE, *PFAST486_PAGE_TABLE;
C_ASSERT(sizeof(FAST486_PAGE_DIR) == sizeof(ULONG));
#pragma pack(pop)
/* FUNCTIONS ******************************************************************/