[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 6/8] tests: smbios: fetch whole table in one
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH v2 6/8] tests: smbios: fetch whole table in one step instead of reading it step by step |
Date: |
Fri, 28 Dec 2018 18:54:57 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 |
On 12/27/18 3:13 PM, Igor Mammedov wrote:
> 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 <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> V2:
> rebase: s/memread/qtest_memread/
> ---
> 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 1aa00db..cb7183e 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 8fdd1c1..dcd6be8 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)) {
>
- [Qemu-devel] [PATCH v2 0/8] tests: apci: consolidate and cleanup ACPI test code, Igor Mammedov, 2018/12/27
- [Qemu-devel] [PATCH v2 2/8] tests: acpi: make sure FADT is fetched only once, Igor Mammedov, 2018/12/27
- [Qemu-devel] [PATCH v2 1/8] tests: acpi: use AcpiSdtTable::aml in consistent way, Igor Mammedov, 2018/12/27
- [Qemu-devel] [PATCH v2 3/8] tests: acpi: simplify rsdt handling, Igor Mammedov, 2018/12/27
- [Qemu-devel] [PATCH v2 4/8] tests: acpi: reuse fetch_table() for fetching FACS and DSDT, Igor Mammedov, 2018/12/27
- [Qemu-devel] [PATCH v2 7/8] tests: acpi: squash sanitize_fadt_ptrs() into test_acpi_fadt_table(), Igor Mammedov, 2018/12/27
- [Qemu-devel] [PATCH v2 6/8] tests: smbios: fetch whole table in one step instead of reading it step by step, Igor Mammedov, 2018/12/27
- Re: [Qemu-devel] [PATCH v2 6/8] tests: smbios: fetch whole table in one step instead of reading it step by step,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH v2 8/8] tests: acpi: use AcpiSdtTable::aml instead of AcpiSdtTable::header::signature, Igor Mammedov, 2018/12/27
- [Qemu-devel] [PATCH v2 5/8] tests: acpi: reuse fetch_table() in vmgenid-test, Igor Mammedov, 2018/12/27