		Xvisor on Linaro QEMU Vexpress-A15 Host
		  (Without Virtualization Extensions)

This section of readme explains how to build & run Xvisor for Vexpress-A15 
emulated by QEMU Linaro 2.02 or higher. 

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

Please follow the steps below to build & run Basic Test on Realview PB-A8 guest
with Xvisor running on QEMU Vexpress-A15 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 Vexpress-A15 default settings]
  # make ARCH=arm vexpress-a15-defconfig 

  [4. Build Xvisor]
  # make

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

  [6. Create qemu.img for running it on QEMU]
  # ./tools/scripts/memimg.py -a 0x80010000 -o build/qemu.img build/vmm.bin@0x80010000 build/tests/arm32/pb-a8/basic/arm_test.bin.patched@0x81000000

  [7. Launch QEMU Linaro 2.02 or higher]
  # qemu-system-arm -M vexpress-a15 -display none -serial stdio -kernel build/qemu.img

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

  [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)


		Xvisor on ARM Fast Models Vexpress-A15 Host
		  (Without Virtualization Extensions)

This section of readme explains how to build & run Xvisor for Vexpress-A15 
emulated by ARM Fast Models 7.0 or higher. 

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

Please follow the steps below to build & run Basic Test on Realview PB-A8 guest
with Xvisor running on ARM Fast Models Vexpress-A15 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 Vexpress-A15 default settings]
  # make ARCH=arm vexpress-a15-defconfig 

  [4. Build Xvisor]
  # make

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

  [6. Create fast_model_boot.axf for running it on ARM Fast Models]
  # ./tools/scripts/memimg.py -a 0x80010000 -o build/fast_model_boot.img build/vmm.bin@0x80010000 build/tests/arm32/pb-a8/basic/arm_test.bin.patched@0x80800000
  # cd build/; ${CROSS_COMPILE}gcc -nostdlib -march=armv7-a -mcpu=cortex-a15 -e start_boot -Wl,-Ttext=0x80000000 -DSMP -DVEXPRESS_A15 ../docs/arm/fast_model_boot.S -o fast_model_boot.axf; cd ..

  [7. Launch ARM fast models 7.0 or higher]
  # model_shell <your_fastmodel_dir>/FastModelsPortfolio_xxxx/examples/RTSM_VE/Build_Cortex-A15x1/Linux-Debug-GCC-3.4/cadi_system_Linux-Debug-GCC-3.4.so build/fast_model_boot.axf

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

  [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)

