From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Laurent Vivier <lvivier@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Thomas Huth <thuth@redhat.com>, Heyi Guo <guoheyi@huawei.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Ying Fang <fangying1@huawei.com>,
Igor Mammedov <imammedo@redhat.com>
Subject: [PULL 13/13] tests/bios-tables-test: add smbios cpu speed test
Date: Thu, 27 Aug 2020 09:41:00 -0400 [thread overview]
Message-ID: <20200827133954.2118749-14-mst@redhat.com> (raw)
In-Reply-To: <20200827133954.2118749-1-mst@redhat.com>
From: Ying Fang <fangying1@huawei.com>
Add smbios type 4 CPU speed check for we added new options to set
smbios type 4 "max speed" and "current speed". The default value
should be 2000 when no option is specified, just as the old version
did.
We add the test case to one machine of each architecture, though it
doesn't really run on aarch64 platform for smbios test can't run on
uefi only platform yet.
Signed-off-by: Ying Fang <fangying1@huawei.com>
Signed-off-by: Heyi Guo <guoheyi@huawei.com>
Message-Id: <20200806035634.376-3-fangying1@huawei.com>
---
tests/qtest/bios-tables-test.c | 42 ++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index d25ff35492..504b810af5 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -80,6 +80,8 @@ typedef struct {
GArray *tables;
uint32_t smbios_ep_addr;
struct smbios_21_entry_point smbios_ep_table;
+ uint16_t smbios_cpu_max_speed;
+ uint16_t smbios_cpu_curr_speed;
uint8_t *required_struct_types;
int required_struct_types_len;
QTestState *qts;
@@ -563,6 +565,31 @@ static inline bool smbios_single_instance(uint8_t type)
}
}
+static bool smbios_cpu_test(test_data *data, uint32_t addr)
+{
+ uint16_t expect_speed[2];
+ uint16_t real;
+ int offset[2];
+ int i;
+
+ /* Check CPU speed for backward compatibility */
+ offset[0] = offsetof(struct smbios_type_4, max_speed);
+ offset[1] = offsetof(struct smbios_type_4, current_speed);
+ expect_speed[0] = data->smbios_cpu_max_speed ? : 2000;
+ expect_speed[1] = data->smbios_cpu_curr_speed ? : 2000;
+
+ for (i = 0; i < 2; i++) {
+ real = qtest_readw(data->qts, addr + offset[i]);
+ if (real != expect_speed[i]) {
+ fprintf(stderr, "Unexpected SMBIOS CPU speed: real %u expect %u\n",
+ real, expect_speed[i]);
+ return false;
+ }
+ }
+
+ return true;
+}
+
static void test_smbios_structs(test_data *data)
{
DECLARE_BITMAP(struct_bitmap, SMBIOS_MAX_TYPE+1) = { 0 };
@@ -585,6 +612,10 @@ static void test_smbios_structs(test_data *data)
}
set_bit(type, struct_bitmap);
+ if (type == 4) {
+ g_assert(smbios_cpu_test(data, addr));
+ }
+
/* seek to end of unformatted string area of this struct ("\0\0") */
prv = crt = 1;
while (prv || crt) {
@@ -719,6 +750,11 @@ static void test_acpi_q35_tcg(void)
data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types);
test_acpi_one(NULL, &data);
free_test_data(&data);
+
+ data.smbios_cpu_max_speed = 3000;
+ data.smbios_cpu_curr_speed = 2600;
+ test_acpi_one("-smbios type=4,max-speed=3000,current-speed=2600", &data);
+ free_test_data(&data);
}
static void test_acpi_q35_tcg_bridge(void)
@@ -1084,6 +1120,12 @@ static void test_acpi_virt_tcg(void)
test_acpi_one("-cpu cortex-a57", &data);
free_test_data(&data);
+
+ data.smbios_cpu_max_speed = 2900;
+ data.smbios_cpu_curr_speed = 2700;
+ test_acpi_one("-cpu cortex-a57 "
+ "-smbios type=4,max-speed=2900,current-speed=2700", &data);
+ free_test_data(&data);
}
int main(int argc, char *argv[])
--
MST
next prev parent reply other threads:[~2020-08-27 13:45 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-27 13:40 [PULL 00/13] virtio,pc,acpi: features, fixes Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 01/13] acpi: allow DSDT changes Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 02/13] i386/acpi: fix inconsistent QEMU/OVMF device paths Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 03/13] arm/acpi: fix an out of spec _UID for PCI root Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 04/13] disassemble-aml: -o actually works Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 05/13] acpi: update expected DSDT files with _UID changes Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 06/13] Introduce a new flag for i440fx to disable PCI hotplug on the root bus Michael S. Tsirkin
2020-08-27 17:41 ` Igor Mammedov
2020-08-27 17:59 ` Ani Sinha
2020-08-28 9:49 ` Igor Mammedov
2020-08-28 9:51 ` Ani Sinha
2020-08-28 13:10 ` Julia Suvorova
2020-08-28 13:15 ` Ani Sinha
2020-08-28 15:45 ` Julia Suvorova
2020-09-01 6:27 ` Ani Sinha
2020-09-01 12:04 ` Ani Sinha
2020-08-30 10:02 ` Ani Sinha
2020-08-30 20:57 ` Michael S. Tsirkin
2020-08-31 12:15 ` Ani Sinha
2020-08-30 9:56 ` Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 07/13] virtio-pci: add virtio_pci_optimal_num_queues() helper Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 08/13] virtio-scsi: introduce a constant for fixed virtqueues Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 09/13] virtio-scsi-pci: default num_queues to -smp N Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 10/13] virtio-blk-pci: " Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 11/13] vhost-user-blk-pci: " Michael S. Tsirkin
2020-08-27 13:40 ` [PULL 12/13] hw/smbios: add options for type 4 max-speed and current-speed Michael S. Tsirkin
2020-08-27 13:41 ` Michael S. Tsirkin [this message]
2020-08-27 22:09 ` [PULL 00/13] virtio,pc,acpi: features, fixes 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=20200827133954.2118749-14-mst@redhat.com \
--to=mst@redhat.com \
--cc=fangying1@huawei.com \
--cc=guoheyi@huawei.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).