		Basic Test on Versatile PB Guest

The basic test code currently sets up PIC, Timer, and UART and emulates
a dummy terminal which reponds to various commands. It also includes an
extensive MMU test suite and dhrystone benchmark.

Hardware features tested by Basic Test:
  - Sensitive non-priviledged instructions
  - Virtual IRQs
  - Generic Interrupt Controller (PL190)
  - PrimeCell Dual-Mode Timer (SP804)
  - Serial Port (PL011)  

Please follow the steps below to build & run Basic Test on Versatile PB
Guest with Xvisor running on QEMU Versatile PB Host:

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

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

  [3. Configure Xvisor with Versatile PB default settings]
  # make ARCH=arm versatile-defconfig

  [4. Build Xvisor]
  # make

  [5. Build Basic Test Code]
  # make -C tests/arm32/versatile/basic

  [6. Create qemu.img for running it on QEMU]
  ./tools/scripts/memimg.py -a 0x00010000 -o build/qemu.img build/vmm.bin@0x00010000 build/tests/arm32/versatile/basic/arm_test.bin.patched@0x00800000

  [7. Launch QEMU 0.14.xx or higher]
  # qemu-system-arm -M versatilepb -display none -serial stdio -kernel build/qemu.img

  [8. Kick Guest for starting Basic Test]
  XVisor# guest kick 0

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

  [10. Say 'hi' to Basic Test Code]
  [guest0/uart0] arm-test# hi

  [11. Say 'hello' to Basic Test Code]
  [guest0/uart0] arm-test# hello

  [12. Check various commands of Basic Test Code]
  [guest0/uart0] arm-test# help

  [13. Enter character seqence 'ESCAPE+x+q" return to Xvisor prompt]
  [guest0/uart0] arm-test# 

  (Note: replace all <> brackets based on your workspace)
  (Note: the above steps assumes Xvisor running on Versatile PB host emulated
   by QEMU 0.14.xx or higher. For other types of ARM host some of the above 
   steps will need to be adapted for that specfic ARM host. For more info on 
   your desired ARM host refer docs/arm/)

