|
AquilaOS documentation
How it works, and its code
|
#include <core/system.h>Go to the source code of this file.
Macros | |
| #define | ARCH_DMAP_BASE (0xFFFF000000000000ULL) |
| #define | ARCH_KVMEM_BASE (0xFFFF800000000000ULL) |
| #define | ARCH_KVMEM_SIZE (1ULL << 30) |
| #define | ARCH_SLAB_BASE (0xFFFF900000000000ULL) |
| #define | ARCH_SLAB_SIZE (16ULL << 30) |
| #define | ARCH_MMIO_BASE (0xFFFFA00000000000ULL) |
| #define | ARCH_MMIO_SIZE (64ULL << 30) |
| #define | ARCH_BOOT_MAPPED (4ULL << 30) |
| #define | PHYS2VIRT(paddr) |
| #define | __VMA_ADD(obj, op) |
| #define | __VMA_TYPED(obj, op) |
| #define | VMA(obj) |
| #define | LMA(obj) |
Typedefs | |
| typedef uint64_t | paddr_t |
| typedef uint64_t | vaddr_t |
Functions | |
| static void | tlb_flush (void) |
| Flushes every translation from this CPU's TLB. | |
Variables | |
| char | _VMA |
| #define __VMA_ADD | ( | obj, | |
| op ) |
| #define __VMA_TYPED | ( | obj, | |
| op ) |
| #define ARCH_BOOT_MAPPED (4ULL << 30) |
Definition at line 23 of file mm.h.
Referenced by boot_mem_place(), pmap_init(), and switch_to_higher_half().
| #define ARCH_DMAP_BASE (0xFFFF000000000000ULL) |
Definition at line 14 of file mm.h.
Referenced by arch_stack_trace(), pmap_add(), and pmap_init().
| #define ARCH_KVMEM_BASE (0xFFFF800000000000ULL) |
Definition at line 15 of file mm.h.
Referenced by kvmem_setup().
| #define ARCH_KVMEM_SIZE (1ULL << 30) |
Definition at line 16 of file mm.h.
Referenced by kvmem_setup().
| #define ARCH_MMIO_BASE (0xFFFFA00000000000ULL) |
Definition at line 19 of file mm.h.
Referenced by window_map(), and window_map().
| #define ARCH_MMIO_SIZE (64ULL << 30) |
Definition at line 20 of file mm.h.
Referenced by window_map(), and window_map().
| #define ARCH_SLAB_BASE (0xFFFF900000000000ULL) |
Definition at line 17 of file mm.h.
Referenced by slab_owns(), slab_page_alloc(), and slab_page_free().
| #define ARCH_SLAB_SIZE (16ULL << 30) |
Definition at line 18 of file mm.h.
Referenced by slab_owns().
| #define LMA | ( | obj | ) |
Definition at line 37 of file mm.h.
Referenced by boot_left(), buddy_setup(), dma_transfer(), and pmap_init().
| #define PHYS2VIRT | ( | paddr | ) |
Definition at line 26 of file mm.h.
Referenced by ap_boot(), arch_phys_map(), fdt_boot(), pmap_page_copy(), pmap_page_read(), pmap_page_write(), sigcode_in(), table(), table(), table(), tables_build(), and x86_smp_init().
| #define VMA | ( | obj | ) |
Definition at line 36 of file mm.h.
Referenced by acpi_rsdp(), arch_idle(), arch_thread_kill(), build_multiboot_modules(), mm_boot_alloc(), process_multiboot_info(), x86_ap_start(), x86_bootstrap(), and x86_cpu_init().
|
inlinestatic |
Flushes every translation from this CPU's TLB.
Definition at line 43 of file mm.h.
References tlb_flush().
Referenced by arch_lock_taken(), flush(), pmap_init(), pmap_switch(), and tlb_flush().
|
extern |