Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allocate high memory in the physical page allocator #39

Open
Amjad50 opened this issue Jan 13, 2024 · 0 comments
Open

allocate high memory in the physical page allocator #39

Amjad50 opened this issue Jan 13, 2024 · 0 comments
Labels
kernel Kernel related work memory virtual memory/space/memory manager/layout/etc...

Comments

@Amjad50
Copy link
Owner

Amjad50 commented Jan 13, 2024

Currently we only use max 128MB memory, this memory is mapped from 0 into the KERNEL_BASE and that's good since we can have something like 1:1 mapping and that's how physical2virtual function works.

But for more memory, we need to have a special physical page allocator, that doesn't have the memory virtually mapped, and thus we can't store the free pages as a linked list connected to one another by we can store the metadata about free pages in the heap somewhere since we have that.

The setup can be done as so.

  • initial physical page allocator setup
  • virtual memory setup
  • [implied] heap setup (for us heap just works after virtual memory is initialized)
  • allocate rest of ram into high physical page allocator
  • Can use any amount of memory from ram
@Amjad50 Amjad50 added this to Emerald Dec 20, 2023
@Amjad50 Amjad50 converted this from a draft issue Jan 13, 2024
@Amjad50 Amjad50 added kernel Kernel related work memory virtual memory/space/memory manager/layout/etc... labels Jan 13, 2024
@Amjad50 Amjad50 self-assigned this Jan 13, 2024
@Amjad50 Amjad50 added this to the Memory improvements milestone Mar 1, 2024
@Amjad50 Amjad50 removed their assignment Mar 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kernel Kernel related work memory virtual memory/space/memory manager/layout/etc...
Projects
Status: Backlog
Development

No branches or pull requests

1 participant