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/pc/SRAT.numamem b/tests/acpi-test-data/pc/SRAT.numamem new file mode 100644 index 0000000000000000000000000000000000000000..dbc595d9cb85d3fcb5a4243153f42bb431c9de8f GIT binary patch literal 224 zcmWFzatwLEz`(%x#mV2H_-pl^gqb00eb4S*P_UtqT(Hj_Pn%Qz&^<2aGv*> zAIX_VBJIE){$&Gz{k^p#I>A=!bzj(lJ!AlY+xXw~w0#&I+ATL^#f-*AkBV~JZn-Vp z`l;R8bJ?E{qOYRpy-y={XAF10Hve?@&iLccqPu{d-oHEM95>8u9tN#&bR@VhyoMfj zJlkk~%XK{z@m5w3oAvDycWzz(;p zm%?D!gfX^6V{E$f`-q#-iSfm81jkWvI-S5t`HSN_@W(p_{OiBD2~2oJ55*v;R(bi8 z0ss~V4d5Y|w-%nq;oxZ-9f`abG(&l+41i4-9s1s2H^U=tj1IfLurvISXGV{%;5LYz zUNZ|!?DSe$U|oM`XJjuY!;i4nV%HZAh^EtLqUH2i*LV8NytVv7HgQC^(b02*p$L=n zP=t7-D}2#qV;F;(xdzN-58wf0@(*Ej^zwGgKJA{(S_OGNP7$Rrf(RIM*_-etFm^2i zD15fJvv(@2)YC$p=dOW?9bf7C!_$r$SS#@v$MHue`Qr#C@I*T`GiV@q zY2;{Pr*}Oe%CXs9H!FiDPNCc1b|Btn-TrnPY6iCROt-)7 zCOg?~f4c*N;n;sB~t1Gg9fE?x8a2nu(RpOql_xOkA>3 znT!DMKUr0JW@BZ0rp(65#6^?JWCWU2CSA2ynG9Zwm5ED^aOMbSj&kN=W#W=2oO!~T zr<{4pxj;A<2q5B%DF-~R|w|{r{D_D6bObRjRy7l^ar-tiBsknXK^} zu`*fXH)3V7#%~hOP2#ypJvS3i4A7<$pl;xu2B;f&X94O4-dTXUftQ#vKur>D3{aJf zj{!$rl8OvCDigGfR3_1uk;rXmKY;*yohWCU5MOtKaOH13+@DJl~eO)8TS zXi}M+TntcU@ED*9XO3{@2qy-p!ifQ@aOMeTo^WD-Dx4Ug3g-ghTp*knpb94jsKTie zPMvUKfGV6ApbBS!a25zB2B^Y`0jh9v!pR9I2B^Y`0jh8o31^XTVt^`~7@!KLK{yS< zi2s&Li_XN_=TfGV6ApbBT5aMlSY2B^Y`0jh9XgwrCN7@!I# z2B^ZhNH`Y>CkCj(i2aM2kDbM{%ejN{o;iz{z}DX1^6_A`Gei2?hkfb_#yDa)?v#Z>^ivJ z#t#=iI=WT&c7q{1DSXHe4`9Lz6JE4l^mfIdp!ZQZ>R0Em$0`Ldt2JuDSP_@dwXW@r0um!*gJ~7Bki4( zy>o%RGqZ1}?Q@r~Z!7j~Y2QxSw=b}7&+Of_ef|>mu43;>dpBk8USRLe>^o`ug-h6X z6#I^}@1*QI7ua`3M?K9Ay!5Q+W^A7<9;Te`@l#9MX65CSxAJmc&&s8zF|X2c)j8$j zwz=ib&C41sSDRBVZkt=~+&rt(a`ido;I!v z<<8yLOSIh5oN{s7+;Zpc(`8z2c}}^wjg~WaUXI@o2)=*ztlS?sK{63=0`7TsN%(tP zop;_F|L*czR~rm8A$qnxdQ`(sSrIthE!YxvbGT(0q1X5HF<|59sP){w ze1jnTy?A`3rtrN+<9Y)}5WjuNSyeG?zmYlN#|Q9D~n@;(3= zaqQFS_#oXJINdQsC#%Ql133CIuSBC~&mHM*Pa>n;rar+N4D_(q99D~52OR*v=~=}P?{K`NV3ot2U|2*lIJoz=9{R8Mz*^gXK6HI2 zbQ(8cHUshQ#tUs)ctp;_*?r!42~4*V&w=>mBfe<6#ra=9D?!GP1DfI|bJ|Kv;) z|6#Z3bc#_gz7xMHE%|-F(QLdFzaA}NyRw|%f4 AY5)KL 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#mV2