[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 4/9] ACPI: Add Virtual Machine Generation ID
From: |
Laszlo Ersek |
Subject: |
Re: [Qemu-devel] [PATCH v4 4/9] ACPI: Add Virtual Machine Generation ID support |
Date: |
Wed, 25 Jan 2017 15:00:23 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 |
On 01/25/17 11:04, Laszlo Ersek wrote:
> (7) The blob constructed in this function, as a GArray, should be the
> exact same object that is later linked into fw_cfg, via acpi_setup() -->
> vmgenid_add_fw_cfg().
>
> Currently, the blob is allocated here under the variable "guid", and
> passed to bios_linker_loader_alloc_ret_addr(). That results in the
> creation of a new BiosLinkerFileEntry object, with the "blob" field
> being set to "guid".
>
> However, in vmgenid_add_fw_cfg(), the VmGenIdState.guid.data field is
> linked into fw_cfg. This is incorrect, those objects are independent,
> but they should be the same.
>
> Here's how to implement it:
>
> * Add the field
>
> GArray *vmgenid
>
> to the "AcpiBuildTables" structure in "include/hw/acpi/aml-build.h",
> under the "tcpalog" field.
>
> * Extend the acpi_build_tables_init() and acpi_build_tables_cleanup()
> functions in "hw/acpi/aml-build.c", so that the new field is
> initialized and released.
In acpi_build_tables_cleanup(), the line you need is
g_array_free(tables->vmgenid, mfre);
similarly to "tcpalog".
>
> * In the acpi_build() function, pass "tables->vmgenid" to
> vmgenid_build_acpi(). This will require the a new parameter for the
> latter function.
>
> * In vmgenid_build_acpi(), construct the blob as described under (5)
> and (6).
>
> * In the acpi_setup() function, pass "tables.vmgenid" to
> vmgenid_add_fw_cfg(). (Again, new function parameter is necessary.)
>
> * In vmgenid_add_fw_cfg(), link "tables.vmgenid->data" into fw_cfg, not
> VmGenIdState.guid.data.
Thanks
Laszlo
- [Qemu-devel] [PATCH v4 5/9] qmp/hmp: add query-vm-generation-id and 'info vm-generation-id' commands, (continued)
- [Qemu-devel] [PATCH v4 5/9] qmp/hmp: add query-vm-generation-id and 'info vm-generation-id' commands, ben, 2017/01/24
- [Qemu-devel] [PATCH v4 6/9] qmp/hmp: add set-vm-generation-id commands, ben, 2017/01/24
- [Qemu-devel] [PATCH v4 2/9] linker-loader: Add new 'allocate and return address' cmd, ben, 2017/01/24
- [Qemu-devel] [PATCH v4 7/9] PC: Support dynamic sysbus on pc_i440fx, ben, 2017/01/24
- [Qemu-devel] [PATCH v4 8/9] tests: Move reusable ACPI macros into a new header file, ben, 2017/01/24
- [Qemu-devel] [PATCH v4 4/9] ACPI: Add Virtual Machine Generation ID support, ben, 2017/01/24
- [Qemu-devel] [PATCH v4 9/9] tests: Add unit tests for the VM Generation ID feature, ben, 2017/01/24