@@ -11,10 +11,13 @@ typedef enum BIOSLinkerLoaderAllocZone {
/* request blob allocation in 32-bit memory */
BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH = 0x1,
/* request blob allocation in FSEG zone (useful for the RSDP ACPI table) */
BIOS_LINKER_LOADER_ALLOC_ZONE_FSEG = 0x2,
+
+ /* request blob allocation in 64-bit memory */
+ BIOS_LINKER_LOADER_ALLOC_ZONE_64BIT = 0x3,
} BIOSLinkerLoaderAllocZone;
typedef enum BIOSLinkerLoaderAllocContent {
/* the blob may or may not contain ACPI tables */
BIOS_LINKER_LOADER_ALLOC_CONTENT_MIXED = 0x00,
Using this allocation zone permits the guest firmware to allocate the blob being downloaded anywhere in the 64-bit address space. QEMU code that generates ADD_POINTER commands with @src_file set to such a blob is responsible for using @dst_patched_offset_size=8. Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Ben Warren <ben@skyportsystems.com> Cc: Dongjiu Geng <gengdongjiu@huawei.com> Cc: Igor Mammedov <imammedo@redhat.com> Cc: Shannon Zhao <zhaoshenglong@huawei.com> Cc: Stefan Berger <stefanb@linux.vnet.ibm.com> Cc: Xiao Guangrong <guangrong.xiao@linux.intel.com> Signed-off-by: Laszlo Ersek <lersek@redhat.com> --- include/hw/acpi/bios-linker-loader.h | 3 +++ 1 file changed, 3 insertions(+)