Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#472 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
rust

Direzione di ricerca

Inizia da BOOTLOADER_CONFIG e dal percorso di mapping Dynamic di physical_memory, quindi traccia come vengono create le voci L4-L1. Riproduci il caso QEMU da 4G e confronta la gestione delle huge page in L3 e L2; il lavoro è completo quando la fattibilità e il comportamento di mapping previsto sono stati stabiliti, con l'ambito dell'implementazione chiaramente definito.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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?

Lingua principale
Rust
Stelle
1.7k
Fork
240
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di rust-osdev/bootloader

Tutte le issue di rust-osdev/bootloader

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.