Xen ARM with Virtualization Extensions/Vexpress

From Xen
Revision as of 12:56, 6 September 2013 by Julieng (talk | contribs) (The boot on vexpress is not so slow... don't add note for init=/bin/bash)

Preparing the board

  • We recommend disabling the A7 cpus by editing the board.txt file under the SITE directory corresponding to your Cortex A15 daughterboard:
SCC: 0x018 0x00001FFF            ;Reset control - (CA7s reset, CA15s running) - uncomment this to hold A7 cluster in 
  • With recent firmware (newer than boot monitor V5.1.9), the Versatile Express can use multiple ways to bring up secondary cpus. Xen only supports sys_flags bring up. To select this mode, you need to set the bit[12] of SCC: 0x700 to 0. For instance:
** Before:
  SCC: 0x700 0x0032F003
** After:
  SCC: 0x700 0x0032E003

Booting Xen and dom0

If you are trying to run Xen on a Versatile Express Cortex A15 machine, you might want to copy xen (the Xen binary output, xen.git/xen/xen) and the Linux Dom0 zImage to the SOFTWARE directory and add the two following stanzas to your images.txt file:

NOR3ADDRESS: 0c000000               ;Image Flash Address
NOR3FILE: \SOFTWARE\Xen\xen         ;Image File Name
NOR3LOAD: 80200000                  ;Image Load Address
NOR3ENTRY: 80200000                 ;Image Entry Point

NOR4ADDRESS: 000c0000               ;Image Flash Address
NOR4FILE: \SOFTWARE\Xen\zImage      ;Image File Name
NOR4LOAD: 80008000                  ;Image Load Address
NOR4ENTRY: 80008000                 ;Image Entry Point

Note that before commit 47d1a51 (xen: arm: make zImage the default target which we install) it was necessary to use xen.git/xen/xen.bin for NOR3FILE instead of xen.git/xen/xen.

  • The address of the Dom0 kernel in Flash at the moment is not configurable, it is defined as KERNEL_FLASH_ADDRESS in Xen. On a Versatile Express machine this address can be determined by executing flash list images from the boot manager. You'll have to manually change it.