|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include "phys_window.h"#include "autoconf.h"#include <hal/cpu/paging.h>#include <libk/serial.h>#include <memory/vm_manager.h>Go to the source code of this file.
Functions | |
| void | paging_physwindow_mmap (page_t page_dir, uint64_t virt, uint64_t phys, int flags) |
| mem_physwindow_t * | mem_resolve_physwindow (uintptr_t virt_addr) |
| resolve a physical memory window by virtual address | |
| mem_physwindow_status_t | mem_create_physwindow (uintptr_t phys_addr, uintptr_t *virt_addr, mem_physwindow_flag_t flag) |
| mem_physwindow_status_t | mem_release_physwindow (uintptr_t virt_addr) |
Variables | |
| static mem_physwindow_t | physical_memory_windows [VOXIA_PHYS_MAX_WINDOW_COUNT] |
| mem_physwindow_status_t mem_create_physwindow | ( | uintptr_t | phys_addr, |
| uintptr_t * | virt_addr, | ||
| mem_physwindow_flag_t | flag ) |
Definition at line 28 of file phys_window.c.
References lock, mem_vma_phys_window_start, paging_get_highest_page_map(), paging_physwindow_mmap(), phys_addr, PHYS_WINDOW_FLAG_LOCK, PHYS_WINDOW_FLAG_READ, PHYS_WINDOW_FLAG_WRITE, PHYS_WINDOW_STATUS_NOT_FOUND, PHYS_WINDOW_STATUS_OK, physical_memory_windows, and serial_trace.
Referenced by paging_create_page_directory(), paging_debug(), paging_setup(), paging_unmap_page(), and vxMmap().
| mem_physwindow_status_t mem_release_physwindow | ( | uintptr_t | virt_addr | ) |
Definition at line 60 of file phys_window.c.
References PHYS_WINDOW_STATUS_NOT_FOUND, PHYS_WINDOW_STATUS_OK, physical_memory_windows, and serial_trace.
Referenced by paging_debug(), paging_setup(), paging_unmap_page(), and vxMmap().
| mem_physwindow_t * mem_resolve_physwindow | ( | uintptr_t | virt_addr | ) |
resolve a physical memory window by virtual address
| virt_addr | the virtual address of the physical memory window |
Definition at line 18 of file phys_window.c.
References physical_memory_windows.
References flags.
Referenced by mem_create_physwindow().
|
static |
Definition at line 7 of file phys_window.c.
Referenced by mem_create_physwindow(), mem_release_physwindow(), and mem_resolve_physwindow().