From nobody Sat May 11 03:00:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513224676109335.3726741342888; Wed, 13 Dec 2017 20:11:16 -0800 (PST) Received: from localhost ([::1]:39064 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePKrL-0005Su-2W for importer@patchew.org; Wed, 13 Dec 2017 23:10:59 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36527) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePKpj-0004WV-C7 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 23:09:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePKph-00013K-EV for qemu-devel@nongnu.org; Wed, 13 Dec 2017 23:09:19 -0500 Received: from mail.cn.fujitsu.com ([183.91.158.132]:5208 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePKpg-00011Q-GI for qemu-devel@nongnu.org; Wed, 13 Dec 2017 23:09:17 -0500 Received: from localhost (HELO cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 14 Dec 2017 12:09:08 +0800 Received: from G08CNEXCHPEKD03.g08.fujitsu.local (unknown [10.167.33.85]) by cn.fujitsu.com (Postfix) with ESMTP id 49728486A789; Thu, 14 Dec 2017 12:09:06 +0800 (CST) Received: from localhost.localdomain (10.167.226.106) by G08CNEXCHPEKD03.g08.fujitsu.local (10.167.33.89) with Microsoft SMTP Server (TLS) id 14.3.361.1; Thu, 14 Dec 2017 12:09:05 +0800 X-IronPort-AV: E=Sophos;i="5.43,368,1503331200"; d="scan'208";a="31400366" From: Dou Liyang To: , , Date: Thu, 14 Dec 2017 12:08:54 +0800 Message-ID: <20171214040855.22231-2-douly.fnst@cn.fujitsu.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20171214040855.22231-1-douly.fnst@cn.fujitsu.com> References: <20171214040855.22231-1-douly.fnst@cn.fujitsu.com> MIME-Version: 1.0 X-Originating-IP: [10.167.226.106] X-yoursite-MailScanner-ID: 49728486A789.AEF3C X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: douly.fnst@cn.fujitsu.com X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 183.91.158.132 Subject: [Qemu-devel] [RESEND PATCH for-2.12 1/2] ACPI/unit-test: Add a testcase for RAM allocation in numa node X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, indou.takao@jp.fujitsu.com, qemu-devel@nongnu.org, Dou Liyang Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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=3D3,maxmem=3D1G \ -numa node -numa node,mem=3D128M \ 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 --- 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..224cfdd9e983e02dac5f4bf7e21= 0eaa64cb0dc78 GIT binary patch literal 5150 zcmb7I-EJG#5uUTVl$K{nX(_FLmDq$F*GSsf{PABDd4?gJ9 zBCr+q7#@Q(wF7SV)@soj!DZQq2dgp)G;(Rl6mz|r6^j~UVFn5s+K?!kL-|k!bx{v!mWd`eLBpjH z5AJ9rk8~&@kBU5cSv^Xkj%_*(ron5jVv3VsVh(Pk@nNOij#IjWM^SxE8Kse67Bi(g zs3_K|b*AZ|f&{Zz+o+~pR$Mbz!MJRjr8|;)iKM~6Z+JWtt$&pk*P-_1Hmqs(i;fy?*F=3D5;PYG;eS-IboekzruWO%zQ2|pPMkBi!h%X znzts+;|1}HqtB0-&j;r76Xx>~=3DJRfMUBT#`N%Kl*UZfD+BDm$E>}tkTu-S$dt}(fa zQ?$GK`mON7Gx_FG(YNcRkqJH(Bv;b3H`3)tpZlLa`Ahoo$DciV^7z5WpMlFvdu?@C zev_Q9FgSn%mcSZ~NflI)1DSP(J{6w|C)SZd}7B%4lY zEsaR4&`2AJW~Ek9eV|FVTl{b{s8Z-l=3DwGs6+LcTun;{Rv`#ff(%*OJcq#oaI!=3D9PR zWF8vjDXd|IxO-{ynj$VXijjP$N;El*#(eO4=3Dl3TSlJ@?8n&Dv_;GpaF)=3D+_xy zlT^rXBEM0dF&(p}Muow=3DR|Rd~!z&p}PtaBoF97ErJgxLlKPTzuvq^9<2G^Ionh zz4CFYU_Vc$;_`7Wgd^90pc4IX@WTO9h~$o9m+gAEkUuBEr8uFg9p{4A@R}LeC%wOk=3DAC?V zZc1V3Gmft}=3DTrrIN9+nwx7Eo))VNrRjiXN@kM8& zHvDr3Uy;F>3zCz%GBQAFg64>ppm?dEDTHEk8vzxpF#(N5LGywYual5TY_~) zKxZPMf)(4v(AU{0=3DxxEO3#c9m6|5-%O+`UJ60CCqIu{8Qtn&go9|bK4R?Pe`EF%&s zSWgM)sVHbsu$~ss(~(fYdPYFcL_tl#dR9QsMnVPaIRQNv1+@h0c>z5i2^Fjh0=3Df_d zEeY0l1oWLqs9=3D3pK;MmmE(_KR0(v15Dp)TH=3D*5$uMtQ-yS8GVU#BLjJ-aV>y4+B9* z0jpUkq)8B(B^0nCg_;ftq)G0!HN3X>94sqCNg`>aQ&7UM^HY}<889%;L#C!Y%Nee((5GSArSg>ARp4S(dF@+v4lRd{A(^J%#Vk14pZH?(Ea!i(yK27qNehFpV_L06rGU|jB1F=3DCg2*ZH@DxXmUE`z~9*2k!U%mXRq Yf~!ZCL8t>-1O^}2VG2>z!9?-X08OU~0RR91 literal 0 HcmV?d00001 diff --git a/tests/acpi-test-data/q35/DSDT.numamem b/tests/acpi-test-data/q= 35/DSDT.numamem new file mode 100644 index 0000000000000000000000000000000000000000..8c9fa445b0119b6f67533cb9688= 55b41fb9925d9 GIT binary patch literal 7834 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 literal 0 HcmV?d00001 diff --git a/tests/acpi-test-data/q35/SRAT.numamem b/tests/acpi-test-data/q= 35/SRAT.numamem new file mode 100644 index 0000000000000000000000000000000000000000..dbc595d9cb85d3fcb5a4243153f= 42bb431c9de8f GIT binary patch literal 224 zcmWFzatwLEz`(%x#mV2jB1F=3DCg2*ZH@DxXmUE`z~9*2k!U%mXRq Yf~!ZCL8t>-1O^}2VG2>z!9?-X08OU~0RR91 literal 0 HcmV?d00001 diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c index e28e0c98cf..def81fc243 100644 --- a/tests/bios-tables-test.c +++ b/tests/bios-tables-test.c @@ -810,6 +810,28 @@ static void test_acpi_piix4_tcg_memhp(void) free_test_data(&data); } =20 +static void test_acpi_q35_tcg_numamem(void) +{ + test_data data; + + memset(&data, 0, sizeof(data)); + data.machine =3D MACHINE_Q35; + data.variant =3D ".numamem"; + test_acpi_one(" -numa node -numa node,mem=3D128", &data); + free_test_data(&data); +} + +static void test_acpi_piix4_tcg_numamem(void) +{ + test_data data; + + memset(&data, 0, sizeof(data)); + data.machine =3D MACHINE_PC; + data.variant =3D ".numamem"; + test_acpi_one(" -numa node -numa node,mem=3D128", &data); + free_test_data(&data); +} + int main(int argc, char *argv[]) { const char *arch =3D qtest_get_arch(); @@ -832,6 +854,8 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/q35/cpuhp", test_acpi_q35_tcg_cphp); qtest_add_func("acpi/piix4/memhp", test_acpi_piix4_tcg_memhp); qtest_add_func("acpi/q35/memhp", test_acpi_q35_tcg_memhp); + qtest_add_func("acpi/piix4/numamem", test_acpi_piix4_tcg_numamem); + qtest_add_func("acpi/q35/numamem", test_acpi_q35_tcg_numamem); } ret =3D g_test_run(); boot_sector_cleanup(disk); --=20 2.14.3 From nobody Sat May 11 03:00:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 15132246695951009.6432037422004; Wed, 13 Dec 2017 20:11:09 -0800 (PST) Received: from localhost ([::1]:39063 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePKrF-0005R0-UL for importer@patchew.org; Wed, 13 Dec 2017 23:10:53 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36514) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePKpi-0004WI-UM for qemu-devel@nongnu.org; Wed, 13 Dec 2017 23:09:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePKpf-000119-1l for qemu-devel@nongnu.org; Wed, 13 Dec 2017 23:09:19 -0500 Received: from mail.cn.fujitsu.com ([183.91.158.132]:35218 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePKpe-0000xo-M4 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 23:09:14 -0500 Received: from localhost (HELO cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 14 Dec 2017 12:09:08 +0800 Received: from G08CNEXCHPEKD03.g08.fujitsu.local (unknown [10.167.33.85]) by cn.fujitsu.com (Postfix) with ESMTP id 9C270486A78A; Thu, 14 Dec 2017 12:09:08 +0800 (CST) Received: from localhost.localdomain (10.167.226.106) by G08CNEXCHPEKD03.g08.fujitsu.local (10.167.33.89) with Microsoft SMTP Server (TLS) id 14.3.361.1; Thu, 14 Dec 2017 12:09:07 +0800 X-IronPort-AV: E=Sophos;i="5.43,368,1503331200"; d="scan'208";a="31400364" From: Dou Liyang To: , , Date: Thu, 14 Dec 2017 12:08:55 +0800 Message-ID: <20171214040855.22231-3-douly.fnst@cn.fujitsu.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20171214040855.22231-1-douly.fnst@cn.fujitsu.com> References: <20171214040855.22231-1-douly.fnst@cn.fujitsu.com> MIME-Version: 1.0 X-Originating-IP: [10.167.226.106] X-yoursite-MailScanner-ID: 9C270486A78A.AEBB1 X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: douly.fnst@cn.fujitsu.com X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 183.91.158.132 Subject: [Qemu-devel] [RESEND PATCH for-2.12 2/2] hw/acpi-build: Make next_base easy to follow X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, indou.takao@jp.fujitsu.com, qemu-devel@nongnu.org, Dou Liyang Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It may be hard to read the assignment statement of "next_base", so S/next_base +=3D (1ULL << 32) - pcms->below_4g_mem_size; /next_base =3D mem_base + mem_len; ... for readability. No functionality change. Signed-off-by: Dou Liyang Reviewed-by: Igor Mammedov Reviewed-by: Michael S. Tsirkin --- hw/i386/acpi-build.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 73519ab3ac..2010108ae0 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2381,7 +2381,7 @@ build_srat(GArray *table_data, BIOSLinker *linker, Ma= chineState *machine) } mem_base =3D 1ULL << 32; mem_len =3D next_base - pcms->below_4g_mem_size; - next_base +=3D (1ULL << 32) - pcms->below_4g_mem_size; + next_base =3D mem_base + mem_len; } numamem =3D acpi_data_push(table_data, sizeof *numamem); build_srat_memory(numamem, mem_base, mem_len, i - 1, --=20 2.14.3