rust-osdev / rust-osdev/bootloader

L4 inaccessible without bootloader provided virtual offset

Open
#513 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1.7k
Forks
240
PR merge metrics
No merged PRs in 30d

Description

I have spent pretty close to a week trying to figure this out. In older versions there was the map_physical_memory feature, which appears to have been removed as of v0.10.0. I have tried everything I can think of to no avail. Any time I try to access the L4 table to map the rest of the memory, I get a page daily.

Things I have tried:

  • reverse calculating an offset from the logs
  • creating a new L4 using 4KiB aligned static mut
  • I even tried patching in an offset on my own fork of the repo

I am at a loss for how to set up memory without a valid offset

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the v0.10.0 memory-mapping changes with the older map_physical_memory feature, then trace how the L4 table is made available and how its virtual offset is determined. Done means documenting or implementing a supported way to obtain the offset so the remaining memory can be mapped without a page fault.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.