Как отключить acpi в сборке в кастомной ОС?
Я запускаю пользовательскую операционную систему в virtualbox и проанализировал таблицы ACPI, FACP, DSDT и т. Д., Чтобы получить значения PM1a_CNT и SLP_TYPa. Это кажется правильным. Однако, когда я пытаюсь сделать завершение ACPI с:
xor eax, eax
mov edx, [PM1a_CNT]
mov ax, [SLP_TYPa]
or ax, (1 shl 13)
out dx, ax
Ничего не произошло. PM1a_CNT
0x4004 и SLP_TYPa
0, что кажется разумным по сравнению с другими значениями, которые я видел в других местах. Я также проверяю PM1b_CNT, который равен нулю, поэтому я не беспокоюсь об этом.
Есть ли проблема или хитрость с Virtualbox, чтобы заставить его работать?
1 ответ
Все выглядит правильно, за исключением того, что вы записываете 32-битное значение в 16-битный порт ввода-вывода. Попробуйте заменить финал out dx, eax
с out dx, ax
,