metadata:
    name: kvm-arm32-guest-on-arm64-host
    format: "Manual Test Definition 1.0"
    description: "Test kvm running on arm32 bit guest on arm64 bit host"
    maintainer:
        - naresh.kamboju@linaro.org
    os:
        - ubuntu
        - openembedded
    scope:
        - functional
    devices:
        - hi6220-hikey
    environment:
        - manual-test

install:
    deps:
        - qemu-system
        - wget
        - xz-utils
run:
    steps:
        - Boot arm64 bit board
        - After boot success check for "ls /dev/kvm" kvm device entry
        - If /dev/kvm not found, mark test case as not applicable and exit
        - Else continue below steps for installation of required packages
        - Run "sudo apt-get update"
        - Run "sudo apt-get install qemu-system wget xz-utils"
        - Execute the following command to download armv7 kernel Image
        - "wget http://testdata.validation.linaro.org/kvm/zImage-armv7"
        - Execute the following command to download arm minimal rootfs
        - "wget http://testdata.validation.linaro.org/kvm/kvm-armhf.qcow2.xz"
        - "xz -d kvm-armhf.qcow2.xz"
        - Test arm32 guest Image on arm64 host
        - Run "qemu-system-aarch64 -smp 2 -m 512 -cpu host,aarch64=off -M virt -kernel ./zImage-armv7 -append 'root=/dev/vda2 rw rootwait mem=512M console=ttyAMA0,38400n8' -device virtio-blk-device,drive=image -drive if=none,id=image,file=kvm-armhf.qcow2 -nographic -enable-kvm 2>&1 | tee kvm-arm32.log"
        - Wait for couple of minutes let the qemu start booting guest kernel

    expected:
        - qemu should start booting the given guest kernel
        - qeme guest kernel boot should be successful
        - Run "uname -a" to check system information
