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

Re: [Embedded-pv-devel] Xen bring up on TI DRA7xxx (J6) EVM



Akshay,

At this point we are in the middle of GLSDK7 bringup with XEN, we were using GLSDK6 in our live demo. Moreover we even do not use GLSDK6 u-boot for our demo, derived at some point fromÂ

I would give you some hints to let you go further, more detailed description we would release once we done with GLSDK7.Â

You took wrong u-boot patch to switch OMAP like SoC to HYP mode. This oneÂhttp://u-boot.10912.n7.nabble.com/RFD-OMAP5-Working-HYP-mode-td163302.html is much closer to what you need, because it switches both cores to HYP and you do not need correspondent changes to XEN itself. Long time ago XEN community decided to lay on bootloader to switch to HYP mode all cores instead of keepin this code in hypervisor.

Except choosen and hypervisor nodes in device tree you would need also:
psci {
        compatible = "arm,psci";
        method = "hvc";
        cpu_on = <2>;
    };

And enablingÂÂCONFIG_ARM_PSCI=y in defconfig in order to have SMP in Linux.


Andrii Anisov | Team Lead
GlobalLogic
Kyiv, 03038, Protasov Business Park, M.Grinchenka, 2/1
P +38.044.492.9695x3664Â M +380505738852 ÂS andriyanisov
www.globallogic.com

http://www.globallogic.com/email_disclaimer.txt

On Wed, May 20, 2015 at 2:21 PM, akshay bhat <akshayabhat@xxxxxxxxx> wrote:
Hi,

I am trying to bring up on TI J6 EVM. Here are the steps I followed -
1. Cloned Xen from git://xenbits.xen.org/xen.git (checked out revision tag - xen-4.5.1-rc1).
2. Downloaded the TI GLSDK from - http://downloads.ti.com/dsps/dsps_public_sw/glsdk/7_00_00_04/index_FDS.html
ÂÂÂÂ U-boot version -Â 2014.07
ÂÂÂÂ Linux Kernel version - 3.14.31
3. Applied HYP mode patch to u-boot from - http://lists.denx.de/pipermail/u-boot/2015-January/202920.html which boots CPU0 in HYP mode.
4. Compiled Xen with - make dist-xen XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf- CONFIG_EARLY_PRINTK=dra7 debug=y
ÂÂÂ and mkimage -A arm -T kernel -a 0x80200000 -e 0x80200000 -C none -n "Xen-Trial-4.5" -d "xen/xen" xen-uImage
5. Enabled XEN related options in the kernel config and compiled the Linux kernel and generated zImage and dra7-evm-lcd7.dtb (no changes in the TI Kernel source).
6. Booted the board with the above images and used the env settings from - http://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/OMAP5432_uEVM

When I tried to boot XEN with the steps above, Xen hung with the error -
(XEN) Using generic timer at 0 KHz
(XEN) GICv2 initialization:
(XEN)ÂÂÂÂÂÂÂÂ gic_dist_addr=0000000048211000
(XEN)ÂÂÂÂÂÂÂÂ gic_cpu_addr=0000000048212000
(XEN)ÂÂÂÂÂÂÂÂ gic_hyp_addr=0000000048214000
(XEN)ÂÂÂÂÂÂÂÂ gic_vcpu_addr=0000000048216000
(XEN)ÂÂÂÂÂÂÂÂ gic_maintenance_irq=25
(XEN) GICv2: 192 lines, 2 cpus, secure (IID 0000043b).
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) I/O virtualisation disabled
(XEN) Allocated console ring of 16 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
- CPU 00000001 booting -
- Xen must be entered in NS Hyp mode -
- Boot failed -

So, CPU1 was still in non-HYP mode. Then I applied the patch from - http://lists.xen.org/archives/html/xen-devel/2014-02/msg01575.html
Now CPU1 boots up but nothing happens after that. Here is the log -

U-Boot# fdt print /chosen
chosen {
ÂÂÂÂÂÂÂ #size-cells = <0x00000001>;
ÂÂÂÂÂÂÂ #address-cells = <0x00000001>;
ÂÂÂÂÂÂÂ xen,dom0-bootargs = "console=hvc0 earlyprintk=xen debug ignore_loglevel root=/dev/mmcblk0p2 rw rootwait fixrtc";
ÂÂÂÂÂÂÂ xen,xen-bootargs = "sync_console console=dtuart dtuart=serial2";
ÂÂÂÂÂÂÂ bootargs = "elevator=noop console=ttyO0,115200n8 root=/dev/mmcblk1p2 rw rootwait earlyprintk fixrtc omapdrm.num_crtc=2 consoleblank=0 cma=64M rootfstype=ext4";
ÂÂÂÂÂÂÂ modules {
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ module@0 {
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ reg = <0xa0000000 0x004b0000>;
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ compatible = "xen,linux-zimage", "xen,multiboot-module";
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ };
ÂÂÂÂÂÂÂ };
};
U-Boot# bootm $xen_addr_r - $dtb_addr_r
## Booting kernel from Legacy Image at 90000000 ...
ÂÂ Image Name:ÂÂ Xen-Trial-4.5
ÂÂ Image Type:ÂÂ ARM Linux Kernel Image (uncompressed)
ÂÂ Data Size:ÂÂÂ 689004 Bytes = 672.9 KiB
ÂÂ Load Address: 80200000
ÂÂ Entry Point:Â 80200000
ÂÂ Verifying Checksum ... OK
## Flattened Device Tree blob at 825f0000
ÂÂ Booting using the fdt blob at 0x825f0000
ÂÂ Loading Kernel Image ... OK
ÂÂ reserving fdt memory region: addr=825f0000 size=17000
ÂÂ Loading Device Tree to 8ffe6000, end 8fffffff ... OK

Starting kernel ...

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000080000000 - 00000000dfffffff
(XEN)
(XEN) MODULE[0]: 000000008ffe6000 - 000000008fffd000 Device Tree
(XEN) MODULE[1]: 00000000a0000000 - 00000000a04b0000 Kernel
(XEN)Â RESVD[0]: 00000000825f0000 - 0000000082607000
(XEN)Â RESVD[1]: 000000008ffe6000 - 000000008fffd000
(XEN)
(XEN) Command line: sync_console console=dtuart dtuart=serial2
(XEN) Placing Xen at 0x00000000dfe00000-0x00000000e0000000
(XEN) Update BOOTMOD_XEN from 0000000080200000-00000000802f1701 => 00000000dfe00000-00000000dfef1701
(XEN) Xen heap: 00000000da000000-00000000de000000 (16384 pages)
(XEN) Dom heap: 376832 pages
(XEN) Domain heap initialised
(XEN) Looking for UART console serial2
(XEN) omap-uart: Unable to retrieve the IRQ
(XEN) Unable to initialize serial: -22
(XEN) Bad console= option 'dtuart'
ÂXen 4.5.1-rc1
(XEN) Xen version 4.5.1-rc1 (akshay@) (arm-linux-gnueabihf-gcc (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) 4.7.3 20130226 (prerelease)) debug=y Wed May 20 16:37:47 IST 2015
(XEN) Latest ChangeSet: Mon May 18 16:18:42 2015 +0200 git:0c4e0ef-dirty
(XEN) Console output is synchronous.
(XEN) Processor: 412fc0f2: "ARM Limited", variant: 0x2, part 0xc0f, rev 0x2
(XEN) 32-bit Execution:
(XEN)ÂÂ Processor Features: 00001131:00011011
(XEN)ÂÂÂÂ Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)ÂÂÂÂ Extensions: GenericTimer Security
(XEN)ÂÂ Debug Features: 02010555
(XEN)ÂÂ Auxiliary Features: 00000000
(XEN)ÂÂ Memory Model Features: 10201105 20000000 01240000 02102211
(XEN)Â ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Platform: TI DRA7
(XEN) Set AuxCoreBoot1 to 00000000dfe0004c (0020004c)
(XEN) Set AuxCoreBoot0 to 0x20
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27
(XEN) Using generic timer at 0 KHz
(XEN) GICv2 initialization:
(XEN)ÂÂÂÂÂÂÂÂ gic_dist_addr=0000000048211000
(XEN)ÂÂÂÂÂÂÂÂ gic_cpu_addr=0000000048212000
(XEN)ÂÂÂÂÂÂÂÂ gic_hyp_addr=0000000048214000
(XEN)ÂÂÂÂÂÂÂÂ gic_vcpu_addr=0000000048216000
(XEN)ÂÂÂÂÂÂÂÂ gic_maintenance_irq=25
(XEN) GICv2: 192 lines, 2 cpus, secure (IID 0000043b).
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) I/O virtualisation disabled
(XEN) Allocated console ring of 16 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
- CPU 00000001 booting -
- NOT HYP, setting it ... -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 1 booted.

After this nothing happens on the console.

Please could anyone help me out with this issue? Am I missing any patches in u-boot/Xen/Kernel?
Is there any Wiki page with full instructions to bring up Xen on DRA7xx?

--

Thank You,
Akshay



_______________________________________________
Embedded-pv-devel mailing list
Embedded-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/embedded-pv-devel

_______________________________________________
Embedded-pv-devel mailing list
Embedded-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/embedded-pv-devel

 


Rackspace

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