|
Kernelite 0.1.0
Kernelite is a minimalist, educational operating system kernel built from scratch. The project aims to recreate core components of the Linux architecture to explore the fundamentals of operating system design and hardware-software interaction.
|
Flat, architecturally stable AArch64 Stage 1 Descriptor structure. More...
#include <page_table.h>

Data Fields | ||
| uint64_t | value | |
| Raw 64-bit integer presentation of the full descriptor. Useful for atomic page table writes or direct register assignments. | ||
| struct { | ||
| uint64_t valid: 1 | ||
| uint64_t type: 1 | ||
| uint64_t rest: 62 | ||
| } | generic | |
| Raw hardware bits used for quick validity and node type assessment. | ||
| table_desc_t | table_desc | |
| full descriptor. | ||
| page_desc_t | page_desc | |
| Structured layout for block mappings (L1/L2) or page mappings (L3). Maps physical memory output windows directly. | ||
Flat, architecturally stable AArch64 Stage 1 Descriptor structure.
This union maps a standard 64-bit ARMv8/ARMv9 translation table descriptor. By avoiding nested internal anonymous unions and leveraging flattened structural representations, it guarantees exact 8-byte compilation across GCC and Clang toolchains without unintended alignment padding.
| struct { ... } page_table_entry_t::generic |
Raw hardware bits used for quick validity and node type assessment.
| uint64_t page_table_entry_t::rest |
[63:2] Untouched bits representing remaining descriptor space.
| page_table_entry_t::table_desc |
full descriptor.
Used for quick checks without needing to interpret the
Structured layout for translation table descriptors (Levels 0, 1, or 2). Points to the base address of the next-level lookup table frame.
| uint64_t page_table_entry_t::type |
[1] Descriptor Type block bit. 1 = Table/Page, 0 = Block/Reserved.
| uint64_t page_table_entry_t::valid |
[0] Valid descriptor bit. 1 = Active, 0 = Fault on access.
| page_table_entry_t::value |
Raw 64-bit integer presentation of the full descriptor. Useful for atomic page table writes or direct register assignments.