Difference between revisions of "Xen ARM with Virtualization Extensions/Vexpress"

From Xen
(Updated for new hypervisor path)
(Add hint with recent firmware)
Line 20: Line 20:
 
;SCC: 0x018 0x1FFFF000 ;Reset control - (CA7s running, CA15s reset) - uncomment this to hold A15 cluster in reset
 
;SCC: 0x018 0x1FFFF000 ;Reset control - (CA7s running, CA15s reset) - uncomment this to hold A15 cluster in reset
 
SCC: 0x018 0x00001FFF ;Reset control - (CA7s reset, CA15s running) - uncomment this to hold A7 cluster in
 
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
   
 
* The address of the Dom0 kernel in Flash at the moment is not configurable, it is defined as [http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/kernel.c;h=2f7a9ff2a5fbc95eaa276c9d2e09541ff3329535;hb=HEAD 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.
 
* The address of the Dom0 kernel in Flash at the moment is not configurable, it is defined as [http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/kernel.c;h=2f7a9ff2a5fbc95eaa276c9d2e09541ff3329535;hb=HEAD 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.

Revision as of 17:38, 28 August 2013

  • 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:
NOR3UPDATE: AUTO                    ;IMAGE UPDATE:NONE/AUTO/FORCE
NOR3ADDRESS: 0c000000               ;Image Flash Address
NOR3FILE: \SOFTWARE\Xen\xen         ;Image File Name
NOR3LOAD: 80200000                  ;Image Load Address
NOR3ENTRY: 80200000                 ;Image Entry Point

NOR4UPDATE: AUTO                    ;IMAGE UPDATE:NONE/AUTO/FORCE
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.

  • We recommend disabling the A7 cpus by editing the board.txt file under the SITE directory corresponding to your Cortex A15 daughterboard:
;SCC: 0x018 0x1FFFFFFF           ;Reset control (CA7s running, CA15s running) - uncomment this for normal operation
;SCC: 0x018 0x1FFFF000           ;Reset control - (CA7s running, CA15s reset) - uncomment this to hold A15 cluster in reset
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
  • 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.
  • In order to make your Dom0 boot sequence faster, you might want to consider passing init=/bin/bash to your kernel and then manually executing a minimal init script like this.