3 votes

Comment réserver une mémoire faible (pré OS) ?

Le contexte : Je dois réserver une quantité de mémoire inférieure à 0xA0000 avant le démarrage de mon système d'exploitation. Pour ce faire, je modifie le paramètre 0040:0013 (ou 0x413) qui est la quantité de mémoire basse disponible en KiB.

Cependant, Windows et d'autres systèmes d'exploitation utilisent E820h/INT15h pour interroger la disposition de la mémoire et certains BIOS:es ne reflètent pas les changements 0x413 de la fonction E820h/INT15h du BIOS. Par conséquent, je dois également accrocher la fonction E820h si nécessaire.

Question : Existe-t-il un autre moyen (plus fiable) de réserver la mémoire basse avant l'OS ? Ou un autre moyen de modifier les résultats de E820h/INT15h autrement qu'en hookant INT15h (en pokant EBDA peut-être ?)

1voto

lms Points 367

Je ne pense pas, mais si vous ne faites pas un bootloader, vous pourriez para-virtualiser le système d'exploitation. Vous pourriez regarder l'hyperviseur Xen pour cela.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X