| Zeile 57: | Zeile 57: | ||
===Speicherverwaltung initialisieren=== | ===Speicherverwaltung initialisieren=== | ||
| − | Eigentlich fehlt jetzt nur noch der Anfangszustand für die Speicherbitmap. Wir müssen dazu wissen, welche Speicherbereiche frei sind und wo wir besser nicht hinschreiben. Zum Glück weiß das BIOS das und GRUB gibt uns die entsprechende | + | Eigentlich fehlt jetzt nur noch der Anfangszustand für die Speicherbitmap. Wir müssen dazu wissen, welche Speicherbereiche frei sind und wo wir besser nicht hinschreiben. Zum Glück weiß das BIOS das und GRUB gibt uns die entsprechende Information auch weiter. Wir ignorieren sie bisher nur. |
Wenn unser Kernel gestartet ist, liegt im Register ''ebx'' ein Pointer auf die [[Multiboot#Multiboot-Structure|Multiboot Information Structure]]. Der verlinkte Artikel enthält eine Tabelle über den Aufbau der Struktur, die wir am geschicktesten als C-struct deklarieren (zumindest bis zu den mmap-Feldern). Das Feld mbs_mmap_addr ist ein Pointer auf die gesuchten Daten und der Abschnitt [[Multiboot#mbs_mmap_addr|mbs_mmap_addr]] enthält den Aufbau eines Eintrags der Memory Map. | Wenn unser Kernel gestartet ist, liegt im Register ''ebx'' ein Pointer auf die [[Multiboot#Multiboot-Structure|Multiboot Information Structure]]. Der verlinkte Artikel enthält eine Tabelle über den Aufbau der Struktur, die wir am geschicktesten als C-struct deklarieren (zumindest bis zu den mmap-Feldern). Das Feld mbs_mmap_addr ist ein Pointer auf die gesuchten Daten und der Abschnitt [[Multiboot#mbs_mmap_addr|mbs_mmap_addr]] enthält den Aufbau eines Eintrags der Memory Map. | ||