Hi Stefano,

On 15/12/2022 22:05, Stefano Stabellini wrote:
> 
> 
> On Thu, 15 Dec 2022, Michal Orzel wrote:
>> Introduce support for using XTF on Arm to perform low-level testing.
>> For the purpose of the CI testing, let's use the fork [1] from upstream
>> XTF with implemented support for arm64 (the upstream XTF only supports
>> x86).
>>
>> Add a new script under automation/scripts to be used by the CI XTF test
>> jobs to perform the following tasks:
>>  - Compiling XTF,
>>  - Creating dom0 rootfs,
>>  - Generating u-boot script using ImageBuilder,
>>  - Running Xen with Linux as dom0 and XTF as a dom0less domU using Qemu,
>>  - Checking test result.
>>
>> The script takes the name of the XTF test to run as a first parameter.
>>
>> [1] 
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.com%2Fxen-project%2Ffusa%2Fxtf.git&data=05%7C01%7Cmichal.orzel%40amd.com%7C92d389df450446d2916608dadee01c9d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638067351382726466%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WSQJe1s9%2B67c%2FxvYu3OP9Hr1ZZXWSpjXNnCbIwbw2OU%3D&reserved=0
>>  (branch xtf-arm)
>>
>> Signed-off-by: Michal Orzel <[email protected]>
>> ---
>>  automation/scripts/qemu-xtf-dom0less-arm64.sh | 97 +++++++++++++++++++
>>  1 file changed, 97 insertions(+)
>>  create mode 100755 automation/scripts/qemu-xtf-dom0less-arm64.sh
>>
>> diff --git a/automation/scripts/qemu-xtf-dom0less-arm64.sh 
>> b/automation/scripts/qemu-xtf-dom0less-arm64.sh
>> new file mode 100755
>> index 000000000000..321d1abc543b
>> --- /dev/null
>> +++ b/automation/scripts/qemu-xtf-dom0less-arm64.sh
>> @@ -0,0 +1,97 @@
>> +#!/bin/bash
>> +
>> +set -ex
>> +
>> +# Name of the XTF test
>> +xtf_test=$1
>> +
>> +# Message returned by XTF in case of success
>> +passed="Test result: SUCCESS"
>> +
>> +# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
>> +curl -fsSLO 
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fqemu%2Fqemu%2Fraw%2Fv5.2.0%2Fpc-bios%2Fefi-virtio.rom&data=05%7C01%7Cmichal.orzel%40amd.com%7C92d389df450446d2916608dadee01c9d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638067351382726466%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=f9gY1ubTk0NssPcr38A5BUuFzdrIAm8rJXsuMNuGXYs%3D&reserved=0
>> +./binaries/qemu-system-aarch64 \
>> +   -machine virtualization=true \
>> +   -cpu cortex-a57 -machine type=virt \
>> +   -m 2048 -smp 2 -display none \
>> +   -machine dumpdtb=binaries/virt-gicv2.dtb
>> +
>> +# XXX disable pl061 to avoid Linux crash
>> +fdtput binaries/virt-gicv2.dtb -p -t s /pl061@9030000 status disabled
>> +
>> +# XTF
>> +# Build a single XTF test passed as a first parameter to the script.
>> +# Build XTF with GICv2 support to match Qemu configuration and with SBSA 
>> UART
>> +# support, so that the test will use an emulated UART for printing messages.
>> +# This will allow us to run the test on both debug and non-debug Xen builds.
>> +rm -rf xtf
>> +git clone 
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.com%2Fxen-project%2Ffusa%2Fxtf.git&data=05%7C01%7Cmichal.orzel%40amd.com%7C92d389df450446d2916608dadee01c9d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638067351382726466%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WSQJe1s9%2B67c%2FxvYu3OP9Hr1ZZXWSpjXNnCbIwbw2OU%3D&reserved=0
>>  -b xtf-arm
>> +make -C xtf TESTS=tests/${xtf_test} CONFIG_SBSA_UART=y CONFIG_GICV2=y 
>> -j$(nproc)
>> +cp xtf/tests/${xtf_test}/test-mmu64le-${xtf_test} binaries/xtf-test
>> +
>> +# DOM0 rootfs
> 
> Given that we don't actually need dom0 for anything, maybe we could only
> run xtf as the only domU guest without dom0 (pure dom0less
> configuration)?
This is what I thought at the beginning. It definitely makes sense because at 
the moment
we do not test pure dom0less configuration. I will do this in v2.

~Michal

Reply via email to