metadata:
    name: kvm-arm64-guest-on-arm64-host
    format: "Manual Test Definition 1.0"
    description: "Test kvm running on arm64 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"
        - Use arm64 kernel Image from /boot
        - "cp /boot/vmlinuz-`uname -r` Image"
        - Use arm64 initrd.img from /boot
        - Note: please double check is it Debian initrd image or CentOS initrd
        - Note: please check the name of initrd file under /boot and kernel version appended to file name
        - "cp /boot/initrd.img-`uname -r` initrd.img"
        - Execute the following command to download arm64 minimal rootfs
        - "wget http://testdata.validation.linaro.org/kvm/kvm-aarch64.qcow2.xz"
        - "xz -d kvm-arm64.qcow2.xz"
        - Test arm64 guest Image on arm64 host
        - Run "qemu-system-aarch64 -smp 2 -m 512 -cpu host -machine type=virt,gic-version=host -kernel Image -initrd initrd.img -append 'root=/dev/vda2 rw rootwait console=ttyAMA0,38400n8  earlycon=pl011,0x9000000' -device virtio-blk-device,drive=image -drive if=none,id=image,file=kvm-aarch64.qcow2 -nographic -enable-kvm 2>&1 | tee tee kvm-arm64.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
