【问题标题】:Can a UEFI machine use BIOS interrupts?UEFI 机器可以使用 BIOS 中断吗?
【发布时间】:2020-05-24 04:08:14
【问题描述】:

内核加载到内存后,还能使用BIOS中断吗? 比如

mov AX,0E820h
int 15h

什么的。

【问题讨论】:

  • 如果 UEFI 机器仍支持提供旧版 BIOS 接口的兼容性支持模块 (CSM),则它可以支持 BIOS 中断。一些 UEFI 机器不再提供 CSM 支持,因此视情况而定。
  • 认为仅在引导旧的 512 字节 MBR 引导扇区(通过 CSM)时,而不是在引导 32 或 64 位 UEFI 应用程序之后。

标签: assembly x86 operating-system x86-16 uefi


【解决方案1】:

UEFI 程序(或从其中加载的操作系统)不能使用旧式中断;它必须使用 UEFI API。

如果 UEFI BIOS 包含兼容性支持模块 (CSM),则它 在引导传统引导扇区时支持传统中断。

要获取e820内存映射,调用UEFI启动服务函数GetMemoryMap。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 2020-01-24
    • 2015-04-07
    • 2014-11-11
    • 2019-12-30
    相关资源
    最近更新 更多