mirror of
https://github.com/RGBCube/serenity
synced 2025-07-05 08:37:35 +00:00
Kernel: Use the Multiboot memory map info to inform our paging setup.
This makes it possible to run Serenity with more than 64 MB of RAM. Because each physical page is represented by a PhysicalPage object, and such objects are allocated using kmalloc_eternal(), more RAM means more pressure on kmalloc_eternal(), so we're gonna need a better strategy for this. But for now, let's just celebrate that we can use the 128 MB of RAM we've been telling QEMU to run with. :^)
This commit is contained in:
parent
8258b699db
commit
9da62f52a1
4 changed files with 63 additions and 30 deletions
|
@ -23,11 +23,11 @@ struct [[gnu::packed]] allocation_t
|
|||
#define CHUNK_SIZE 32
|
||||
#define POOL_SIZE (1024 * 1024)
|
||||
|
||||
#define ETERNAL_BASE_PHYSICAL 0x100000
|
||||
#define ETERNAL_RANGE_SIZE 0x100000
|
||||
#define ETERNAL_BASE_PHYSICAL (1 * MB)
|
||||
#define ETERNAL_RANGE_SIZE (2 * MB)
|
||||
|
||||
#define BASE_PHYSICAL 0x200000
|
||||
#define RANGE_SIZE 0x100000
|
||||
#define BASE_PHYSICAL (3 * MB)
|
||||
#define RANGE_SIZE (1 * MB)
|
||||
|
||||
static byte alloc_map[POOL_SIZE / CHUNK_SIZE / 8];
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue