[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [qemu PATCH 6/7] hw/i386/acpi-build: ask the fw to alloc AC
From: |
Laszlo Ersek |
Subject: |
[Qemu-devel] [qemu PATCH 6/7] hw/i386/acpi-build: ask the fw to alloc ACPI_BUILD_TPMLOG_FILE with 64bit/NOACPI |
Date: |
Fri, 2 Jun 2017 18:00:05 +0200 |
The "etc/tpm/log" fw_cfg blob is guaranteed not to contain ACPI tables, so
turning off the ACPI SDT header probe in OVMF is the right thing to do.
In addition, the address of the blob is patched into the
"TCPA.log_area_start_address" field, which has type "uint64_t". Therefore
we can change the allocation zone to 64-bit as well.
SeaBIOS needs a patch for recognizing (and masking out) the
BIOS_LINKER_LOADER_ALLOC_CONTENT_NOACPI bit, and also for handling
BIOS_LINKER_LOADER_ALLOC_ZONE_64BIT the same as
BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH, but its allocation behavior will not
change.
Cc: "Michael S. Tsirkin" <address@hidden>
Cc: Ard Biesheuvel <address@hidden>
Cc: Ben Warren <address@hidden>
Cc: Dongjiu Geng <address@hidden>
Cc: Igor Mammedov <address@hidden>
Cc: Shannon Zhao <address@hidden>
Cc: Stefan Berger <address@hidden>
Cc: Xiao Guangrong <address@hidden>
Signed-off-by: Laszlo Ersek <address@hidden>
---
Notes:
I don't know how to test this device, so I didn't. Help from the
device's maintainer would be highly appreciated. Thanks.
hw/i386/acpi-build.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 3c4c28c6c2ca..1ec008ec5003 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -2285,12 +2285,12 @@ build_tpm_tcpa(GArray *table_data, BIOSLinker *linker,
GArray *tcpalog)
tcpa->platform_class = cpu_to_le16(TPM_TCPA_ACPI_CLASS_CLIENT);
tcpa->log_area_minimum_length = cpu_to_le32(TPM_LOG_AREA_MINIMUM_SIZE);
acpi_data_push(tcpalog, le32_to_cpu(tcpa->log_area_minimum_length));
bios_linker_loader_alloc(linker, ACPI_BUILD_TPMLOG_FILE, tcpalog, 1,
- BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH,
- BIOS_LINKER_LOADER_ALLOC_CONTENT_MIXED);
+ BIOS_LINKER_LOADER_ALLOC_ZONE_64BIT,
+ BIOS_LINKER_LOADER_ALLOC_CONTENT_NOACPI);
/* log area start address to be filled by Guest linker */
bios_linker_loader_add_pointer(linker,
ACPI_BUILD_TABLE_FILE, log_addr_offset, log_addr_size,
ACPI_BUILD_TPMLOG_FILE, 0);
--
2.9.3
- [Qemu-devel] allocation zone extensions for the firmware linker/loader, Laszlo Ersek, 2017/06/02
- [Qemu-devel] [qemu PATCH 0/7] bios-linker-loader: introduce the NOACPI hint and the 64-bit zone for ALLOCATE, Laszlo Ersek, 2017/06/02
- [Qemu-devel] [qemu PATCH 1/7] hw/acpi/bios-linker-loader: expose allocation zone as an enum, Laszlo Ersek, 2017/06/02
- [Qemu-devel] [qemu PATCH 2/7] hw/acpi/bios-linker-loader: introduce "no ACPI tables" content hint for ALLOC, Laszlo Ersek, 2017/06/02
- [Qemu-devel] [qemu PATCH 4/7] hw/acpi/nvdimm: ask the firmware to allocate NVDIMM_DSM_MEM_FILE as NOACPI, Laszlo Ersek, 2017/06/02
- [Qemu-devel] [qemu PATCH 3/7] hw/acpi/bios-linker-loader: introduce BIOS_LINKER_LOADER_ALLOC_ZONE_64BIT, Laszlo Ersek, 2017/06/02
- [Qemu-devel] [qemu PATCH 5/7] hw/acpi/vmgenid: ask the fw to alloc VMGENID_GUID_FW_CFG_FILE as NOACPI, Laszlo Ersek, 2017/06/02
- [Qemu-devel] [qemu PATCH 6/7] hw/i386/acpi-build: ask the fw to alloc ACPI_BUILD_TPMLOG_FILE with 64bit/NOACPI,
Laszlo Ersek <=
- [Qemu-devel] [qemu PATCH 7/7] hw/arm/virt-acpi-build: make the fw alloc blobs with ACPI tables as 64bit, Laszlo Ersek, 2017/06/02
- [Qemu-devel] [seabios PATCH 0/2] romfile_loader: cope with the UEFI-oriented allocation extensions, Laszlo Ersek, 2017/06/02
- [Qemu-devel] [edk2 PATCH 0/3] OvmfPkg/AcpiPlatformDxe: NOACPI hint and 64-bit zone in fw_cfg blob alloc, Laszlo Ersek, 2017/06/02
- Re: [Qemu-devel] allocation zone extensions for the firmware linker/loader, Michael S. Tsirkin, 2017/06/02