阅码场UEFI开发训练营1期 笔记
在应用程序和驱动中访问系统表
系统表是 UEFI 内核的一个全局结构体,其指针作为程序映像入口函数的参数传递到用户空间。程序映像(包括 UEFI 应用程序、DXE 驱动程序、UEFI 驱动程序)的入口函数有统一的格式,函数原型如下:
系统表指针从内核传递到用户空间的过程
程序映像的入口函数通常是 _ModuleEntryPoint。当应用程序或驱动加载到内存形成 Image 后,_ModuleEntryPoint 函数地址被赋值给 Image 对象的 EntryPoint,然后 Image->EntryPoint 会被执行,最终会从 Image 的入口函数 _ModuleEntryPoint 执行到模块的入口函数
系统表的构成
系统表可分为以下6个部分
表头:包括表的版本号、表的 CRC 校验码等。
固件信息:包括固件开发商的名字字符串和固件版本号。
标准输入控制台、标准输出控制台、标准错误控制台。
启动服务表。
运行时服务表。
系统配置标。
系统表数据结构: