Domanda

Sfondo: è necessario riservare una quantità di memoria inferiore a 0xA0000 prima dell'avvio del sistema operativo. Per fare ciò, cambio la 0040: 0013 (o 0x413) che è la quantità di basso memoria disponibile in KiB.

Tuttavia, Windows e altri sistemi operativi utilizzano E820h / INT15h per eseguire query il layout della memoria e alcuni BIOS: es non riflette le modifiche 0x413 alla funzione BIOS E820h / INT15h. Pertanto, devo anche agganciare la funzione E820h, se necessario.

Domanda: esiste un altro modo (più affidabile) per riservare memoria insufficiente prima del sistema operativo? O qualsiasi altro modo di modificare i risultati E820h / INT15h diverso dall'agganciare INT15h (forse colpendo l'EBDA?)

È stato utile?

Soluzione

Non credo, ma se non si sta eseguendo un bootloader, è possibile para-virtualizzare il sistema operativo. Potresti dare un'occhiata all'hypervisor Xen per questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top