Hintergrund: Ich muss eine Speichergröße unter 0xA0000 reservieren, bevor mein Betriebssystem startet. Um dies zu tun, ändere ich das 0040:0013 (oder 0x413) Wort, das ist die Menge von wenig verfügbarem Speicher in KiB.Wie reserviere ich wenig Arbeitsspeicher (vor OS)?
Allerdings verwenden Windows und andere Betriebssysteme E820h/INT15h, um das Speicherlayout und einige BIOS abzufragen: Es spiegelt nicht 0x413 Änderungen an der E820h/INT15h BIOS-Funktion wider. Daher muss ich bei Bedarf auch die E820h-Funktion haken.
Frage: Gibt es eine andere (zuverlässigere) Möglichkeit, wenig Speicher vor dem Betriebssystem zu reservieren? Oder eine andere Möglichkeit, die E820h/INT15h-Ergebnisse zu ändern, als das INT15h zu hooken (vielleicht durch EBDA?)
Schöne Idee, leider ist Xen keine Option für mich –