hey leute,
zunächst einmal danke für das fantastische lowlevel wiki. die tutorials sind super gemacht! sehr verständlich aufgebaut und mit den notwendigen hintergrund infos angereichert.
mein projekt ist ein kernel in d2. für mich ist das eine neue herausforderung, da es sowohl das erste projekt in d als auch mein erster kernel ist. als compiler kann ich ldc2 oder gdc2 verwenden, das buildenvironment aufzusetzen hat eigentlich bis jetzt den großteil der arbeit gemacht, durch die große abhängigkeit von d auf seine runtime.
aber weiter im text. der kernel ist ein 64bit higher half kernel. die basis steht soweit: textausgabe im framebuffer und bochs/e9 port. gdt, idt und pic sind programmiert und der nächste schritt ist für mich nun die physische speicherverwaltung. diese benötige ich nun als nächstes für die kernel heap verwaltung, denn ich will nicht weiter mit statischen strukturen arbeiten.
die memory infos möchte ich aus den multiboot2 informationen auslesen und habe probleme mit der struktur der einträge.
ich beziehe bereits andere informationen aus der multiboot2 struktur wie die kommandozeile, bootloadername und framebuffer addresse. das auslesen funktioniert.
für die memory map will dass allerdings keinen sinn ergeben, weder die basisaddressen noch die länge der regionen ergeben einen sinn. kann mich hier jemand auf die nächste stufe schubsen? das infomaterial im netz ist leider fast ausschlieslich auf multiboot1 strukturen ausgelegt.
datenstrukturen und codeschnipsel -
http://pastebin.com/msiZYpwnausgabe des kernels mit der memory map -
http://pastebin.com/6Rnyq6zm