mirror of https://github.com/xemu-project/xemu.git
tests/bios-tables-test: add test cases for ACPI HMAT
ACPI table HMAT has been introduced, QEMU now builds HMAT tables for Heterogeneous Memory with boot option '-numa node'. Add test cases on PC and Q35 machines with 2 numa nodes. Because HMAT is generated when system enable numa, the following tables need to be added for this test: tests/data/acpi/pc/APIC.acpihmat tests/data/acpi/pc/SRAT.acpihmat tests/data/acpi/pc/HMAT.acpihmat tests/data/acpi/pc/DSDT.acpihmat tests/data/acpi/q35/APIC.acpihmat tests/data/acpi/q35/SRAT.acpihmat tests/data/acpi/q35/HMAT.acpihmat tests/data/acpi/q35/DSDT.acpihmat Acked-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Daniel Black <daniel@linux.ibm.com> Reviewed-by: Jingqi Liu <Jingqi.liu@intel.com> Suggested-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Tao Xu <tao3.xu@intel.com> Message-Id: <20191213011929.2520-9-tao3.xu@intel.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
d00817c944
commit
1c8f85d93d
|
@ -1 +1,9 @@
|
||||||
/* List of comma-separated changed AML files to ignore */
|
/* List of comma-separated changed AML files to ignore */
|
||||||
|
"tests/data/acpi/pc/APIC.acpihmat",
|
||||||
|
"tests/data/acpi/pc/SRAT.acpihmat",
|
||||||
|
"tests/data/acpi/pc/HMAT.acpihmat",
|
||||||
|
"tests/data/acpi/pc/DSDT.acpihmat",
|
||||||
|
"tests/data/acpi/q35/APIC.acpihmat",
|
||||||
|
"tests/data/acpi/q35/SRAT.acpihmat",
|
||||||
|
"tests/data/acpi/q35/HMAT.acpihmat",
|
||||||
|
"tests/data/acpi/q35/DSDT.acpihmat",
|
||||||
|
|
|
@ -947,6 +947,48 @@ static void test_acpi_virt_tcg_numamem(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_acpi_tcg_acpi_hmat(const char *machine)
|
||||||
|
{
|
||||||
|
test_data data;
|
||||||
|
|
||||||
|
memset(&data, 0, sizeof(data));
|
||||||
|
data.machine = machine;
|
||||||
|
data.variant = ".acpihmat";
|
||||||
|
test_acpi_one(" -machine hmat=on"
|
||||||
|
" -smp 2,sockets=2"
|
||||||
|
" -m 128M,slots=2,maxmem=1G"
|
||||||
|
" -object memory-backend-ram,size=64M,id=m0"
|
||||||
|
" -object memory-backend-ram,size=64M,id=m1"
|
||||||
|
" -numa node,nodeid=0,memdev=m0"
|
||||||
|
" -numa node,nodeid=1,memdev=m1,initiator=0"
|
||||||
|
" -numa cpu,node-id=0,socket-id=0"
|
||||||
|
" -numa cpu,node-id=0,socket-id=1"
|
||||||
|
" -numa hmat-lb,initiator=0,target=0,hierarchy=memory,"
|
||||||
|
"data-type=access-latency,latency=1"
|
||||||
|
" -numa hmat-lb,initiator=0,target=0,hierarchy=memory,"
|
||||||
|
"data-type=access-bandwidth,bandwidth=65534M"
|
||||||
|
" -numa hmat-lb,initiator=0,target=1,hierarchy=memory,"
|
||||||
|
"data-type=access-latency,latency=65534"
|
||||||
|
" -numa hmat-lb,initiator=0,target=1,hierarchy=memory,"
|
||||||
|
"data-type=access-bandwidth,bandwidth=32767M"
|
||||||
|
" -numa hmat-cache,node-id=0,size=10K,level=1,"
|
||||||
|
"associativity=direct,policy=write-back,line=8"
|
||||||
|
" -numa hmat-cache,node-id=1,size=10K,level=1,"
|
||||||
|
"associativity=direct,policy=write-back,line=8",
|
||||||
|
&data);
|
||||||
|
free_test_data(&data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_acpi_q35_tcg_acpi_hmat(void)
|
||||||
|
{
|
||||||
|
test_acpi_tcg_acpi_hmat(MACHINE_Q35);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_acpi_piix4_tcg_acpi_hmat(void)
|
||||||
|
{
|
||||||
|
test_acpi_tcg_acpi_hmat(MACHINE_PC);
|
||||||
|
}
|
||||||
|
|
||||||
static void test_acpi_virt_tcg(void)
|
static void test_acpi_virt_tcg(void)
|
||||||
{
|
{
|
||||||
test_data data = {
|
test_data data = {
|
||||||
|
@ -991,6 +1033,8 @@ int main(int argc, char *argv[])
|
||||||
qtest_add_func("acpi/q35/numamem", test_acpi_q35_tcg_numamem);
|
qtest_add_func("acpi/q35/numamem", test_acpi_q35_tcg_numamem);
|
||||||
qtest_add_func("acpi/piix4/dimmpxm", test_acpi_piix4_tcg_dimm_pxm);
|
qtest_add_func("acpi/piix4/dimmpxm", test_acpi_piix4_tcg_dimm_pxm);
|
||||||
qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_tcg_dimm_pxm);
|
qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_tcg_dimm_pxm);
|
||||||
|
qtest_add_func("acpi/piix4/acpihmat", test_acpi_piix4_tcg_acpi_hmat);
|
||||||
|
qtest_add_func("acpi/q35/acpihmat", test_acpi_q35_tcg_acpi_hmat);
|
||||||
} else if (strcmp(arch, "aarch64") == 0) {
|
} else if (strcmp(arch, "aarch64") == 0) {
|
||||||
qtest_add_func("acpi/virt", test_acpi_virt_tcg);
|
qtest_add_func("acpi/virt", test_acpi_virt_tcg);
|
||||||
qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem);
|
qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem);
|
||||||
|
|
Loading…
Reference in New Issue