启动后,Linux回收了Tianocore启动加载程序内存

时间:2015-10-14 06:50:51

标签: bios uefi

我使用Tianocore来启动Linux,我知道Linux可以利用Tianocore Runtime服务(reboot,update_capsule等),这意味着 Tianocore代码的某些部分仍未受到linux的影响。 Linux永远不会触及那个记忆。

我的问题是,它是Tianocore代码的一部分(与运行时服务相关)还是整个Tianocore即使在启动后仍未受到Linux内核的影响?

并且,Linux内核如何了解包含Tianocore图像的内存区域?

1 个答案:

答案 0 :(得分:0)

可以通过UEFI实现(使用AllocatePool或AllocatePages BootServices)分配many memory types,其中一些将保持不受UEFI感知操作系统的影响,其他将被释放。所有不应被释放的内存区域也将被添加到e820内存映射中,以防止旧版操作系统破坏它们。

通常,在ExitBS事件之后,只释放一小部分已分配的内存:运行时服务代码和数据,ACPI表和MMIO区域。