[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Running Xen on ARM Juno r0



On Fri, 2015-09-18 at 10:22 +0100, Ian Campbell wrote:
> > Can you please send me the compilation steps and booting instructions
> > which you use to boot up Xen ?
> 
> I build it with a simple make and launch the resulting binary from the EFI
> shell. There is nothing magic to it I'm afraid.

I dusted of my Juno and tried to boot it, using 4.6.0-rc3.

I built the hypervisor with:

    make -C xen XEN_TARGET_ARCH=arm64 debug=y CROSS_COMPILE=aarch64-linux-gnu- 
CONFIG_EARLY_PRINTK=juno

I've then added it to my Juno IMAGES.TXT as xen.efi along with a xen.cfg 
containing:

    [global]
    default=default

    [default]
    options=console=dtuart dtuart=serial0 conswitch=x dom0_mem=1536M
    kernel=norkern console=hvc0 earlycon=pl011,0x7ff80000 rootwait 
root=/dev/sda2 clk_ignore_unused
    dtb=board.dtb

Where board.dtb and norkern are the one supplied by the default firmware
image. FYI I'm using the 15.06 Linaro firmware release.

You need to take care in IMAGES.TXT to use the NOR??NAME option to make
sure the files end as xen.efi and xen.cfg. By default the lower level
firmware strips the extension.

Then I launch it from the UEFI prompt with

    fs2:
    xen.efi

And then it boots with:
    Xen 4.6.0-rc (c/s Fri Sep 18 14:11:18 2015 +0100 git:9bc900a) EFI loader
    Using configuration file 'xen.cfg'
    board.dtb: 0x00000009faab3000-0x00000009faab5c1d
    norkern: 0x00000009f9fbd000-0x00000009faaaea00
    - UART enabled -
    - CPU 00000100 booting -
    - Current EL 00000008 -
    - Xen starting at EL2 -
    - Zero BSS -
    - Setting up control registers -
    - Turning on paging -
    - Ready -
    (XEN) Checking for initrd in /chosen
    (XEN) RAM: 0000000080000000 - 00000000dfffffff
    (XEN) RAM: 00000000e00f0000 - 00000000fe6dffff
    (XEN) RAM: 00000000fe750000 - 00000000fe754fff
    (XEN) RAM: 00000000fe755000 - 00000000feffffff
    (XEN) RAM: 0000000880000000 - 00000009f9fbcfff
    (XEN) RAM: 00000009faab3000 - 00000009faab6fff
    (XEN) RAM: 00000009faca9000 - 00000009faecffff
    (XEN) RAM: 00000009faf81000 - 00000009faf8bfff
    (XEN) RAM: 00000009faf8c000 - 00000009fedabfff
    (XEN) RAM: 00000009fedac000 - 00000009feeb5fff
    (XEN) RAM: 00000009feeb6000 - 00000009feeb8fff
    (XEN) RAM: 00000009feeb9000 - 00000009feee2fff
    (XEN) RAM: 00000009feee3000 - 00000009feee5fff
    (XEN) RAM: 00000009feee6000 - 00000009ffdbffff
    (XEN) RAM: 00000009ffdc0000 - 00000009fff4ffff
    (XEN) RAM: 00000009fff90000 - 00000009fff9ffff
    (XEN) RAM: 00000009ffff0000 - 00000009ffffefff
    (XEN) RAM: 00000009fffff000 - 00000009ffffffff
    (XEN) 
    (XEN) MODULE[0]: 00000009faaaf000 - 00000009faab3000 Device Tree  
    (XEN) MODULE[1]: 00000009f9fbd000 - 00000009faaaea00 Kernel       
console=hvc0 earlycon=pl011,0x7ff80000 rootwait root=/dev/sda2 clk_ignore_unused
    (XEN) 
    (XEN) Command line: xen.efi console=dtuart dtuart=serial0 conswitch=x 
dom0_mem=1536M
    (XEN) Placing Xen at 0x00000000dfe00000-0x00000000e0000000
    (XEN) Update BOOTMOD_XEN from 00000009faab7000-00000009fabc1d81 => 
00000000dfe00000-00000000dff0ad81
    (XEN) PFN compression on bits 21...22
    (XEN) Domain heap initialised
    (XEN) Platform: VERSATILE EXPRESS
    (XEN) Looking for dtuart at "serial0", options ""
     __  __            _  _    __    ___              
     \ \/ /___ _ __   | || |  / /_  / _ \    _ __ ___ 
      \  // _ \ '_ \  | || |_| '_ \| | | |__| '__/ __|
      /  \  __/ | | | |__   _| (_) | |_| |__| | | (__ 
     /_/\_\___|_| |_|    |_|(_)___(_)___/   |_|  \___|
                                                      
    (XEN) Xen version 4.6.0-rc (    ianc@xxxxxxxxxxxxxxxx    ) 
(aarch64-linux-gnu-gcc (crosstool-NG linaro-1.13.1-4.8-2014.04 - Linaro GCC 
4.8-2014.04) 4.8.3 20140401 (prerelease)) debug=y Fri Sep 18 14:11:21 BST 2015
    (XEN) Latest ChangeSet: Fri Sep 18 14:11:18 2015 +0100 git:9bc900a
    (XEN) Processor: 410fd030: "ARM Limited", variant: 0x0, part 0xd03, rev 0x0
    (XEN) 64-bit Execution:
    (XEN)   Processor Features: 0000000000002222 0000000000000000
    (XEN)     Exception Levels: EL3:64+32 EL2:64+32 EL1:64+32 EL0:64+32
    (XEN)     Extensions: FloatingPoint AdvancedSIMD
    (XEN)   Debug Features: 0000000010305106 0000000000000000
    (XEN)   Auxiliary Features: 0000000000000000 0000000000000000
    (XEN)   Memory Model Features: 0000000000001122 0000000000000000
    (XEN)   ISA Features:  0000000000011120 0000000000000000
    (XEN) 32-bit Execution:
    (XEN)   Processor Features: 00000131:00011011
    (XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 Jazelle
    (XEN)     Extensions: GenericTimer Security
    (XEN)   Debug Features: 03010066
    (XEN)   Auxiliary Features: 00000000
    (XEN)   Memory Model Features: 10101105 40000000 01260000 02102211
    (XEN)  ISA Features: 02101110 13112111 21232042 01112131 00011142 00011121
    (XEN) Error: PSCI version 0x10000 is not supported.
    (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 50000 KHz
    (XEN) GICv2 initialization:
    (XEN)         gic_dist_addr=000000002c010000
    (XEN)         gic_cpu_addr=000000002c02f000
    (XEN)         gic_hyp_addr=000000002c04f000
    (XEN)         gic_vcpu_addr=000000002c06f000
    (XEN)         gic_maintenance_irq=25
    (XEN) GICv2: 352 lines, 6 cpus, secure (IID 0200143b).
    (XEN) Using scheduler: SMP Credit Scheduler (credit)

This is with the unmodified 4.6.0-rc3, the git commit above is the result
of "git diff 4.6.0-rc3 | patch -p1" to remove all my local changes for the
time being, so it is identical to a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d.

With this kernel it doesn't appear to find its root filesystem after it
boots dom0, but as you can see it boots way past head.S. In any case I
don't think this kernel has Xen support compiled in.

Even without xen.cfg, norkern and board.dtb or a working dom0 kernel Xen
will still get well past head.S and with CONFIG_EARLY_PRINTK=juno will
print a fairly large proportion of the above. TCL_EL2 is setup between "-
Setting up control registers -" and "- Turning on paging -".

Ian.

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.