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

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



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

 


Rackspace

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