2023-05-18 01:18:51 -07:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
2023-05-30 21:39:19 -07:00
|
|
|
#include "scheduler/process.h"
|
|
|
|
|
2023-05-18 01:18:51 -07:00
|
|
|
void InitializePml4(uint64_t pml4_physical_addr);
|
2023-05-18 09:46:41 -07:00
|
|
|
|
2023-05-30 01:27:47 -07:00
|
|
|
uint64_t AllocatePageIfNecessary(uint64_t addr, uint64_t cr3 = 0);
|
2023-05-18 09:46:41 -07:00
|
|
|
void EnsureResident(uint64_t addr, uint64_t size);
|
2023-05-30 01:27:47 -07:00
|
|
|
|
2023-05-30 21:39:19 -07:00
|
|
|
void CopyIntoNonResidentProcess(uint64_t base, uint64_t size,
|
|
|
|
Process& dest_proc, uint64_t dest_virt);
|