Add the ability to copy memory to non resident process.

Use/Test this by loading the user space elf from the kernel process
before it starts rather than as a part of the first thread.

This simplifies thread start a fair bit.
This commit is contained in:
Drew Galbraith 2023-05-30 01:27:47 -07:00
parent f6609983d2
commit b9b45c5e45
9 changed files with 55 additions and 38 deletions

View file

@ -4,5 +4,8 @@
void InitializePml4(uint64_t pml4_physical_addr);
void AllocatePageIfNecessary(uint64_t addr, uint64_t cr3 = 0);
uint64_t AllocatePageIfNecessary(uint64_t addr, uint64_t cr3 = 0);
void EnsureResident(uint64_t addr, uint64_t size);
void CopyIntoNonResidentProcess(uint64_t base, uint64_t size, uint64_t dest_cr3,
uint64_t dest_virt);