From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Igor Mammedov <imammedo@redhat.com>,
Thomas Huth <thuth@redhat.com>,
Laurent Vivier <lvivier@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: [Qemu-devel] [PULL 09/44] tests: acpi: make sure FADT is fetched only once
Date: Mon, 14 Jan 2019 20:35:45 -0500 [thread overview]
Message-ID: <20190115003812.11329-10-mst@redhat.com> (raw)
In-Reply-To: <20190115003812.11329-1-mst@redhat.com>
From: Igor Mammedov <imammedo@redhat.com>
Whole FADT is fetched as part of RSDT referenced tables in
fetch_rsdt_referenced_tables() albeit a bit later than when FADT
is partially parsed in fadt_fetch_facs_and_dsdt_ptrs().
However there is no reason for calling fetch_rsdt_referenced_tables()
so late, just move it right after we fetched RSDT and before
fadt_fetch_facs_and_dsdt_ptrs(). That way we can reuse whole FADT
fetched by fetch_rsdt_referenced_tables() and avoid duplicate
custom fields fetching in fadt_fetch_facs_and_dsdt_ptrs().
While at it rename fadt_fetch_facs_and_dsdt_ptrs() to
test_acpi_fadt_table(). The follow up patch will merge
fadt_fetch_facs_and_dsdt_ptrs() into test_acpi_rsdt_table(),
so that we would end up calling only test_acpi_FOO_table()
for consistency for tables that require special processing.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
tests/bios-tables-test.c | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
index 3f20bbd24e..b2a40bbda3 100644
--- a/tests/bios-tables-test.c
+++ b/tests/bios-tables-test.c
@@ -141,18 +141,15 @@ static void test_acpi_rsdt_table(test_data *data)
data->rsdt_tables_nr = tables_nr;
}
-static void fadt_fetch_facs_and_dsdt_ptrs(test_data *data)
+static void test_acpi_fadt_table(test_data *data)
{
- uint32_t addr;
- AcpiTableHeader hdr;
+ /* FADT table is 1st */
+ AcpiSdtTable *fadt = &g_array_index(data->tables, typeof(*fadt), 0);
- /* FADT table comes first */
- addr = le32_to_cpu(data->rsdt_tables_addr[0]);
- ACPI_READ_TABLE_HEADER(data->qts, &hdr, addr);
- ACPI_ASSERT_CMP(hdr.signature, "FACP");
+ ACPI_ASSERT_CMP(fadt->header->signature, "FACP");
- ACPI_READ_FIELD(data->qts, data->facs_addr, addr);
- ACPI_READ_FIELD(data->qts, data->dsdt_addr, addr);
+ memcpy(&data->facs_addr, fadt->aml + 36 /* FIRMWARE_CTRL */, 4);
+ memcpy(&data->dsdt_addr, fadt->aml + 40 /* DSDT */, 4);
}
static void sanitize_fadt_ptrs(test_data *data)
@@ -628,10 +625,10 @@ static void test_acpi_one(const char *params, test_data *data)
test_acpi_rsdp_address(data);
test_acpi_rsdp_table(data);
test_acpi_rsdt_table(data);
- fadt_fetch_facs_and_dsdt_ptrs(data);
+ fetch_rsdt_referenced_tables(data);
+ test_acpi_fadt_table(data);
test_acpi_facs_table(data);
test_acpi_dsdt_table(data);
- fetch_rsdt_referenced_tables(data);
sanitize_fadt_ptrs(data);
--
MST
next prev parent reply other threads:[~2019-01-15 1:42 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-15 1:35 [Qemu-devel] [PULL 00/44] pci, pc, virtio: fixes, features Michael S. Tsirkin
2019-01-15 1:35 ` [Qemu-devel] [PULL 01/44] pci/pcie: stop plug/unplug if the slot is locked Michael S. Tsirkin
2019-01-15 1:35 ` [Qemu-devel] [PULL 02/44] msix: make pba size math more uniform Michael S. Tsirkin
2019-01-15 1:35 ` [Qemu-devel] [PULL 03/44] hw/misc/ivshmem: Remove deprecated "ivshmem" legacy device Michael S. Tsirkin
2019-01-15 1:35 ` [Qemu-devel] [PULL 04/44] qemu: avoid memory leak while remove disk Michael S. Tsirkin
2019-01-15 1:35 ` [Qemu-devel] [PULL 05/44] tests: vhost-user-test: initialize 'fd' in chr_read Michael S. Tsirkin
2019-01-15 1:35 ` [Qemu-devel] [PULL 06/44] vhost-user: fix ioeventfd_enabled Michael S. Tsirkin
2019-01-15 1:35 ` [Qemu-devel] [PULL 07/44] util: check the return value of fcntl in qemu_set_{block, nonblock} Michael S. Tsirkin
2019-01-15 1:35 ` [Qemu-devel] [PULL 08/44] tests: acpi: use AcpiSdtTable::aml in consistent way Michael S. Tsirkin
2019-01-15 1:35 ` Michael S. Tsirkin [this message]
2019-01-15 1:35 ` [Qemu-devel] [PULL 10/44] tests: acpi: simplify rsdt handling Michael S. Tsirkin
2019-01-15 1:35 ` [Qemu-devel] [PULL 11/44] tests: acpi: reuse fetch_table() for fetching FACS and DSDT Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 12/44] tests: acpi: reuse fetch_table() in vmgenid-test Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 13/44] tests: smbios: fetch whole table in one step instead of reading it step by step Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 14/44] tests: acpi: squash sanitize_fadt_ptrs() into test_acpi_fadt_table() Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 15/44] tests: acpi: use AcpiSdtTable::aml instead of AcpiSdtTable::header::signature Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 16/44] virtio-net: support RSC v4/v6 tcp traffic for Windows HCK Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 17/44] virtio-net: changed VIRTIO_NET_F_RSC_EXT to be 61 Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 18/44] virtio: split vhost vsock bits from virtio-pci Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 19/44] virtio: split virtio input host " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 20/44] virtio: split virtio input " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 21/44] virtio: split virtio rng " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 22/44] virtio: split virtio balloon " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 23/44] virtio: split virtio 9p " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 24/44] virtio: split vhost user blk " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 25/44] virtio: split vhost user scsi " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 26/44] virtio: split vhost " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 27/44] virtio: split virtio " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 28/44] virtio: split virtio blk " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 29/44] virtio: split virtio net " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 30/44] virtio: split virtio serial " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 31/44] virtio: split virtio gpu bits from virtio-pci.h Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 32/44] virtio: split virtio crypto " Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 33/44] virtio: virtio 9p really requires CONFIG_VIRTFS to work Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 34/44] globals: Allow global properties to be optional Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 35/44] virtio: Make disable-legacy/disable-modern compat properties optional Michael S. Tsirkin
2019-01-15 1:36 ` [Qemu-devel] [PULL 36/44] hw/misc/edu: add msi_uninit() for pci_edu_uninit() Michael S. Tsirkin
2019-01-15 1:37 ` [Qemu-devel] [PULL 37/44] tpm: add a "ppi" boolean property Michael S. Tsirkin
2019-01-15 1:37 ` [Qemu-devel] [PULL 38/44] tpm: allocate/map buffer for TPM Physical Presence interface Michael S. Tsirkin
2019-01-15 1:37 ` [Qemu-devel] [PULL 39/44] acpi: expose TPM/PPI configuration parameters to firmware via fw_cfg Michael S. Tsirkin
2019-01-15 1:37 ` [Qemu-devel] [PULL 40/44] acpi: build TPM Physical Presence interface Michael S. Tsirkin
2019-01-15 1:37 ` [Qemu-devel] [PULL 41/44] acpi: add ACPI memory clear interface Michael S. Tsirkin
2019-01-15 1:37 ` [Qemu-devel] [PULL 42/44] tpm: clear RAM when "memory overwrite" requested Michael S. Tsirkin
2019-01-15 1:37 ` [Qemu-devel] [PULL 43/44] hw: acpi: Fix memory hotplug AML generation error Michael S. Tsirkin
2019-01-15 1:37 ` [Qemu-devel] [PULL 44/44] acpi: update expected files Michael S. Tsirkin
2019-01-15 5:38 ` [Qemu-devel] [PULL 00/44] pci, pc, virtio: fixes, features Peter Xu
2019-01-15 12:49 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190115003812.11329-10-mst@redhat.com \
--to=mst@redhat.com \
--cc=imammedo@redhat.com \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).