Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Windows Platform Binary Table (WPBT) format






Introduction

This paper describes the format of a Windows Platform Binary Table (WPBT). The WPBT is a fixed Advanced Configuration and Power Interface (ACPI) table that enables boot firmware to provide Windows with a platform binary that the operating system can execute. The binary handoff medium is physical memory, allowing the boot firmware to provide the platform binary without modifying the Windows image on disk. In the initial version, the WPBT simply contains a physical address pointer to a flat, Portable Executable (PE) image that has been copied to physical memory. The WPBT is extensible, allowing the layout of published platform binaries to be more complex in future versions and allowing the support of more than one binary type.

It is expected that the binary pointed to by the WPBT is part of the boot firmware ROM image. The binary can be shadowed to physical memory as part of the initial bootstrap of the boot firmware, or it can be loaded into physical memory by extensible boot firmware code prior to executing any operating system code. A boot firmware component would create the WPBT based on the location of the platform binary. During operating system initialization, Windows will read the WPBT to obtain the physical memory location of the platform binary. In the first version, the binary is required to be a native, user-mode application that is executed by the Windows Session Manager during operating system initialization. Windows will write the flat image to disk, and the Session Manager will launch the process. Windows may reclaim the physical memory described in the WPBT.

If Windows observes a WPBT during operating system initialization, it will attempt to use an ACPI control method to communicate binary execution status back to the platform.

Windows Platform Binary Table (WPBT) format

Table 1 details the layout of the WPBT. The WPBT is published by a boot firmware component, describing the location and usage of platform binaries in memory.

Table 1. Windows Platform Binary Table

Field Byte length Byte offset Description
ACPI Standard Header
Signature     A signature identifying the WPBT. This value must be “WPBT”, written from low-order bytes to high-order bytes (that is, byte 0 must be ‘W’ and byte 3 must be ‘T’).
Length     Length, in bytes, of the WPBT. For Revision 1, the length must be at least 52 bytes.
Revision      
Checksum     Entire table, which must sum to zero.
OEMID     Original equipment manufacturer (OEM) identifier (ID).
OEM Table ID     Manufacturer model ID.
OEM Revision     OEM revision for supplied OEM table ID.
Creator ID     Vendor ID of the utility that created the table.
Creator Revision     Revision of the utility that created the table.
WPBT-Specific Fields
Handoff Memory Size     The size of the handoff memory buffer containing a platform binary.
Handoff Memory Location     The 64-bit physical address of a memory buffer containing a platform binary.
Content Layout     Description of the layout of the handoff memory buffer. Possible values include: 1 – Image location points to a single Portable Executable (PE) image at offset 0 of the specified memory location. The image is a flat image where sections have not been expanded and relocations have not been applied.
Content Type     Description of the content of the binary image and the usage model of the platform binary. Possible values include: 1 – The platform binary is a native user-mode application that should be executed by the Windows Session Manager during operating system initialization.
Content Type–Specific Fields
Type 1–Specific (native user-mode application)
Command-line Arguments Length     Supplies the length, in bytes, of an input string for the native user-mode application. Must be a multiple of two bytes. If no input parameters exist, this field should be set to zero.
Command-line Arguments Variable   An optional Unicode string, which is passed as an input parameter string to the native user-mode application.
             

 

The WPBT provides a pointer to a physical memory location that contains a Windows binary for execution. The initial version of the WPBT is limited, supporting Autochk.exe-type applications executed by the Windows Session Manager during operating system initialization. Additionally, only one binary is supported, which leads to a very simple handoff format where the memory buffer simply contains the executable file. The table definition allows for new handoff layout formats and binary types to be added if necessary.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.