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>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Laurent Vivier" <lvivier@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: [Qemu-devel] [PULL v2 13/49] tests: smbios: fetch whole table in one step instead of reading it step by step
Date: Tue, 15 Jan 2019 15:04:44 -0500 [thread overview]
Message-ID: <20190115200252.25911-14-mst@redhat.com> (raw)
In-Reply-To: <20190115200252.25911-1-mst@redhat.com>
From: Igor Mammedov <imammedo@redhat.com>
replace a bunch of ACPI_READ_ARRAY/ACPI_READ_FIELD macro, that read
SMBIOS table field by field with one memread() to fetch whole table
at once and drop no longer used ACPI_READ_ARRAY/ACPI_READ_FIELD macro.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
tests/acpi-utils.h | 17 -----------------
tests/bios-tables-test.c | 15 +--------------
2 files changed, 1 insertion(+), 31 deletions(-)
diff --git a/tests/acpi-utils.h b/tests/acpi-utils.h
index 1aa00db2b6..cb7183e057 100644
--- a/tests/acpi-utils.h
+++ b/tests/acpi-utils.h
@@ -30,23 +30,6 @@ typedef struct {
bool tmp_files_retain; /* do not delete the temp asl/aml */
} AcpiSdtTable;
-#define ACPI_READ_FIELD(qts, field, addr) \
- do { \
- qtest_memread(qts, addr, &field, sizeof(field)); \
- addr += sizeof(field); \
- } while (0)
-
-#define ACPI_READ_ARRAY_PTR(qts, arr, length, addr) \
- do { \
- int idx; \
- for (idx = 0; idx < length; ++idx) { \
- ACPI_READ_FIELD(qts, arr[idx], addr); \
- } \
- } while (0)
-
-#define ACPI_READ_ARRAY(qts, arr, addr) \
- ACPI_READ_ARRAY_PTR(qts, arr, sizeof(arr) / sizeof(arr[0]), addr)
-
#define ACPI_ASSERT_CMP(actual, expected) do { \
char ACPI_ASSERT_CMP_str[5] = {}; \
memcpy(ACPI_ASSERT_CMP_str, &actual, 4); \
diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
index 8fdd1c173a..dcd6be8bbd 100644
--- a/tests/bios-tables-test.c
+++ b/tests/bios-tables-test.c
@@ -406,32 +406,19 @@ static bool smbios_ep_table_ok(test_data *data)
struct smbios_21_entry_point *ep_table = &data->smbios_ep_table;
uint32_t addr = data->smbios_ep_addr;
- ACPI_READ_ARRAY(data->qts, ep_table->anchor_string, addr);
+ qtest_memread(data->qts, addr, ep_table, sizeof(*ep_table));
if (memcmp(ep_table->anchor_string, "_SM_", 4)) {
return false;
}
- ACPI_READ_FIELD(data->qts, ep_table->checksum, addr);
- ACPI_READ_FIELD(data->qts, ep_table->length, addr);
- ACPI_READ_FIELD(data->qts, ep_table->smbios_major_version, addr);
- ACPI_READ_FIELD(data->qts, ep_table->smbios_minor_version, addr);
- ACPI_READ_FIELD(data->qts, ep_table->max_structure_size, addr);
- ACPI_READ_FIELD(data->qts, ep_table->entry_point_revision, addr);
- ACPI_READ_ARRAY(data->qts, ep_table->formatted_area, addr);
- ACPI_READ_ARRAY(data->qts, ep_table->intermediate_anchor_string, addr);
if (memcmp(ep_table->intermediate_anchor_string, "_DMI_", 5)) {
return false;
}
- ACPI_READ_FIELD(data->qts, ep_table->intermediate_checksum, addr);
- ACPI_READ_FIELD(data->qts, ep_table->structure_table_length, addr);
if (ep_table->structure_table_length == 0) {
return false;
}
- ACPI_READ_FIELD(data->qts, ep_table->structure_table_address, addr);
- ACPI_READ_FIELD(data->qts, ep_table->number_of_structures, addr);
if (ep_table->number_of_structures == 0) {
return false;
}
- ACPI_READ_FIELD(data->qts, ep_table->smbios_bcd_revision, addr);
if (acpi_calc_checksum((uint8_t *)ep_table, sizeof *ep_table) ||
acpi_calc_checksum((uint8_t *)ep_table + 0x10,
sizeof *ep_table - 0x10)) {
--
MST
next prev parent reply other threads:[~2019-01-15 20:05 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-15 20:03 [Qemu-devel] [PULL v2 00/49] pci, pc, virtio: fixes, features Michael S. Tsirkin
2019-01-15 20:03 ` [Qemu-devel] [PULL v2 01/49] pci/pcie: stop plug/unplug if the slot is locked Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 02/49] msix: make pba size math more uniform Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 03/49] hw/misc/ivshmem: Remove deprecated "ivshmem" legacy device Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 04/49] qemu: avoid memory leak while remove disk Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 05/49] tests: vhost-user-test: initialize 'fd' in chr_read Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 06/49] vhost-user: fix ioeventfd_enabled Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 07/49] util: check the return value of fcntl in qemu_set_{block, nonblock} Michael S. Tsirkin
2019-01-25 18:53 ` Philippe Mathieu-Daudé
2019-01-25 18:58 ` Kamil Rytarowski
2019-01-25 19:04 ` Brad Smith
2019-01-25 19:36 ` Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 08/49] tests: acpi: use AcpiSdtTable::aml in consistent way Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 09/49] tests: acpi: make sure FADT is fetched only once Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 10/49] tests: acpi: simplify rsdt handling Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 11/49] tests: acpi: reuse fetch_table() for fetching FACS and DSDT Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 12/49] tests: acpi: reuse fetch_table() in vmgenid-test Michael S. Tsirkin
2019-01-15 20:04 ` Michael S. Tsirkin [this message]
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 14/49] tests: acpi: squash sanitize_fadt_ptrs() into test_acpi_fadt_table() Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 15/49] tests: acpi: use AcpiSdtTable::aml instead of AcpiSdtTable::header::signature Michael S. Tsirkin
2019-01-15 20:04 ` [Qemu-devel] [PULL v2 16/49] virtio-net: support RSC v4/v6 tcp traffic for Windows HCK Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 17/49] virtio-net: changed VIRTIO_NET_F_RSC_EXT to be 61 Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 18/49] virtio: split vhost vsock bits from virtio-pci Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 19/49] virtio: split virtio input host " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 20/49] virtio: split virtio input " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 21/49] virtio: split virtio rng " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 22/49] virtio: split virtio balloon " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 23/49] virtio: split virtio 9p " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 24/49] virtio: split vhost user blk " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 25/49] virtio: split vhost user scsi " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 26/49] virtio: split vhost " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 27/49] virtio: split virtio " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 28/49] virtio: split virtio blk " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 29/49] virtio: split virtio net " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 30/49] virtio: split virtio serial " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 31/49] virtio: split virtio gpu bits from virtio-pci.h Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 32/49] virtio: split virtio crypto " Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 33/49] virtio: virtio 9p really requires CONFIG_VIRTFS to work Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 34/49] globals: Allow global properties to be optional Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 35/49] virtio: Make disable-legacy/disable-modern compat properties optional Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 36/49] hw/misc/edu: add msi_uninit() for pci_edu_uninit() Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 37/49] tpm: add a "ppi" boolean property Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 38/49] tpm: allocate/map buffer for TPM Physical Presence interface Michael S. Tsirkin
2019-01-15 20:05 ` [Qemu-devel] [PULL v2 39/49] acpi: expose TPM/PPI configuration parameters to firmware via fw_cfg Michael S. Tsirkin
2019-01-15 20:06 ` [Qemu-devel] [PULL v2 40/49] acpi: build TPM Physical Presence interface Michael S. Tsirkin
2019-01-15 20:06 ` [Qemu-devel] [PULL v2 41/49] acpi: add ACPI memory clear interface Michael S. Tsirkin
2019-01-15 20:06 ` [Qemu-devel] [PULL v2 42/49] tpm: clear RAM when "memory overwrite" requested Michael S. Tsirkin
2019-01-15 20:06 ` [Qemu-devel] [PULL v2 43/49] hw: acpi: Fix memory hotplug AML generation error Michael S. Tsirkin
2019-01-15 20:06 ` [Qemu-devel] [PULL v2 44/49] acpi: update expected files Michael S. Tsirkin
2019-01-15 20:06 ` [Qemu-devel] [PULL v2 45/49] qemu/compiler: Define QEMU_NONSTRING Michael S. Tsirkin
2019-01-15 20:06 ` [Qemu-devel] [PULL v2 46/49] block/sheepdog: Use QEMU_NONSTRING for non NUL-terminated arrays Michael S. Tsirkin
2019-01-15 20:06 ` [Qemu-devel] [PULL v2 47/49] hw/acpi: " Michael S. Tsirkin
2019-01-15 20:06 ` [Qemu-devel] [PULL v2 48/49] migration: Fix stringop-truncation warning Michael S. Tsirkin
2019-01-15 20:06 ` [Qemu-devel] [PULL v2 49/49] migration: Use strnlen() for fixed-size string Michael S. Tsirkin
2019-01-17 12:48 ` [Qemu-devel] [PULL v2 00/49] pci, pc, virtio: fixes, features Peter Maydell
2019-01-17 13:44 ` Michael S. Tsirkin
2019-01-17 14:07 ` Peter Maydell
2019-01-17 14:19 ` Michael S. Tsirkin
2019-01-17 14:25 ` Peter Maydell
2019-01-17 14:38 ` Michael S. Tsirkin
2019-01-17 16:21 ` Peter Maydell
2019-01-18 2:12 ` Michael S. Tsirkin
2019-01-18 9:28 ` Igor Mammedov
2019-01-18 15:56 ` Peter Maydell
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=20190115200252.25911-14-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=philmd@redhat.com \
--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).