From d82c4f82e0233da642c36c40ef8da781fee689bc Mon Sep 17 00:00:00 2001 From: Dou Liyang Date: Thu, 14 Dec 2017 12:08:54 +0800 Subject: [PATCH] ACPI/unit-test: Add a testcase for RAM allocation in numa node As QEMU supports the memory-less node, it is possible that there is no RAM in the first numa node(also be called as node0). eg: ... \ -m 128,slots=3,maxmem=1G \ -numa node -numa node,mem=128M \ But, this makes it hard for QEMU to build a known-to-work ACPI SRAT table. Only fixing it is not enough. Add a testcase for this situation to make sure the ACPI table is correct for guest. Suggested-by: Eduardo Habkost Signed-off-by: Dou Liyang Reviewed-by: Igor Mammedov Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/acpi-test-data/pc/DSDT.numamem | Bin 0 -> 5150 bytes tests/acpi-test-data/pc/SRAT.numamem | Bin 0 -> 224 bytes tests/acpi-test-data/q35/DSDT.numamem | Bin 0 -> 7834 bytes tests/acpi-test-data/q35/SRAT.numamem | Bin 0 -> 224 bytes tests/bios-tables-test.c | 24 ++++++++++++++++++++++++ 5 files changed, 24 insertions(+) create mode 100644 tests/acpi-test-data/pc/DSDT.numamem create mode 100644 tests/acpi-test-data/pc/SRAT.numamem create mode 100644 tests/acpi-test-data/q35/DSDT.numamem create mode 100644 tests/acpi-test-data/q35/SRAT.numamem diff --git a/tests/acpi-test-data/pc/DSDT.numamem b/tests/acpi-test-data/pc/DSDT.numamem new file mode 100644 index 0000000000000000000000000000000000000000..224cfdd9e983e02dac5f4bf7e210eaa64cb0dc78 GIT binary patch literal 5150 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 literal 0 HcmV?d00001 diff --git a/tests/acpi-test-data/q35/SRAT.numamem b/tests/acpi-test-data/q35/SRAT.numamem new file mode 100644 index 0000000000000000000000000000000000000000..dbc595d9cb85d3fcb5a4243153f42bb431c9de8f GIT binary patch literal 224 zcmWFzatwLEz`(%x#mV2l|H0Ahn^5N3b@0R{$SKBERq0+U8nhs*=1 db0pkgP