Как мне зарезервировать нехватку памяти (до операционной системы)?
Вопрос
Предыстория: Мне нужно зарезервировать объем памяти ниже 0xA0000 до запуска моей операционной системы.Для этого я меняю 0040:0013 (или 0x413) слово, представляющее собой объем доступной памяти в КБ.
Однако Windows и другие операционные системы используют E820h/INT15h чтобы запросить расположение памяти и некоторые параметры BIOS: es не отражает изменения 0x413 в функции BIOS E820h / INT15h.Поэтому я также должен подключить функцию E820h, если это необходимо.
Вопрос: Есть ли другой (более надежный) способ зарезервировать нехватку памяти до запуска операционной системы?Или любой другой способ изменить результаты E820h / INT15h, кроме подключения INT15h (возможно, путем нажатия EBDA?)
Решение
Я так не думаю, но если вы не используете загрузчик, вы могли бы пара-виртуализировать ОС.Вы могли бы посмотреть на это в гипервизоре Xen.