1#!/bin/bash 2# 3# XTF test utilities (x86_64, EFI). 4# 5 6# Arch-specific environment overrides. 7function xtf_arch_prepare() 8{ 9 export FW_PREFIX="${FW_PREFIX:-/usr/share/OVMF/}" 10 export QEMU_PREFIX="${QEMU_PREFIX:-}" 11 export XEN_BINARY="${XEN_BINARY:-${WORKDIR}/xen.efi}" 12 export XEN_CMDLINE="${XEN_CMDLINE:-loglvl=all noreboot console_timestamps=boot console=com1}" 13 export XTF_SRC_BRANCH="${XTF_SRC_BRANCH:-master}" 14 export XTF_SRC_URI="${XTF_SRC_URI:-https://xenbits.xen.org/git-http/xtf.git}" 15 export XTF_SRC_VARIANTS="hvm64 pv64" 16} 17 18# Perform arch-specific XTF environment setup. 19function xtf_arch_setup() 20{ 21 local esp_dir="${WORKDIR}/boot-esp" 22 local efi_dir="${esp_dir}/EFI/BOOT" 23 24 # Generate EFI boot environment 25 mkdir -p ${efi_dir} 26 cp ${XEN_BINARY} ${efi_dir}/BOOTX64.EFI 27 cp ${XTF_BINARY} ${efi_dir}/kernel 28 29 cat > ${efi_dir}/BOOTX64.cfg <<EOF 30[global] 31default=test 32 33[test] 34options=${XEN_CMDLINE} 35kernel=kernel 36EOF 37 38 # NB: OVMF_CODE.fd is read-only, no need to copy 39 cp ${FW_PREFIX}OVMF_VARS.fd ${WORKDIR} 40 41 export TEST_CMD="${QEMU_PREFIX}qemu-system-x86_64 \ 42 -no-reboot \ 43 -nographic \ 44 -monitor none \ 45 -serial stdio \ 46 -m 512 \ 47 -M q35,kernel-irqchip=split \ 48 -drive if=pflash,format=raw,readonly=on,file=${FW_PREFIX}OVMF_CODE.fd \ 49 -drive if=pflash,format=raw,file=${WORKDIR}/OVMF_VARS.fd \ 50 -drive file=fat:rw:${esp_dir},media=disk,index=0,format=raw \ 51 " 52} 53