diff options
author | Laszlo Ersek <lersek@redhat.com> | 2021-05-26 22:14:12 +0200 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2021-06-04 16:01:50 +0000 |
commit | 747b1ef72543c321c386198641a29de7f8537520 (patch) | |
tree | 70139060ecf2cc98a0bbb6b319482e7f83fa89a3 /OvmfPkg/AcpiPlatformDxe/QemuLoader.h | |
parent | 6d1e56e71567303435e0fb3173dacd0ff4859efe (diff) | |
download | edk2-747b1ef72543c321c386198641a29de7f8537520.tar.gz edk2-747b1ef72543c321c386198641a29de7f8537520.tar.bz2 edk2-747b1ef72543c321c386198641a29de7f8537520.zip |
OvmfPkg/AcpiPlatformDxe: move "QemuLoader.h" to IndustryStandard
Turn the "QemuLoader.h" header into a public (IndustryStandard) one. The
QEMU ACPI linker-loader interface is stable between QEMU and multiple
guest firmwares.
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20210526201446.12554-10-lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Diffstat (limited to 'OvmfPkg/AcpiPlatformDxe/QemuLoader.h')
-rw-r--r-- | OvmfPkg/AcpiPlatformDxe/QemuLoader.h | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/OvmfPkg/AcpiPlatformDxe/QemuLoader.h b/OvmfPkg/AcpiPlatformDxe/QemuLoader.h deleted file mode 100644 index 5782a23c43..0000000000 --- a/OvmfPkg/AcpiPlatformDxe/QemuLoader.h +++ /dev/null @@ -1,106 +0,0 @@ -/** @file
- Command structures for the QEMU FwCfg table loader interface.
-
- Copyright (C) 2014, Red Hat, Inc.
-
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef QEMU_LOADER_H_
-#define QEMU_LOADER_H_
-
-#include <Base.h>
-#include <IndustryStandard/QemuFwCfg.h>
-
-//
-// The types and the documentation reflects the SeaBIOS interface.
-//
-#define QEMU_LOADER_FNAME_SIZE QEMU_FW_CFG_FNAME_SIZE
-
-typedef enum {
- QemuLoaderCmdAllocate = 1,
- QemuLoaderCmdAddPointer,
- QemuLoaderCmdAddChecksum,
- QemuLoaderCmdWritePointer,
-} QEMU_LOADER_COMMAND_TYPE;
-
-typedef enum {
- QemuLoaderAllocHigh = 1,
- QemuLoaderAllocFSeg
-} QEMU_LOADER_ALLOC_ZONE;
-
-#pragma pack (1)
-//
-// QemuLoaderCmdAllocate: download the fw_cfg file named File, to a buffer
-// allocated in the zone specified by Zone, aligned at a multiple of Alignment.
-//
-typedef struct {
- UINT8 File[QEMU_LOADER_FNAME_SIZE]; // NUL-terminated
- UINT32 Alignment; // power of two
- UINT8 Zone; // QEMU_LOADER_ALLOC_ZONE values
-} QEMU_LOADER_ALLOCATE;
-
-//
-// QemuLoaderCmdAddPointer: the bytes at
-// [PointerOffset..PointerOffset+PointerSize) in the file PointerFile contain a
-// relative pointer (an offset) into PointeeFile. Increment the relative
-// pointer's value by the base address of where PointeeFile's contents have
-// been placed (when QemuLoaderCmdAllocate has been executed for PointeeFile).
-//
-typedef struct {
- UINT8 PointerFile[QEMU_LOADER_FNAME_SIZE]; // NUL-terminated
- UINT8 PointeeFile[QEMU_LOADER_FNAME_SIZE]; // NUL-terminated
- UINT32 PointerOffset;
- UINT8 PointerSize; // one of 1, 2, 4, 8
-} QEMU_LOADER_ADD_POINTER;
-
-//
-// QemuLoaderCmdAddChecksum: calculate the UINT8 checksum (as per
-// CalculateChecksum8()) of the range [Start..Start+Length) in File. Store the
-// UINT8 result at ResultOffset in the same File.
-//
-typedef struct {
- UINT8 File[QEMU_LOADER_FNAME_SIZE]; // NUL-terminated
- UINT32 ResultOffset;
- UINT32 Start;
- UINT32 Length;
-} QEMU_LOADER_ADD_CHECKSUM;
-
-//
-// QemuLoaderCmdWritePointer: the bytes at
-// [PointerOffset..PointerOffset+PointerSize) in the writeable fw_cfg file
-// PointerFile are to receive the absolute address of PointeeFile, as allocated
-// and downloaded by the firmware, incremented by the value of PointeeOffset.
-// Store the sum of (a) the base address of where PointeeFile's contents have
-// been placed (when QemuLoaderCmdAllocate has been executed for PointeeFile)
-// and (b) PointeeOffset, to this portion of PointerFile.
-//
-// This command is similar to QemuLoaderCmdAddPointer; the difference is that
-// the "pointer to patch" does not exist in guest-physical address space, only
-// in "fw_cfg file space". In addition, the "pointer to patch" is not
-// initialized by QEMU in-place with a possibly nonzero offset value: the
-// relative offset into PointeeFile comes from the explicit PointeeOffset
-// field.
-//
-typedef struct {
- UINT8 PointerFile[QEMU_LOADER_FNAME_SIZE]; // NUL-terminated
- UINT8 PointeeFile[QEMU_LOADER_FNAME_SIZE]; // NUL-terminated
- UINT32 PointerOffset;
- UINT32 PointeeOffset;
- UINT8 PointerSize; // one of 1, 2, 4, 8
-} QEMU_LOADER_WRITE_POINTER;
-
-typedef struct {
- UINT32 Type; // QEMU_LOADER_COMMAND_TYPE values
- union {
- QEMU_LOADER_ALLOCATE Allocate;
- QEMU_LOADER_ADD_POINTER AddPointer;
- QEMU_LOADER_ADD_CHECKSUM AddChecksum;
- QEMU_LOADER_WRITE_POINTER WritePointer;
- UINT8 Padding[124];
- } Command;
-} QEMU_LOADER_ENTRY;
-#pragma pack ()
-
-#endif
|