logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

HII数据库协议的实现

本节介绍HiiDatabase 驱动程序中EFI_HII_DATABASE_PROTOCOL协议的实现。在HII数据库中所有的表项均采用包列表的方式存放。包列表由GUID标识其唯一性,每个包列表包含标准头部,含一个或多个GUID包,表格表,字符串包,字体包等等。HII_DATABASE_PACKAGE_LIST_INSTANCE数据结构typedef struct _HII_DATAB...

ubuntu + gdb + ovmf + qemu 虚拟机调试UEFI

调试BIOS 大部分情况都是在真实的板子上面, 就是build 之后, 烧录到rom 里面, 整个流程非常耗时间,下面讲解如何在qemu 上面调试uefi driver.环境: ubuntu 18.041. 编译:1. source edksetup.sh // 这一步,是设置环境变量2.build -p OvmfPk...

pycodeobject 与pyc 文件

通常认为, python 是一种解释性的语言,但是这种说法是不正确的,实际上,python在执行时,首先会将.py 文件中的源代码编译成python的byte code(字节码), 然后再由pythonvirtual machine 来执行这些编译好的byte code。这种机制的基本思想跟java ,. NET 是一致的。然而. python virtual machine 与jav...

EDKII SataController

SATA 驱动是一种完全不同于并行ATA 的新型硬盘接口类型,是做为IDE 接口的取代物出现的。它使用串行方式传输数据,具有结构简单,传输速度高,可支持热插拔等优点。SerialATA 规范定义了SATA 接口的物理特性,传输层及协议层实现以支持ATA/ATAPI命令集。AHCI 规范则定义了SATA 主控制器的软硬件接口与实现标准。为保持向后兼容性,SerialATA 规范还支持...

UEFI debugprint 实现

  #define _DEBUG(Expression)   DebugPrint Expressionedk2\MdeModulePkg\Library\PeiDxeDebugLibReportStatusCode\DebugLib.cVOIDEFIAPIDebugPrint (INUINTNErrorLevel,INCONST CHAR...

uefi shell cd 实现过程

/**Function for 'cd' command.@param[in] ImageHandleHandle to the Image (NULL if Internal).@param[in] SystemTablePointer to the System Table (NULL if Internal).**/SHELL_STATUSEFIAPISh

uefi setvariable 过程

gRT->SetVariable  用来增加,更新,删除变量,其实现在:\MdeModulePkg\Universal\Variable\RuntimeDxe\Variable.c VariableServiceSetVariableEFI_STATUSEFIAPIVariableServiceSetVariable (IN CHAR16...

一句话说清楚capsuleupdate 工作流程

updateCapsule函数updateCapule用来将capsule传递给系统固件,包含虚拟地址和物理地址的对应关系。系统根据Capsule的炻会采取不同的处理方式,如立即处理capsule,或者系统重启后再对capsule进行处理。EFI_STATUSEFIAPIUpdateCapsule (in efi_capsule_header**CapsuleHeaderArray,in uint

到底了