550W Document
550W, a high-end OS
|
#include <asm/pgtable.h>
#include <asm/sbi.h>
#include <common/elf.h>
#include <drivers/screen/screen.h>
#include <lib/assert.h>
#include <lib/math.h>
#include <os/mm.h>
#include <os/pcb.h>
#include <os/smp.h>
类 | |
struct | shm |
宏定义 | |
#define | MAXPAGES 1000 |
#define | STARTPAGE 30 |
函数 | |
PTE * | k_mm_get_kva (PTE entry) |
void | k_mm_getback_page (int pid) |
void | k_mm_move_to_disk (uint64_t pg_kva, uint64_t user_va) |
void | k_mm_get_back_disk (uint64_t user_va, uint64_t new_addr) |
void | k_mm_en_invalid (uint64_t va, PTE *pgdir) |
ptr_t | k_mm_alloc_mem (int numPage, uint64_t user_va) |
ptr_t | k_mm_alloc_page (int numPage) |
void | k_mm_free_page (ptr_t baseAddr, int numPage) |
void * | k_mm_malloc (size_t size) |
uint64_t | k_mm_alloc_newva () |
long | k_mm_shm_page_get (int key) |
long | k_mm_shm_page_dt (uintptr_t addr) |
void | k_mm_share_pgtable (PTE *dest_pgdir, PTE *src_pgdir) |
void | k_mm_fork_pgtable (PTE *dest_pgdir, PTE *src_pgdir) |
void | k_mm_fork_page_helper (uintptr_t va, PTE *destpgdir, PTE *srcpgdir) |
uintptr_t | k_mm_alloc_page_helper (uintptr_t va, PTE *pgdir) |
uint64_t | k_mm_get_kva_from_va (uint64_t va, PTE *pgdir) |
long | k_mm_getpa (uint64_t va) |
void | k_mm_map_kp (uint64_t va, uint64_t pa, PTE *pgdir) |
void | map_fs_space () |
void | k_mm_map (uint64_t va, uint64_t pa, PTE *pgdir) |
void | k_mm_cancel_pg (PTE *pgdir) |
uint32_t | check_page_map (uintptr_t vta, uintptr_t pgdir) |
uintptr_t | free_page_helper (uintptr_t va, uintptr_t pgdir) |
long | sys_brk (unsigned long brk) |
变量 | |
ptr_t | memCurr = FREEMEM |
ptr_t | k_mem = FREEMEMK |
int | diskpg_num = 0 |
int | freepg_num = 0 |
uint64_t | diskpg [1000] |
uint64_t | freepg [1000] |
uint64_t | allpg [20][MAXPAGES] |
uint64_t | allmem [20][MAXPAGES] |
uint64_t | alluserva [20][100] |
int | shm_num = 0 |
struct shm | shm_all [10] |
#define MAXPAGES 1000 |
#define STARTPAGE 30 |
ptr_t k_mm_alloc_mem | ( | int | numPage, |
uint64_t | user_va | ||
) |
uint64_t k_mm_alloc_newva | ( | ) |
ptr_t k_mm_alloc_page | ( | int | numPage | ) |
void k_mm_cancel_pg | ( | PTE * | pgdir | ) |
void k_mm_en_invalid | ( | uint64_t | va, |
PTE * | pgdir | ||
) |
void k_mm_free_page | ( | ptr_t | baseAddr, |
int | numPage | ||
) |
void k_mm_get_back_disk | ( | uint64_t | user_va, |
uint64_t | new_addr | ||
) |
uint64_t k_mm_get_kva_from_va | ( | uint64_t | va, |
PTE * | pgdir | ||
) |
void k_mm_getback_page | ( | int | pid | ) |
long k_mm_getpa | ( | uint64_t | va | ) |
void* k_mm_malloc | ( | size_t | size | ) |
void k_mm_map | ( | uint64_t | va, |
uint64_t | pa, | ||
PTE * | pgdir | ||
) |
void k_mm_map_kp | ( | uint64_t | va, |
uint64_t | pa, | ||
PTE * | pgdir | ||
) |
void k_mm_move_to_disk | ( | uint64_t | pg_kva, |
uint64_t | user_va | ||
) |
long k_mm_shm_page_dt | ( | uintptr_t | addr | ) |
long k_mm_shm_page_get | ( | int | key | ) |
void map_fs_space | ( | ) |
long sys_brk | ( | unsigned long | brk | ) |
uint64_t allmem[20][MAXPAGES] |
uint64_t allpg[20][MAXPAGES] |
uint64_t alluserva[20][100] |
uint64_t diskpg[1000] |
int diskpg_num = 0 |
uint64_t freepg[1000] |
int freepg_num = 0 |
struct shm shm_all[10] |
int shm_num = 0 |