1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:07:43 +00:00

Kernel: Move userspace virtual address range base to 0x10000

Now that the shared bottom 2 MiB virtual address mappings are gone
userspace can use lower virtual addresses.
This commit is contained in:
Idan Horowitz 2021-12-19 19:36:42 +02:00 committed by Brian Gianforcaro
parent fccd0432a1
commit 5f4a67434c
7 changed files with 18 additions and 4 deletions

View file

@ -333,6 +333,7 @@ UNMAP_AFTER_INIT void APIC::setup_ap_boot_environment()
// * aps_to_enable u32 values for ap_cpu_init_stacks
// * aps_to_enable u32 values for ap_cpu_init_processor_info_array
constexpr u64 apic_startup_region_base = 0x8000;
VERIFY(apic_startup_region_base + apic_ap_start_size < USER_RANGE_BASE);
auto apic_startup_region = create_identity_mapped_region(PhysicalAddress(apic_startup_region_base), Memory::page_round_up(apic_ap_start_size + (2 * aps_to_enable * sizeof(u32))));
memcpy(apic_startup_region->vaddr().as_ptr(), reinterpret_cast<const void*>(apic_ap_start), apic_ap_start_size);