【发布时间】:2020-10-16 13:53:56
【问题描述】:
我正在尝试构建一个最小的内核。但我不确定如何将自定义引导加载程序中的函数加载到内核中。有人能解决这个问题吗?
【问题讨论】:
标签: osdev
我正在尝试构建一个最小的内核。但我不确定如何将自定义引导加载程序中的函数加载到内核中。有人能解决这个问题吗?
【问题讨论】:
标签: osdev
我正在尝试构建一个最小的内核。但我不确定如何将自定义引导加载程序中的函数加载到内核中。有人能解决这个问题吗?
通常每个引导加载程序的代码都用于不同的环境,因此在内核中使用任何引导加载程序的代码都是没有意义的。
对于不适用的极少数情况;您可以将函数指针从引导加载程序传递给内核(可能作为内核入口点的参数,但也可能在传递给内核的某种表或其他数据结构中)。
但是,即使有可能,将函数“剪切并粘贴”到内核代码中(或使用#include 或..)可能比在引导加载程序中调用代码更容易。如果内核在引导加载程序完成其工作后释放/重新使用引导加载程序消耗的内存,则尤其如此。
【讨论】: