5.2.22. 启动图形资源表 (BGRT)
启动图形资源表 (BGRT) 是一个可选表,它提供了一种机制来指示启动期间在屏幕上绘制的图像以及有关该图像的一些信息。
该表是在屏幕上绘制图像时写入的。这应该在预计任何可能写入屏幕的固件组件完成之后完成,并且知道图像是屏幕上的唯一内容。如果启动路径被中断(例如,通过按键),则状态字段中的有效位应更改为 0,以向OS指示当前映像已无效。
该表仅在UEFI 系统上受支持。
| 表 5.86 启动图形资源表字段 字段 | 字节长度 | 字节偏移 | 描述 |
|---|---|---|---|
| 标题 | |||
| - 签名 | 4 | 0 | “BGRT”表的签名。 |
| - 长度 | 4 | 4 | 整个表的长度(以字节为单位) |
| - 修订 | 1 | 8 | 1 |
| - 校验和 | 1 | 9 | 整个表的总和必须为零。 |
| - OEMID | 6 | 10 | 10 OEM ID |
| - OEM 表 ID | 8 | 16 | 16表ID是制造商型号ID。 |
| - OEM 修订 | 4 | 24 | OEM 提供的OEM 表ID 的修订版。 |
| - 创建者ID | 4 | 28 | 28创建该表的实用程序的供应商ID。 |
| - 创建者修订 | 4 | 32 | 32创建表的实用程序的修订。 |
| 版本 | 2 | 36 | 36 2 字节(16 位)版本ID。该值必须为 1。 |
| 状态 | 1 | 38 | 38 1 字节状态字段,指示图像的当前状态: 位 [7:3] = 保留(必须为零) 位 [2:1] = 方向偏移。这些位描述了与图像默认方向的顺时针偏移度数。 [00] = 0,无偏移 [01] = 90 [10] = 180 [11] = 270 位 [0] = 显示。 1 表示显示启动映像图形。 |
| 图像类型 | 1 | 39 | 39 指示图像格式的 1 字节枚举类型字段: 0 = 位图 1 - 255 保留(供将来使用) |
| 图像地址 | 8 | 40 | 指向固件内存中图像位图副本的 8 字节(64 位)物理地址。 |
| 图像偏移 X | 4 | 48 | 48 4 字节(32 位)无符号长整数,描述启动映像的显示 X 偏移量。 (X, Y) 显示启动映像左上角的偏移量。显示屏的左上角位于偏移 (0, 0) 处。 |
| 图像偏移 Y | 4 | 52 | 52 4 字节(32 位)无符号长整数,描述启动映像的显示 Y 偏移量。 (X, Y) 显示启动映像左上角的偏移量。显示屏的左上角位于偏移 (0, 0) 处。 |
BGRT 是一个动态 ACPI 表,启动固件可以为 OSPM 提供指向内存中启动图形映像存储位置的指针。
5.2.22.1. 版本
版本字段标识 BGRT 表实现的修订版本。版本字段应设置为 1。
5.2.22.2. 状态
状态字段包含有关 BGRT 图像当前状态的信息(请参见上面的表 5.86)。
5.2.22.3. 图像类型
图像类型字段包含有关返回图像的格式的信息。如果值为 0,则图像类型为位图。位图的格式在“位图类型”标题下的“ACPI 相关文档链接”(http://uefi.org/acpi) 中的参考中定义。
表中未定义的所有其他值均保留以供将来使用。
5.2.22.4. 图像地址
映像地址包含内存中可以找到引导映像的内存中副本的位置。映像应存储在 EfiBootServicesData 中,以便系统在不再需要映像时回收内存。
实现必须以像素格式为 0xRRGGBB 的 24 位位图或像素格式为 0xrrRRGGBB 的 32 位位图呈现图像,其中“rr”被保留。
5.2.22.5. 图像偏移
图像偏移量包含 2 个连续的 4 字节无符号长整数,描述启动映像左上角的 (X, Y) 显示偏移量。显示屏的左上角位于偏移 (0, 0) 处。
图 5.7 图像偏移
