FreeNOS
|
#include <FreeNOS/System.h>
#include "ARMCore.h"
#include "ARMConstant.h"
#include "ARMSecondTable.h"
Go to the source code of this file.
Macros | |
#define | PAGE2_NONE (0) |
#define | PAGE2_PRESENT (1 << 1) |
#define | TABENTRY(vaddr) (((vaddr) >> PAGESHIFT) & 0xff) |
Entry inside the page table of a given virtual address. More... | |
Second Level Memory Types | |
Inner cache: local L1 cache for one core. Outer cache: shared L2 cache for a subset of multiple cores. Write-Back cache: sync cache data later, let host continue immediately (faster). Write-Through cache: sync cache and RAM simulatously (slower). Allocate-On-Write: Each write claims a cache entry. No-Allocate-On-Write: Write do no claim a cache entry, only write the RAM directly. | |
#define | PAGE2_UNCACHED (PAGE2_TEX) |
Disable all caching. More... | |
#define | PAGE2_CACHE_WRITEBACK (PAGE2_TEX | PAGE2_CACHE | PAGE2_BUFFER) |
Outer and Inner Write-Back. More... | |
#define | PAGE2_CACHE_WRITETHROUGH (PAGE2_CACHE) |
Outer and Inner Write-Through. More... | |
#define | PAGE2_DEVICE_PRIV ((1 << 7)) |
Memory Mapped Device (Private) More... | |
#define | PAGE2_DEVICE_SHARED (PAGE2_BUFFER) |
Memory Mapped Device (Shared) More... | |
#define | PAGE2_TEX (1 << 6) |
#define | PAGE2_CACHE (1 << 3) |
#define | PAGE2_BUFFER (1 << 2) |
#define | PAGE2_SHARED (1 << 10) |
Access permission flags | |
#define | PAGE2_NOEXEC (1 << 0) |
No-execute bit flag. More... | |
#define | PAGE2_APX (1 << 9) |
#define | PAGE2_AP_USER (1 << 5) |
#define | PAGE2_AP_SYS (1 << 4) |
#define PAGE2_AP_SYS (1 << 4) |
Definition at line 91 of file ARMSecondTable.cpp.
#define PAGE2_AP_USER (1 << 5) |
Definition at line 88 of file ARMSecondTable.cpp.
#define PAGE2_APX (1 << 9) |
Definition at line 85 of file ARMSecondTable.cpp.
#define PAGE2_BUFFER (1 << 2) |
Definition at line 69 of file ARMSecondTable.cpp.
#define PAGE2_CACHE (1 << 3) |
Definition at line 68 of file ARMSecondTable.cpp.
#define PAGE2_CACHE_WRITEBACK (PAGE2_TEX | PAGE2_CACHE | PAGE2_BUFFER) |
#define PAGE2_CACHE_WRITETHROUGH (PAGE2_CACHE) |
Outer and Inner Write-Through.
No allocate on write.
Definition at line 59 of file ARMSecondTable.cpp.
#define PAGE2_DEVICE_PRIV ((1 << 7)) |
Memory Mapped Device (Private)
Definition at line 62 of file ARMSecondTable.cpp.
#define PAGE2_DEVICE_SHARED (PAGE2_BUFFER) |
Definition at line 65 of file ARMSecondTable.cpp.
#define PAGE2_NOEXEC (1 << 0) |
No-execute bit flag.
Definition at line 82 of file ARMSecondTable.cpp.
#define PAGE2_NONE (0) |
Definition at line 35 of file ARMSecondTable.cpp.
#define PAGE2_PRESENT (1 << 1) |
Definition at line 36 of file ARMSecondTable.cpp.
#define PAGE2_SHARED (1 << 10) |
Definition at line 70 of file ARMSecondTable.cpp.
#define PAGE2_TEX (1 << 6) |
Definition at line 67 of file ARMSecondTable.cpp.
#define PAGE2_UNCACHED (PAGE2_TEX) |
Disable all caching.
Definition at line 53 of file ARMSecondTable.cpp.
#define TABENTRY | ( | vaddr | ) | (((vaddr) >> PAGESHIFT) & 0xff) |
Entry inside the page table of a given virtual address.
vaddr | Virtual Address. |
Definition at line 104 of file ARMSecondTable.cpp.