		Xvisor on QEMU Realview-PB-A8 Host

This section of readme explains how to build & run Xvisor for Realview-PB-A8
emulated by QEMU. 

By default, Xvisor for Realview-PB-A8 supports Realview-PB-A8 guest so we will
show how to run Basic Firmware on Realview-PB-A8 guest. For more info refer,
<xvisor_source>/tests/arm32/realview-pb-a8/basic/README.

Please follow the steps below to build & run Basic Firmware on Realview-PB-A8
guest with Xvisor running on QEMU Realview-PB-A8 Host:

  [1. Build environment for Xvisor]
  # CROSS_COMPILE=arm-unknown-linux-gnueabi-

  [2. GoTo Xvisor source directory]
  # cd <xvisor_source_directory>

  [3. Configure Xvisor with Generic-v7 default settings]
  # make ARCH=arm generic-v7-defconfig

  [4. Build Xvisor and DTBs]
  # make; make dtbs

  [5. Build Basic Firmware]
  # make -C tests/arm32/realview-pb-a8/basic

  [6. Create disk image for Xvisor]
  # mkdir -p ./build/disk/images/arm32/realview-pb-a8
  # ./build/tools/dtc/dtc -I dts -O dtb -o ./build/disk/images/arm32/realview-pb-a8.dtb ./tests/arm32/realview-pb-a8/realview-pb-a8.dts
  # cp -f ./build/tests/arm32/realview-pb-a8/basic/firmware.bin.patched ./build/disk/images/arm32/realview-pb-a8/firmware.bin
  # cp -f ./tests/arm32/realview-pb-a8/basic/nor_flash.list ./build/disk/images/arm32/realview-pb-a8/nor_flash.list
  # genext2fs -B 1024 -b 16384 -d ./build/disk ./build/disk.img

  [7. Create qemu.img for running it on QEMU]
  # ./tools/scripts/memimg.py -a 0x70010000 -o build/qemu.img build/vmm.bin@0x70010000 build/disk.img@0x71000000

  [8. Launch QEMU]
  # qemu-system-arm -M realview-pb-a8 -m 256M -display none -serial stdio -kernel build/qemu.img -dtb build/arch/arm/board/generic/dts/realview/pb-a8/one_guest_pb-a8.dtb

  [9. Kick Guest0 for starting Basic Firmware]
  XVisor# guest kick guest0

  [10. Bind to virtual UART]
  XVisor# vserial bind guest0/uart0

  [11. Say 'hi' to Basic Firmware]
  [guest0/uart0] basic# hi

  [12. Say 'hello' to Basic Firmware]
  [guest0/uart0] basic# hello

  [13. Check various commands of Basic Firmware]
  [guest0/uart0] basic# help

  [14. Enter character seqence 'ESCAPE+x+q" return to Xvisor prompt]
  [guest0/uart0] basic# 

  (Note: replace all <> brackets based on your workspace)

