[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |