HOB游戏里怎么使用传送门怎么做


因为HOB是用于在早期预引导阶段切換系统信息的关键架构机制并且因为并非所有PI架构实现都将使用Pre-EFI初始化(PEI)和驱动程序执行环境(DXE)阶段,因此避免使用其他PI规范中使鼡的PEI和DXE命名法

相反,本规范使用以下术语来指代处理HOB的阶段:

HOB产生阶段是预引导阶段其中创建了HOB和HOB列表。HOB使用阶段是HOB列表传递然后使鼡的预启动阶段如果PI Architecture实施包含PEI和DXE,则HOB产生阶段是PEI阶段HOB使用阶段是DXE阶段。但是生产者和使用者可以根据实施情况进行更改。

HOB产生阶段提供了一种在阶段执行期间为数据存储分配内存的简单机制数据存储在架构上由HOB定义和描述。当从HOB产生阶段调用它时该数据存储也被傳递到HOB产生阶段。数据存储的基本容器称为Hand-Off Block或HOBHOB在内存中顺序分配,可用于HOB产生阶段中的可执行内容有一系列服务可以促进HOB操作。内存ΦHOB的顺序列表将被称为HOB列表

示例HOB产生阶段内存映射和用法

该地图是细分该地区的可能方式。

只允许HOB产生阶段组件对HOB进行添加或更改将HOB列表传递到HOB使用阶段后,它实际上是只读的只读HOB列表的分支是必须以独特的方式处理诸如引导模式之类的切换信息。 例如如果HOB使用阶段产生恢复条件,则它不会更新引导模式而是使用特殊类型的重置调用来实现该操作。 HOB列表包含HOB使用者到HOB生产者切换时的系统状态数据并且不代表HOB使用阶段期间的当前系统状态。

HOB列表最初由HOB产生阶段构建HOB列表在存在,初始化和测试的内存中创建一旦创建了初始HOB列表,就不能由后续软件代理重新映射交错或以其他方式移动物理存储器。

在将列表公开给其他模块之前HOB产生阶段必须在初始HOB列表中构建鉯下三个HOB:

  • 内存分配HOB,描述永久内存的引导处理器(BSP)堆栈所在的位置或描述永久内存的BSP存储位置(仅限Itanium?处理器系列)
  • 描述物理内存范圍的资源描述符HOB其中包含HOB产生阶段内存范围,其属性设置为存在初始化和测试

HOB列表创建者可以在初始HOB列表中构建更多HOB,例如用于描述其他物理内存范围的附加HOB还可以有其他模块,其中可能包括HOB产生阶段特定的HOB以记录在初始化期间发现的内存错误。当HOB产生阶段完成其列表创建时它将指向PHIT HOB的指针暴露给其他模块。

HOB构建必须遵守以下规则:

  1. 所有HOB必须以HOB通用标头开头 此要求允许用户在跳过其余的HOB时找到怹们感兴趣的HOB。
  2. HOB可能包含在HOB产生和使用阶段期间可用的引导服务数据直到HOB使用阶段终止。
  3. HOB可以由HOB使用阶段重新定位在系统存储器中HOB不嘚包含指向HOB列表中其他数据的指针,包括其他HOB中的数据必须能够复制该表而无需调整内部指针。
  4. 所有HOB的长度必须是8个字节的倍数此要求符合Itanium?处理器系列的对齐限制。
  5. PHIT HOB必须始终以8字节边界开始。 由于此要求和此列表中的要求#4所有HOB将以8字节边界开始。
  6. HOB被添加到HOB列表的末尾HOB只能在HOB产生阶段添加到HOB列表,而不是HOB使用阶段
  7. HOB无法删除。每个HOB的通用HOB头必须描述HOB的长度以便可以找到下一个HOB。私有GUIDed HOB可以提供一种機制来标记某些或其整个内容无效

本节包含各种HOB的基本定义。所有HOB都包含一个通用头文件EFI_HOB_GENERIC_HEADER它指定了HOB的类型和长度。根据HOB类型每个HOB都具有超出通用头的附加数据。本节定义了以下数据类型和结构:

本节还包含从属于调用它们的结构的其他数据类型和结构的定义可以在父数据结构定义的“相关定义”中找到以下类型或结构:

描述HOB内部数据的格式和大小。所有HOB都必须包含此通用HOB标头

标识HOB数据结构类型。

對于此版本的规范此字段必须始终设置为零。

所有HOB都有一个用于以下内容的公共标头:

  1. 描述HOB内部数据的格式和大小

包含HOB生产者阶段使用嘚一般状态信息此HOB必须是HOB列表中的第一个。

与PHIT HOB定义有关的版本号 该值的长度为4个字节,以便在与4字节BootMode组合时提供8字节对齐的条目

在HOB產生阶段确定的系统引导模式。类型EFI_BOOT_MODE是UINT32;如果符合PI Architecture的实现包含PEI阶段则可能的位值在平台初始化Pre-EFI初始化核心接口规范(PEI CIS)中定义。

分配给HOB產生阶段使用的内存的最低地址位置

当前可供HOB产生阶段使用的可用内存的最高地址位置。该地址必须是4-KiB对齐以满足UEFI的页面限制

可用于HOB苼成器阶段的可用内存的最低地址位置。

相位切换信息表(PHIT)HOB必须是HOB列表中的第一个通过某些服务,HOB产生阶段组件可以使用指向此HOB的指針该规范通常将此HOB称为PHIT HOB,或者有时称为切换HOBHOB使用阶段在其初始化期间读取PHIT HOB。

描述在HOB列表之外存在的HOB产生阶段期间使用的所有内存范围 此HOB类型描述了如何使用内存,而不是内存的物理属性

EFI_HOB_MEMORY_ALLOCATION_HEADER的一个实例,它描述逻辑内存分配的各种属性类型字段将用于随后包含在UEFI存储器映射中。

内存分配HOB用于描述HOB列表之外的内存使用情况 HOB使用阶段不对由内存分配HOB分配的内存内容做出假设,并且除非它具有主题分配HOB名稱(EFI_GUID)的明确知识否则它不会移动数据。可以在HOB生成阶段存储区域或当前和初始化系统存储器的其他区域中分配存储器

HOB使用阶段读取所有内存分配HOB,并根据每个内存分配HOB的EFI_HOB_MEMORY_ALLOCATION_HEADER的以下字段将内存分配到系统内存映射中:

除了由本规范定义的一组特定的内存分配HOB之外HOB使用阶段不解析由每个内存分配HOB的Name字段标识的GUID特定数据。对应于特定Name GUIDed内存分配HOB的HOB使用阶段驱动程序可以解析HOB列表以找到特定命名的内存分配HOB然後操纵由该GUID的使用模型定义的内存空间。

该规范定义了一组内存分配HOB这些HOB在架构上用于分配HOB产生和使用阶段使用的内存。此外以下内存分配HOB专门定义为由HOB产生阶段的最后阶段使用,以描述在切换到HOB使用阶段之前的处理器状态:

BSP)堆栈存储器分配HOB

描述由HOB产生阶段生成的内存堆栈并且HOB产生阶段中所有内存后安装的可执行内容正在执行。

该HOB描述了由HOB产生阶段产生的存储器堆栈并且HOB产生阶段中所有后存储器咹装的可执行内容正在其上执行。切换到HOB使用阶段需要知道这些信息以便它可以适当地将该堆栈映射到它自己的执行环境中,并在任何後续的存储器映射中描述它

HOB使用阶段在初始化期间读取此HOB。 HOB使用阶段可以选择移动或重新定位BSP的堆栈以满足HOB使用阶段实施所定义的大尛和位置要求。 因此其他HOB使用阶段组件不能依赖BSP堆栈存储器分配HOB来描述在执行HOB使用阶段期间BSP堆栈所处的位置。

没有任何附加限定的BSP堆栈內存分配HOB描述了以下任一项:

  • BSP当前使用的堆栈
  • 当前正在执行HOB产生阶段及其可执行内容的处理器。
  • PI体系结构和HOB产生器阶段的模型是单线程執行环境的模型因此它是这个单独的,区分控制的控制线程其环境由此HOB描述。Itanium?处理器系列还需要描述BSPSTORE(AR18)(“后备存储指针存储”)寄存器的值该寄存器保存内存中的连续位置,其中安腾处理器系列寄存器堆栈引擎(RSE)将 溢出它的值

HOB使用阶段在初始化期间读取此HOB。 HOB使用阶段可以选择移动或重新定位BSP的寄存器存储以满足由HOB使用阶段的实现定义的大小和位置要求。因此其他HOB使用阶段组件不能依赖BSP存储器分配HOB来描述在执行HOB使用阶段期间BSP存储器所处的位置。

此HOB仅适用于Itanium处理器系列

定义HOB使用阶段的位置和入口点。

HOB使用阶段在其初始化期间读取存储器分配模块HOB该HOB描述了HOB使用阶段的存储位置。HOB使用阶段应使用该信息为HOB使用阶段创建图像句柄

描述在HOB产生阶段期间在处理器主机总线上找到的所有固定的,不可重定位的资源范围的资源属性

表示资源所有者的GUID。HOB使用阶段组件使用此GUID来关联资源的设备所有权

资源描述符HOB描述在HOB产生阶段期间在处理器主机总线上找到的所有固定的,不可重定位的资源范围的资源属性此HOB类型不描述如何使用内存,而是描述存在的物理内存的属性

HOB使用阶段在建立初始全局一致性域(GCD)映射时读取所有资源描述符HOB。HOB产生阶段的最低要求是HOB产生阶段中的可执行内容报告以下之一:

  • 启动HOB使用阶段所需的资源
  • 在由平台引导策略阶段执行的动态系统配置之前启动的HOB使用阶段驱动程序组件未捕获的固定资源。

例如HOB产生器阶段中的可执行内容应报告在HOB产生器阶段期间找到的任何物理内存。另一个示例是报告包含固件卷的引导固件卷(BFV) HOB产生阶段中的可执行内容不需要报告固定的系统资源,例如I / O端口70h / 71h(实时时钟)因为这些固定资源可以通过特定于平台嘚芯片组驱动程序从GCD分配。例如在平台引导策略阶段之前的HOB使用阶段。

目前的想法是GCD不跟踪HOB的所有者GUID因此承担设备资源所有权的HOB使用階段组件必须在尝试将设备资源分配给自身之前在HOB使用阶段从HCD中释放由HOB产生器阶段初始化的资源。

允许HOB产生阶段中的可执行内容的编写者維护和管理其类型未包含在本规范中的HOB 具体而言,HOB产生阶段中的可执行内容的编写者可以使用此模块特定值生成GUID并命名他们自己的HOB条目

GUID扩展HOB允许HOB产生阶段中的可执行内容的编写者使用GUID创建他们自己的HOB定义。HOB产生阶段中的所有可执行内容都应使用此HOB类型来定义非体系结构嘚特定于实现的数据区域该HOB类型还可以将特定于实现的数据从HOB产生器阶段中的可执行内容传递到HOB使用阶段中的驱动器。

HOB使用阶段组件(洳HOB使用阶段驱动程序)将在HOB使用阶段读取GUID扩展名HOB HOB使用阶段组件必须固有地知道它正在扫描HOB列表的GUID扩展HOB的GUID。 该知识建立了关于HOB在HOB产生阶段Φ的可执行内容与HOB使用者阶段驱动程序之间的定义和使用的合同

详细说明包含固件文件的固件卷的位置。

固件卷的长度(以字节为单位)

固件卷HOB详细说明了包含固件文件的固件卷的位置。 它包括一个基地址和长度特别是,HOB使用阶段将使用这些HOB来发现要执行的驱动程序并且切换到HOB使用阶段将使用该HOB来发现HOB使用阶段固件文件的位置。

固件卷HOB通过以下方式生成:

  • 通过引导固件卷(BFV)中的HOB生成器阶段中的可執行内容其理解平台中存在的固件卷的大小和布局。
  • 通过将固件卷从某些介质加载到内存中的模块 固件卷HOB详细说明了此内存位置。

固件卷HOB描述的固件卷必须具有本规范中描述的固件卷头

HOB使用阶段使用由HOB产生阶段呈现的所有固件卷HOB,以供其对PI固件映像格式的只读支持使鼡HOB产生阶段需要描述可能包含发现其他固件卷所需的HOB使用阶段或平台驱动程序的任何固件卷。

详细说明从另一个固件卷中的文件中提取嘚固件卷的位置

固件卷的长度(以字节为单位)。

包含此固件卷的固件文件的名称

固件卷HOB详细说明了在HOB使用阶段之前从固件卷内的文件中提取的固件卷的位置。通过记录卷和文件名HOB使用阶段可以避免再次处理同一文件。

此HOB由一个模块创建该模块已将另一个文件中的凅件卷加载到内存中。 此HOB详细说明了基本地址长度,文件名和卷名

HOB使用阶段使用由HOB产生阶段呈现的所有固件卷HOB,以供其对PI固件映像格式的只读支持使用

描述处理器信息,例如地址空间和I / O空间功能

标识处理器的最大物理内存可寻址能力。

标识处理器的最大物理I / O可寻址性

对于此版本的规范,此字段将始终设置为零

CPU HOB由HOB产生阶段中的处理器可执行内容产生。它描述了处理器信息例如地址空间和I / O空间功能。HOB使用阶段使用此信息来描述GCD功能的范围

内存池HOB由HOB产生阶段生成,并描述池内存分配HOB使用阶段应该能够忽略这些HOB。此HOB的目的是允许HOB產生阶段在HOB列表中具有简单的内存分配机制内存分配的大小由EFI_HOB_GENERIC_HEADER中的HobLength字段规定。

详细说明合并每个UEFI封装内存页面的位置

UEFI封装的物理内存映射基址。该值被设置为指向UEFI封壳的连续存储器的基础

连续内存的长度(以字节为单位)。

PI固件将创建这些HOB

表示可以忽略HOB的内容。

该HOB類型意味着可以忽略HOB的内容此类型对于支持没有删除服务的简单,仅分配的HOB体系结构是必需的HOB列表的使用者应忽略具有此类型字段的HOB條目。

希望使HOB条目可忽略的代理应将其类型设置为上面定义的原型

表示HOB列表的结尾。 此HOB必须是HOB列表中的最后一个

此HOB类型表示HOB列表的结尾。此HOB类型必须是HOB列表中的最后一个HOB类型并终止HOB列表。 如果HOB列表没有EFI_HOB_TYPE_END_OF_HOB_LIST类型的最终HOB则应将其视为格式错误。

    :()传送门怎么做无限刷的秘籍是什么火炬之光2怎么无限刷传送门怎么做,下面蟹么么来告诉大家吧:

在野外地图中是不是大家都会遇到许多半透明的小怪兽吧哈,杀迉后会出现红色传送门怎么做里面不只有金钱、装备,还有黄色石头、法术秘籍等等等等反正每次进去我都会感觉相当爽的。如果发現爆出了黄装、自己需要的黄色石头还想要,怎么办大锅告诉你,打完不要出去直接退游戏。然后再进必须是单人开始游戏,局域网再开游戏的话是没用的哦二周目的寒山地图的传送门怎么做,进去如果发现是保护水晶的那个就别出来了,发财了~洗刷刷吧~那里絀石头啊~减伤石神马的刷刷就有了~

    以上就是火炬之光2传送门怎么做无限刷的方法了,希望能对大家有所帮助

我要回帖

更多关于 怎么使用传送门 的文章

 

随机推荐