mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-26 01:20:25 +00:00
Kernel: Make sure super pages are in the first 16MiB of physical memory
This was broken by recent changes.
This commit is contained in:
parent
e01cc39eed
commit
a364f5c7b7
Notes:
sideshowbarker
2024-07-18 08:45:27 +09:00
Author: https://github.com/gunnarbeutner Commit: https://github.com/SerenityOS/serenity/commit/a364f5c7b77 Pull-request: https://github.com/SerenityOS/serenity/pull/8879
3 changed files with 15 additions and 0 deletions
|
@ -300,6 +300,9 @@ UNMAP_AFTER_INIT void MemoryManager::parse_memory_map()
|
|||
m_user_physical_regions.append(PhysicalRegion::try_create(range.lower, range.upper).release_nonnull());
|
||||
}
|
||||
|
||||
// Super pages are guaranteed to be in the first 16MB of physical memory
|
||||
VERIFY(virtual_to_low_physical((FlatPtr)super_pages) + sizeof(super_pages) < 0x1000000);
|
||||
|
||||
// Append statically-allocated super physical physical_region.
|
||||
m_super_physical_regions.append(PhysicalRegion::try_create(
|
||||
PhysicalAddress(virtual_to_low_physical(FlatPtr(super_pages))),
|
||||
|
|
|
@ -4,6 +4,7 @@ KERNEL_VIRTUAL_BASE = 0x2000000000;
|
|||
|
||||
PHDRS
|
||||
{
|
||||
boot_bss PT_LOAD ;
|
||||
text PT_LOAD ;
|
||||
data PT_LOAD ;
|
||||
bss PT_LOAD ;
|
||||
|
@ -16,6 +17,11 @@ SECTIONS
|
|||
|
||||
start_of_kernel_image = .;
|
||||
|
||||
.boot_bss ALIGN(4K) (NOLOAD) : AT (ADDR(.boot_bss) - KERNEL_VIRTUAL_BASE)
|
||||
{
|
||||
*(.super_pages)
|
||||
} :boot_bss
|
||||
|
||||
.text ALIGN(4K) : AT (ADDR(.text) - KERNEL_VIRTUAL_BASE)
|
||||
{
|
||||
start_of_kernel_text = .;
|
||||
|
|
|
@ -4,6 +4,7 @@ KERNEL_VIRTUAL_BASE = 0xc0000000;
|
|||
|
||||
PHDRS
|
||||
{
|
||||
boot_bss PT_LOAD ;
|
||||
text PT_LOAD ;
|
||||
data PT_LOAD ;
|
||||
bss PT_LOAD ;
|
||||
|
@ -16,6 +17,11 @@ SECTIONS
|
|||
|
||||
start_of_kernel_image = .;
|
||||
|
||||
.boot_bss ALIGN(4K) (NOLOAD) : AT (ADDR(.boot_bss) - KERNEL_VIRTUAL_BASE)
|
||||
{
|
||||
*(.super_pages)
|
||||
} :boot_bss
|
||||
|
||||
.text ALIGN(4K) : AT (ADDR(.text) - KERNEL_VIRTUAL_BASE)
|
||||
{
|
||||
start_of_kernel_text = .;
|
||||
|
|
Loading…
Reference in a new issue