Как мне зарезервировать нехватку памяти (до операционной системы)?

StackOverflow https://stackoverflow.com/questions/126689

  •  02-07-2019
  •  | 
  •  

Вопрос

Предыстория: Мне нужно зарезервировать объем памяти ниже 0xA0000 до запуска моей операционной системы.Для этого я меняю 0040:0013 (или 0x413) слово, представляющее собой объем доступной памяти в КБ.

Однако Windows и другие операционные системы используют E820h/INT15h чтобы запросить расположение памяти и некоторые параметры BIOS: es не отражает изменения 0x413 в функции BIOS E820h / INT15h.Поэтому я также должен подключить функцию E820h, если это необходимо.

Вопрос: Есть ли другой (более надежный) способ зарезервировать нехватку памяти до запуска операционной системы?Или любой другой способ изменить результаты E820h / INT15h, кроме подключения INT15h (возможно, путем нажатия EBDA?)

Это было полезно?

Решение

Я так не думаю, но если вы не используете загрузчик, вы могли бы пара-виртуализировать ОС.Вы могли бы посмотреть на это в гипервизоре Xen.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top