Message ID | 20230316091224.338620-2-jiamei.xie@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | automation: introduce static heap and shared memory tests | expand |
On Thu, 16 Mar 2023, jiamei.xie wrote: > From: Jiamei Xie <jiamei.xie@arm.com> > > Create 2 new test jobs, called qemu-smoke-dom0less-arm64-gcc-staticheap > and qemu-smoke-dom0less-arm64-gcc-debug-staticheap. > > Add property "xen,static-heap" under /chosen node to enable static-heap. > If the domU can start successfully with static-heap enabled, then this > test pass. > > ImageBuillder sets the kernel and ramdisk range based on the file size. > It will use the memory range between 0x45600000 to 0x47AED1E8. It uses > MEMORY_START and MEMORY_END from the cfg file as a range in which it can > instruct u-boot where to place the images. > > Change MEMORY_END to 0x50000000 for all test cases. > > Signed-off-by: Jiamei Xie <jiamei.xie@arm.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> > --- > Changes from v1: > - Change MEMORY_END to 0x50000000 for all test cases. > - Update commit message. > --- > automation/gitlab-ci/test.yaml | 16 ++++++++++++++ > .../scripts/qemu-smoke-dom0less-arm64.sh | 21 ++++++++++++++++++- > 2 files changed, 36 insertions(+), 1 deletion(-) > > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml > index 2e1a6886df..37465305ff 100644 > --- a/automation/gitlab-ci/test.yaml > +++ b/automation/gitlab-ci/test.yaml > @@ -158,6 +158,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem: > - *arm64-test-needs > - alpine-3.12-gcc-debug-arm64-staticmem > > +qemu-smoke-dom0less-arm64-gcc-staticheap: > + extends: .qemu-arm64 > + script: > + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE} > + needs: > + - *arm64-test-needs > + - alpine-3.12-gcc-arm64 > + > +qemu-smoke-dom0less-arm64-gcc-debug-staticheap: > + extends: .qemu-arm64 > + script: > + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE} > + needs: > + - *arm64-test-needs > + - alpine-3.12-gcc-debug-arm64 > + > qemu-smoke-dom0less-arm64-gcc-boot-cpupools: > extends: .qemu-arm64 > script: > diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh > index 182a4b6c18..2d69d976ea 100755 > --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh > +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh > @@ -27,6 +27,11 @@ fi > " > fi > > +if [[ "${test_variant}" == "static-heap" ]]; then > + passed="${test_variant} test passed" > + domU_check="echo \"${passed}\"" > +fi > + > if [[ "${test_variant}" == "boot-cpupools" ]]; then > # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler > passed="${test_variant} test passed" > @@ -107,7 +112,7 @@ cd .. > > # ImageBuilder > echo 'MEMORY_START="0x40000000" > -MEMORY_END="0xC0000000" > +MEMORY_END="0x50000000" > > DEVICE_TREE="virt-gicv2.dtb" > XEN="xen" > @@ -128,6 +133,20 @@ if [[ "${test_variant}" == "static-mem" ]]; then > echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config > fi > > +if [[ "${test_variant}" == "static-heap" ]]; then > + # ImageBuilder uses the config file to create the uboot script. Devicetree > + # will be set via the generated uboot script. > + # The valid memory range is 0x40000000 to 0x80000000 as defined before. > + # ImageBuillder sets the kernel and ramdisk range based on the file size. > + # It will use the memory range between 0x45600000 to 0x47AED1E8, and > + # MEMORY_END has been set to 0x50000000 above, so set memory range between > + # 0x50000000 and 0x80000000 as static heap. > + echo ' > +XEN_STATIC_HEAP="0x50000000 0x30000000" > +# The size of static heap should be greater than the guest memory > +DOMU_MEM[0]="128"' >> binaries/config > +fi > + > if [[ "${test_variant}" == "boot-cpupools" ]]; then > echo ' > CPUPOOL[0]="cpu@1 null" > -- > 2.25.1 >
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index 2e1a6886df..37465305ff 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -158,6 +158,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem: - *arm64-test-needs - alpine-3.12-gcc-debug-arm64-staticmem +qemu-smoke-dom0less-arm64-gcc-staticheap: + extends: .qemu-arm64 + script: + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE} + needs: + - *arm64-test-needs + - alpine-3.12-gcc-arm64 + +qemu-smoke-dom0less-arm64-gcc-debug-staticheap: + extends: .qemu-arm64 + script: + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE} + needs: + - *arm64-test-needs + - alpine-3.12-gcc-debug-arm64 + qemu-smoke-dom0less-arm64-gcc-boot-cpupools: extends: .qemu-arm64 script: diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh index 182a4b6c18..2d69d976ea 100755 --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh @@ -27,6 +27,11 @@ fi " fi +if [[ "${test_variant}" == "static-heap" ]]; then + passed="${test_variant} test passed" + domU_check="echo \"${passed}\"" +fi + if [[ "${test_variant}" == "boot-cpupools" ]]; then # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler passed="${test_variant} test passed" @@ -107,7 +112,7 @@ cd .. # ImageBuilder echo 'MEMORY_START="0x40000000" -MEMORY_END="0xC0000000" +MEMORY_END="0x50000000" DEVICE_TREE="virt-gicv2.dtb" XEN="xen" @@ -128,6 +133,20 @@ if [[ "${test_variant}" == "static-mem" ]]; then echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config fi +if [[ "${test_variant}" == "static-heap" ]]; then + # ImageBuilder uses the config file to create the uboot script. Devicetree + # will be set via the generated uboot script. + # The valid memory range is 0x40000000 to 0x80000000 as defined before. + # ImageBuillder sets the kernel and ramdisk range based on the file size. + # It will use the memory range between 0x45600000 to 0x47AED1E8, and + # MEMORY_END has been set to 0x50000000 above, so set memory range between + # 0x50000000 and 0x80000000 as static heap. + echo ' +XEN_STATIC_HEAP="0x50000000 0x30000000" +# The size of static heap should be greater than the guest memory +DOMU_MEM[0]="128"' >> binaries/config +fi + if [[ "${test_variant}" == "boot-cpupools" ]]; then echo ' CPUPOOL[0]="cpu@1 null"