Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Use huge L3 page table entries to offset map the entire physical memory?

Offen
#472 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
rust

Rechercherichtung

Beginne mit BOOTLOADER_CONFIG und dem Dynamic-Mapping-Pfad für physical_memory und verfolge dann, wie L4-L1-Einträge erstellt werden. Reproduziere den 4G-QEMU-Fall und vergleiche die Huge-Page-Behandlung in L3 und L2; abgeschlossen ist die Recherche, wenn die Machbarkeit und das erwartete Mapping-Verhalten geklärt und der Implementierungsumfang eindeutig festgelegt sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Here is my config:

pub static BOOTLOADER_CONFIG: BootloaderConfig = {
    let mut config = BootloaderConfig::new_default();
    config.mappings.physical_memory = Some(Mapping::Dynamic);
    config
};

When I looped through every page table entry (L4, L3, L2, L1) I noticed that there were only huge pages for L2 entries (so only chunks of 2MiB), and no huge pages for L3 entries. Even with I run qemu with 4G of memory, there are still only many huge L2 entries and no huge L3 entries. Wouldn't it be better if huge L3 entries were used instead of huge L2 entries?

Vorherrschende Sprache
Rust
Sterne
1.7k
Forks
240
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus rust-osdev/bootloader

Alle Issues in rust-osdev/bootloader

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.