当前位置: 首页 > news >正文

各 DXE Driver 作用

DEVICEPATHDXE

给整个固件提供“构造、解析、打印设备路径”的公共 API

PCDDXE

让整个 DXE 及以后的阶段能用统一、可读写的方式拿到平台配置数据

AMDSEVDXE

把必须“明文”访问的内存区域从加密域里摘出来,并配合 MemEncryptSevLib 清掉对应的 C-bit,保证 SEV 客机能正常读写闪存、运行运行时服务
C-bit(又称 encryption bit)是 AMD SEV/SEV-SNP 里挪用物理地址位来充当的“加密标志”;固件/驱动只需在页表或 GPA 中置/清这一位,就能把指定内存划出或划入 SEV 加密域

REPORTSTATUSCODEROUTERRUNTIMEDXE

实现固件-操作系统全程统一日志输出

RUNTIMEDXE

让固件服务“活过 ExitBootServices”,OS 运行期仍能调用

SECURITYSTUBDXE

拦截每一次即将被执行的 EFI 映像(驱动/应用/启动项/Option-ROM),按策略完成“度量 + 校验 + 登记”,只有全部通过才把 CPU 交给它

EBCDXE

把编译成 EBC 字节码的 .efi 驱动/应用程序现场解释执行,实现“同一字节码,跨所有 CPU 架构运行
只要固件里集成了 EbcDxe,同一份 .efi 映像即可在 IA32、x64、ARM、AARCH64 等不同平台直接运行,无需重新编译

CPUIO2DXE

CPUIO2DXE 管理 DXE/运行期的硬件 I/O ,所有驱动都通过它做端口和 MMIO 操作

CPUDXE

装好协议、建好 GDT、同步 MTRR、让所有核就绪,后续驱动和操作系统才能安全地刷缓存、开关中断、访问内存

INCOMPATIBLEPCIDEVICESUPPORTDXE

为老旧或不合规 PCI 设备准备的 DXE 驱动,让那些不兼容的网卡/显卡/raid 卡等正常启动
RAID卡是一种硬件磁盘阵列控制器,把多块物理硬盘聚合成一个逻辑盘,并提供冗余/提速/热备,操作系统只看到一个“大盘”

PCIHOTPLUGINITDXE

枚举热插拔控制器,把 PCI(e) 热插端口登记成 EFI_HOT_PLUG_DEVICE_PATH,后续 PCI 总线驱动据此分配资源并弹出热插菜单

RESETSYSTEMRUNTIMEDXE

安装 EFI_RESET_ARCH_PROTOCOL,提供 ResetSystem() 接口,固件 & OS 都用它做冷/热/关机复位,且支持虚拟地址重映射

METRONOME

纯软件节拍器,提供固定 1 µs 精度的 WaitForTick(),供早期无 High Precision Event Timer (HPET)/ACPI 定时器时代码延时

HIIDATABASE

维护表单/字符串/字体/图像的中央数据库,所有 Setup 页面、Logo、错误提示都通过它查找/注册/释放资源
Human Interface Infrastructure(HII)

ACPITABLEDXE

把 RSDP→FADT→DSDT/SSDT 等 ACPI 表加载到内存并安装 EFI_ACPI_TABLE_PROTOCOL,OS 用同一接口把表复制进自己的命名空间
ACPI 表是固件给 OS 的“硬件字典”,OS 按表找设备、装驱动、做电源管理

S3SAVESTATEDXE

在 S3 休眠前把 CPU 上下文、芯片集寄存器、内存快照打包成 BOOT_SCRIPT,唤醒时由 BOOTSCRIPTEXECUTORDXE 重放恢复。

DPCDXE

安装 Deferred Procedure Call 机制,允许中断底半部延迟执行,提升多核中断并发性能

IOMMUDXE

初始化 AMD-Vi / Intel VT-d 硬件,暴露 EFI_IOMMU_PROTOCOL,后续 DMA 保护、直通设备隔离靠它设置页表
DMA允许外设不经 CPU 直接读写系统内存

VIRTHSTIDXE

提供虚拟热插拔插槽抽象,把不可热插的端口伪装成可插拔,便于云场景动态挂载 virtio 设备
virtio 是 OASIS 标准化的半虚拟化 IO 框架
virtio 设备就是Guest 里看是标准网卡/磁盘,Host 里走高速后端的半虚拟化 IO 规范

SMMACCESS2DXE

安装 EFI_SMM_ACCESS2_PROTOCOL,负责打开/关闭 SMRAM 窗口,让后续 SMM 模块能把代码/数据放进受保护的 System Management RAM

SMMCOMMUNICATIONBUFFERDXE

注册一块非 SMRAM 共享缓冲区,OS 用 EFI_SMM_COMMUNICATION_PROTOCOL 把请求/结果放进这里,实现 OS↔SMM 安全通信

RNGDXE

把芯片级真随机数源(TRNG、RDRAND、RDSEED)封装成 EFI_RNG_PROTOCOL,固件和 OS 都能通过同接口获取硬件随机值

STATUSCODEHANDLERRUNTIMEDXE

安装运行时状态码回调,把日志同时输出到串口、内存环形缓冲区,OS 阶段仍可读取固件早期崩溃信息

LOCALAPICTIMERDXE

初始化 xAPIC/x2APIC 定时器,提供 per-CPU 的 Local APIC 时钟,供多核调度、S3 唤醒计时使用

PCIHOSTBRIDGEDXE

扫描并配置 Root Bridge 资源窗口(MMIO32/64、IO、Bus 号),为 PCI 总线枚举奠定拓扑与地址空间
Root Bridge 是生成树协议选出的逻辑中心交换机,整个二层网络以它为基准计算无环拓扑

SETUPBROWSER

实现 HII 表单浏览器,用户按 F2/F10/Del 进入的“BIOS 设置界面”就是它在跑

SMBIOSDXE

把内存中的 Type0-Type44 结构体写入 EFI_CONFIGURATION_TABLE,OS 通过 GetSystemConfigurationTable() 拿到 SMBIOS 信息

QEMUFWCFGACPIPLATFORM

在 QEMU 虚拟机构建 ACPI 热插拔描述符,并把 fw_cfg 条目注入,实现云场景“无 South-Bridge”的 ACPI 表加载

LOGODXE

解析 BMP/JPEG Logo 文件,通过 EFI_HII_IMAGE_PROTOCOL 把位图刷到 GOP 帧缓存,显示开机 Logo

QEMURAMFBDXE

针对 QEMU 的“RAM 帧缓冲”设备安装 EFI_GRAPHICS_OUTPUT_PROTOCOL,无硬件 VGA 时也能提供线性显存

SMMCONTROL2DXE

提供 TriggerSmi() 接口,OS 用软件写 IO 端口 0xB2 即可进入 SMM,用于运行时固件更新、电源按钮模拟等

CPUS3DATADXE

收集每核 MSR、MTRR、PM 寄存器,生成 S3 恢复脚本,保证唤醒后 CPU 状态与休眠前一致

WATCHDOGTIMER

初始化硬件看门狗,暴露 EFI_WATCHDOG_TIMER_PROTOCOL,系统卡顿时可自动复位

DRIVERHEALTHMANAGERDXE

实现“驱动健康”协议,允许 Setup 或 OS 查询/修复故障驱动(重新加载、回滚)

RAMDISKDXE

把一段内存伪装成 BlockIo 设备,可用于内存装系统、快速 PE 启动
BlockIo 设备特指以固定大小数据块(典型 512 B/4 KiB)为单位进行随机读写的存储设备

DISPLAYENGINE

统筹多显卡输出,选择主副屏、克隆/扩展模式,决定 BIOS 界面到底显示在哪块屏幕

SMBIOSPLATFORMDXE

根据板级检测数据(SPD、PCI 设备)动态生成 SMBIOS 结构体,再交给 SMBIOSDXE 注册

PISMMIPL

把 DXE 阶段控制权转交给 SMM Core,并加载所有 SMM 驱动

PISMMCORE

SMM 环境下的SMM Core,负责安装 SMM System Table、调度 SMM 驱动、处理 SMI 分发

CPUIO2SMM

在 SMM 里提供与 CPUIO2DXE 相同的端口/MMIO 读写接口,使 SMM 代码也能统一访问硬件

SMMLOCKBOX

把关键数据(密钥、OEM 标志)加密后存进 SMRAM“锁箱”,OS 无法访问,唤醒后再解密

PISMMCPUDXESMM

在 SMM 内完成每核状态保存/恢复、MP 同步、MCE 处理,是 SMM 多核调度的核心

FVBSERVICESSMM

提供 SMM 环境下的固件卷读写服务,支持在 SMM 里安全地刷写 BIOS 区域

VARIABLESMM

在 SMM 内实现变量写服务,把 SetVariable 请求从非安全世界转发进 SMRAM,对抗 OS 级回滚攻击

CPUHOTPLUGSMM

监听 ACPI 热插事件,动态地把新 CPU 加入/移除调度列表,并更新 MP 表、SMBIOS

SMMFAULTTOLERANTWRITEDXE

变量写操作先做双份镜像 + CRC,掉电恢复时自动选择正确副本,实现掉电安全变量

BOOTSCRIPTEXECUTORDXE

S3 唤醒时按顺序重放 S3SaveState 保存的寄存器值,把平台恢复到睡眠前状态

VARIABLESMMRUNTIMEDXE

把 SMM 变量服务再次封装成 EFI_VARIABLE_ARCH_PROTOCOL,OS 阶段仍可进入 SMM 读写变量

PCRTC

提供传统 PC/AT CMOS RTC 接口,包括年月日、闹铃、周期中断,用于无 ACPI 平台计时

SECUREBOOTCONFIGDXE

实现 Setup 菜单里 Secure Boot 开关、密钥导入/导出、恢复出厂密钥功能

MONOTONICCOUNTERRUNTIMEDXE

提供单调递增 64 位计数器,防回滚攻击,用于安全变量、TPM 事件序号

CAPSULERUNTIMEDXE

支持胶囊更新——OS 把新固件打包进内存,调用 UpdateCapsule() 后重启

BDSDXE

Boot Device Selection;按启动顺序枚举所有可启动项,弹菜单或自动加载 bootx64.efi

PLATFORMDXE

板级初始化最后一环:GPIO、电源序列、时钟、传感器,全部就绪后触发 EndOfDxe

PCIBUSDXE

核心 PCI 总线驱动;扫描 Root Bridge→枚举设备→分配资源→安装 BlockIo/Graphics 等协议

VIRTIOPCIDEVICEDXE

把 QEMU 的 virtio-pci 设备包装成标准 PCI 功能头,后续由 VirtioBlk/Net/Scsi 驱动接管

VIRTIO10

提供符合 virtio 1.0 规范的基础读写环、队列分配、ISR 回调,供所有 virtio 驱动复用

VIRTIOBLKDXE

实现 virtio-blk 磁盘协议,暴露 BlockIo,让 guest 从宿主机文件/分区启动

VIRTIOSCSIDXE

实现 virtio-scsi HBA,枚举宿主机上的 SCSI/LUN,安装 BlockIo 或 ScsiIo

VIRTIOSERIALDXE

提供多端口串口,宿主机与 guest 间可零配置创建任意数量 console/日志通道

VIRTIOKEYBOARDDXE

把宿主机键盘事件通过 virtio-input 转发给 guest,实现云桌面低延迟键鼠

CONPLATFORMDXE

根据板级 GPIO/ACPI 选择物理串口或 USB-CDC 作为默认调试控制台

CONSPLITTERDXE

把多个串口/USB/网络控制台聚合成一个逻辑 ConOut,调试信息同时输出到所有端口

GRAPHICSCONSOLEDXE

在 GOP 帧缓存上渲染文字、背景、进度条,把纯文本 ConOut 转成图形界面

TERMINALDXE

支持 ANSI/VT100 转义序列,允许在 UEFI Shell 里跑 vi、htop 等彩色终端程序

QEMUKERNELLOADERFSDXE

仅 QEMU 使用,把宿主机 -kernel 参数指定的 bzImage 暴露成可引导的虚拟文件系统

DISKIODXE

提供块设备原始读写,允许在不分区的情况下直接访问 Logical Block Address(LBA),用于镜像烧录、恢复工具

PARTITIONDXE

解析 MBR/GPT/El Torito/ISO9660/UDF,把整盘拆成若干逻辑分区,每分区再挂 BlockIo

ENGLISHDXE

把内置英文字符串包注册到 HII Database,默认语言 fallback

SCSIBUS

通用 SCSI 总线驱动,枚举 ID/LUN,安装 ScsiIo,后续由 ScsiDisk/ScsiTape 驱动接管

SCSIDISK

在 ScsiIo 之上实现 BlockIo,把 SCSI 命令翻译成 Read10/Write10,提供 512-byte 逻辑扇区

SATACONTROLLER

初始化 Advanced Host Controller Interface(AHCI) 或 Integrated Device Electronics(IDE) 兼容模式,安装 PciIo + ATA_PASS_THRU,为 AtabusDxe 提供端口对象
AT Attachment(ATA) 是定义诸如硬盘等存储设备和 CPU 的接的标准

ATAATAPIPASSTHRUDXE

提供标准 ATA/ATAPI PASS_THRU 协议,允许工具直接发 ATA 命令

ATA/ATAPI PASS-THRU 协议让主机软件绕过常规的块层和文件系统,直接把原始 ATA 或 ATAPI 命令发送到目标存储设备,并取回执行结果

  • ATA PASS-THRU
    面向硬盘/SSD等本地 ATA 设备
  • ATAPI PASS-THRU
    面向光驱、磁带机、MO等“打包型”设备

ATABUSDXE

扫描主/从设备,区分 ATA 硬盘与 ATAPI 光驱,分别挂 BlockIo 或 ScsiIo

NVMEXPRESSDXE

初始化 NVMe 1.x/2.x 控制器,建立 Admin/IO 队列,暴露 BlockIo,支持多命名空间
NVMe把软件下发的读写请求变成闪存能执行的命令,再把结果送回主机

SIOBUSDXE

扫描 Super-I/O 芯片(串口、并口、软驱、GPIO),注册相应 I/O 资源

PS2KEYBOARDDXE

在 PS/2 控制器上检测键盘,安装 SimpleTextInput,实现 legacy 键盘输入
Legacy 键盘输入 = “让一颗 2025 年的 CPU 假装自己还在 1981 年,只认最原始的 IBM PC 键盘协议”

BOOTGRAPHICSRESOURCETABLEDXE

生成 BGRT ACPI 表,把 Logo BMP 地址填进去,让 Windows 8+ 在启动转圈时继续显示 OEM Logo

FAT

纯 FAT12/16/32 文件系统驱动,U 盘、ESP 分区都靠它挂载
FAT(File Allocation Table)

UDFDXE

支持 ISO-13346 UDF,用于光盘/BD 镜像直接引导
UDF(Universal Disk Format)

VIRTIOFSDXE

实现 virtio-fs,把宿主机目录映射成 9P 网络文件系统,guest 像本地磁盘一样访问
宿主机目录就是物理机(Host)上普通的本地文件夹
9P 网络文件系统是一种极简、基于消息的网络文件系统协议:

  • 客户端通过 TCP/Unix 套接字把“打开、读、写、创建、删除”等 9P 消息发给服务器;
  • 服务器把本地目录树按 9P 语义暴露出去,客户端即可像本地磁盘一样挂载访问

HASH2DXECRYPTO

提供 SHA-1/SHA-256/SHA-384/SHA-512 软件实现,无硬件加速时 fallback
SHA-1、SHA-256、SHA-384、SHA-512 统称为安全散列算法(Secure Hash Algorithm),核心作用只是把任意长度数据压成固定长度、不可逆、几乎不会重复的数字指纹,供校验、签名、存证、鉴权使用

VIRTIONETDXE

virtio-net 网卡驱动,安装 SimpleNetwork,支持 PXE/HTTP 启动

UHCIDXE

USB 1.1 通用主机控制器驱动

EHCIDXE

USB 2.0 增强主机控制器驱动

XHCIDXE

USB 3.x 可扩展主机控制器驱动

USBBUSDXE

枚举 USB 总线,给下游设备分配地址、配置描述符

USBKBDXE

USB HID 键盘驱动,安装 SimpleTextInput
HID(Human Interface Device)

USBMASSSTORAGEDXE

USB Mass Storage 协议,把 U 盘、移动硬盘转成 BlockIo

QEMUVIDEODXE

QEMU 标准 VGA 的 GOP 驱动,提供线性帧缓存
VGA (Video Graphics Array) GOP (Graphics Output Protocol)

VIRTIOGPUDXE

virtio-gpu 3D/2D 驱动,支持多输出、硬件光标

VIRTIORNGDXE

virtio-rng,把宿主机熵池通过 PCI 设备喂给 guest /dev/hwrng

SDMMCPCIHCDXE

SDHCI 标准 PCI 主控制器驱动,为 SD/EMMC 卡提供底层 Mmci 接口
SD 和 eMMC 都是闪存卡

SDDXE

SD 卡协议层,实现 BlockIo

EMMCDXE

eMMC 4.5+ 协议层,支持 HS200/HS400、分区切换、RPMB

http://www.dtcms.com/a/581889.html

相关文章:

  • 开源视觉-语言-动作(VLA)机器人项目全景图(截至 2025 年)
  • 元宇宙:数字文明的下一站(元宇宙概念的理解及畅想(什么是元宇宙?未来它将如何改变世界?)
  • 20251106给荣品RD-RK3588-MID开发板跑Rockchip的原厂Android13系统时适配AP6275P模块的BT【使用荣品的DTS】
  • DS ArrayLinkedList、StackQueue、TreeMap、SearchSort
  • 网站建设与管理培训方案做网站可以卖钱吗
  • 太原制作网站的公司网站网站 换图片
  • 渗透测试数据库判断卡壳?分类 + 方法 + SQL/NoSQL 脚本速用
  • 低价网站建设策划内容怎么做公司网站的二维码
  • UniHttp/Jsoup Https SSL证书验证失败:SunCertPathBuilderException解决方案详解
  • Notepad++ 7.8.4 安装步骤详解(附 npp.7.8.4.Installer 安装教程)
  • 柳市网站建设哪家好wordpress七牛图片插件
  • 用 MCP 重构 RAG 智能体:3 步解决数据安全与多工具协同难题
  • QOS服务质量
  • 如何为视频进行外语配音:分步指南
  • 建设部网站投诉核查企业名单网页和网站的概念
  • kanass零基础学习,项目负责人如何使用kanass驾驭项目
  • redis实战篇day04
  • 罗湖网站公司服务器网站管理助手
  • 八股训练营第 10 天 | 进程和线程之间有什么区别?并行和并发有什么区别?解释一下用户态和核心态,什么场景下,会发生内核态和用户态的切换?
  • AIDAv2:重新定义DeFi的AI驱动金融基础设施
  • SAP PP未清生产订单关闭物料退料、新工单发料批量处理
  • 下载软件的网站哪个好用哪个网站做首页好
  • 【零基础一站式指南】Conda 学习环境准备与 Jupyter/PyCharm 完全配置
  • 滨州制作网站深圳优化公司
  • mysql第四次做业
  • clusterProfile包用于宏基因组学富集分析
  • 湖北网站开发培训写一篇软文多少钱
  • python+django/flask基于协同过滤算法的理财产品推荐系统
  • h5个网站的区别某颜值女主播低俗内容流出视频
  • 做网站600房产管理局官网查询入口