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

Re: [Xen-devel] Running Xen on Nvidia Jetson-TK1



Hi Julian,

Thanks for the reply.

On Wed, Mar 30, 2016 at 12:31 AM, Julien Grall <julien.grall@xxxxxxx> wrote:
> Hello Dushyant,
>
> On 24/03/16 11:05, Dushyant Behl wrote:
>>
>> I was not receiving the dom0 logs because of a mistake in my dom0
>> bootargs. In the bootargs the option
>> for earlyprintk was not marked as Xen. Now that I've enabled it I'm
>> able to see some bootlog from dom0 linux.
>>
>> At least now I'm able to figure out the reason of Linux running into
>> infinite loop.
>>
>> It seems like Linux is not receiving any interrupts from the arch
>> timer and when it tries
>> to calibrate the timer delay then there's a loop where linux waits to
>> receive ticks to calculate
>> loops_per_jiffies and that's the point where dom0 is running into the
>> infinite loop.
>> (exact point is http://osxr.org:8080/linux/source/init/calibrate.c#0196)
>>
>> This is the dom0 bootlog which I received after correcting the
>> earlyprintk argument -
>
>
> Can you provide the full log? So we can see if there is anything which could
> give us a hint about your problem.

This is the complete log of Xen + Dom0 -

## Booting kernel from Legacy Image at fd000000 ...
   Image Name:   Xen unstable build
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    721776 Bytes = 704.9 KiB
   Load Address: fd000000
   Entry Point:  fd000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 82000000
   Booting using the fdt blob at 0x82000000
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=82000000 size=10000
   Using Device Tree in place at 82000000, end 82012fff

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 - 00000000ffefffff
(XEN)
(XEN) MODULE[0]: 0000000082000000 - 0000000082010000 Device Tree
(XEN) MODULE[1]: 0000000081000000 - 0000000081544828 Kernel
console=hvc0 console=tty1 earlyprintk=xen root=/dev/mmcblk0p1 rw
rootwait tegraid=40.1.1.0.0
(XEN)  RESVD[0]: 0000000082000000 - 0000000082010000
(XEN)
(XEN) Command line: console=dtuart dtuart=serial0 dom0_mem=512M
(XEN) Placing Xen at 0x00000000ffc00000-0x00000000ffe00000
(XEN) Update BOOTMOD_XEN from 00000000fd000000-00000000fd0f9701 =>
00000000ffc00000-00000000ffcf9701
(XEN) Xen heap: 00000000fa000000-00000000fe000000 (16384 pages)
(XEN) Dom heap: 507648 pages
(XEN) Domain heap initialised
(XEN) Platform: TEGRA124
(XEN) Looking for dtuart at "s Xen 4.6-unstable
(XEN) Xen version 4.6-unstable (root@) (arm-linux-gnueabihf-gcc
(Ubuntu/Linaro 4.7.3-11ubuntu1) 4.7.3) debug=y Thu Mar 24 08:02:39 UTC
2016
(XEN) Latest ChangeSet:
(XEN) Processor: 413fc0f3: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x3
(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 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Using PSCI-0.1 for SMP bringup
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 12000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=0000000050041000
(XEN)         gic_cpu_addr=0000000050042000
(XEN)         gic_hyp_addr=0000000050044000
(XEN)         gic_vcpu_addr=0000000050046000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 192 lines, 4 cpus, secure (IID 0000043b).
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) I/O virtualisation disabled
(XEN) Allocated console ring of 32 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
- CPU 00000001 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 1 booted.
(XEN) Bringing up CPU2
- CPU 00000002 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 2 booted.
(XEN) Bringing up CPU3
- CPU 00000003 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 3 booted.
(XEN) Brought up 4 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000081000000
(XEN) Allocating 1:1 mappings totalling 512MB for dom0:
(XEN) BANK[0] 0x000000a0000000-0x000000c0000000 (512MB)
(XEN) Additional MMIO 40000-40040 (IRAM)
(XEN) Additional MMIO 54200-54240 (Display A)
(XEN) Additional MMIO 54240-54280 (Display B)
(XEN) Additional MMIO 6000f-60010 (EXCEPTION VECTORS)
(XEN) Additional MMIO 6000c-6000d (SYSREG)
(XEN) Additional MMIO 1000-1001 (PCI CFG0)
(XEN) Additional MMIO 1001-1002 (PCI CFG1)
(XEN) Additional MMIO 12000-12010 (PCI IO)
(XEN) Additional MMIO 13000-20000 (PCI MEM)
(XEN) Additional MMIO 20000-40000 (PCI MEM (PREFETCH))
(XEN) Additional IRQ 105 (DISPLAY)
(XEN) TEGRA: Routing IRQ105 to dom0, ICTLR2, mask 0x000200
(XEN) Additional IRQ 106 (DISPLAY B)
(XEN) TEGRA: Routing IRQ106 to dom0, ICTLR2, mask 0x000400
(XEN) Loading zImage from 0000000081000000 to 00000000a7a00000-00000000a7f44828
(XEN) Allocating PPI 16 for event channel interrupt
(XEN) Loading dom0 DTB to 0x00000000a8000000-0x00000000a800f1f0
(XEN) Scrubbing Free RAM on 1 nodes using 4 CPUs
(XEN) ....done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
input to Xen)
(XEN) Freed 272kB init memory.
(XEN) DOM0: Uncompressing Linux... done, booting the kernel.
(XEN) DOM0: [    0.000000] Booting Linux on physical CPU 0x0
(XEN) DOM0: [    0.000000] Initializing cgroup subsys cpu
(XEN) DOM0: [    0.000000] Initializing cgroup subsys cpuacct
(XEN) DOM0: [    0.000000] Linux version 4.1.0-196898-g2e68ed9-dirty
(root@ubuntu-server) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-11ubuntu
(XEN) DOM0: 1) ) #12 SMP PREEMPT Thu Mar 24 09:56:36 UTC 2016
(XEN) DOM0: [    0.000000] CPU: ARMv7 Processor [413fc0f3] revision 3
(ARMv7), cr=30c5387d
(XEN) DOM0: [    0.000000] CPU: PIPT / VIPT nonaliasing data cache,
PIPT instruction cache
(XEN) DOM0: [    0.000000] Machine model: NVIDIA Tegra124 Jetson TK1
(XEN) DOM0: [    0.000000] bootconsole [earlycon0] enabled
(XEN) DOM0: [    0.000000] cma: Reserved 64 MiB at 0x00000000bc000000
(XEN) DOM0: [    0.000000] Forcing write-allocate cache policy for SMP
(XEN) DOM0: [    0.000000] Memory policy: Data cache writealloc
(XEN) DOM0: [    0.000000] psci: probing for conduit method from DT.
(XEN) DOM0: [    0.000000] psci: PSCIv0.2 detected in firmware.
(XEN) DOM0: [    0.000000] psci: Using standard PSCI v0.2 function IDs
(XEN) DOM0: [    0.000000] PERCPU: Embedded 12 pages/cpu @dbb77000
s19712 r8192 d21248 u49152
(XEN) DOM0: [    0.000000] Built 1 zonelists in Zone order, mobility
grouping on.  Total pages: 130048
(XEN) DOM0: [    0.000000] Kernel command line: console=hvc0
console=tty1 earlyprintk=xen root=/dev/mmcblk0p1 rw rootwait
tegraid=40.1.1.0
(XEN) DOM0: .0
(XEN) DOM0: [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
(XEN) DOM0: [    0.000000] Dentry cache hash table entries: 65536
(order: 6, 262144 bytes)
(XEN) DOM0: [    0.000000] Inode-cache hash table entries: 32768
(order: 5, 131072 bytes)
(XEN) DOM0: [    0.000000] Memory: 441884K/524288K available (7657K
kernel code, 634K rwdata, 2584K rodata, 484K init, 383K bss, 16868K re
(XEN) DOM0: served, 65536K cma-reserved, 0K highmem)
(XEN) DOM0: [    0.000000] Virtual kernel memory layout:
(XEN) DOM0: [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
(XEN) DOM0: [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
(XEN) DOM0: [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
(XEN) DOM0: [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
(XEN) DOM0: [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
(XEN) DOM0: [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
(XEN) DOM0: [    0.000000]       .text : 0xc0008000 - 0xc0a08c10   (10244 kB)
(XEN) DOM0: [    0.000000]       .init : 0xc0a09000 - 0xc0a82000   ( 484 kB)
(XEN) DOM0: [    0.000000]       .data : 0xc0a82000 - 0xc0b20bec   ( 635 kB)
(XEN) DOM0: [    0.000000]        .bss : 0xc0b23000 - 0xc0b82ea0   ( 384 kB)
(XEN) DOM0: [    0.000000] Preemptible hierarchical RCU implementation.
(XEN) DOM0: [    0.000000]  Build-time adjustment of leaf fanout to 32.
(XEN) DOM0: [    0.000000] NR_IRQS:16 nr_irqs:16 16
(XEN) DOM0: [    0.000000] of_irq_init: children remain, but no parents
(XEN) DOM0: [    0.000000] L2C: failed to init: -19
(XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
(XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
(XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
(XEN) DOM0: [    0.000000] arch_timer: No interrupt available, giving up
(XEN) DOM0: [    0.000000] sched_clock: 32 bits at 100 Hz, resolution
10000000ns, wraps every 21474836475000000ns
(XEN) DOM0: [    0.000000] Console: colour dummy device 80x30
(XEN) DOM0: [    0.000000] console [tty1] enabled
(XEN) DOM0: [    0.000000] bootconsole [earlycon0] disabled

>>
>> Can anyone explain why Linux is not able to get any interrupts from
>> the arch timer?
>> Is this some problem with Xen's interrupt mappings or some issue with
>> the dom0 kernel?
>
> From the log: "arch_timer: No interrupt available, giving up". So the kernel
> is not able to get the interrupt from device tree.
> Which device-tree are you using for the board?

I am using the device tree which is built with the Linux kernel
version 4.1.0 (tegra124-jetson-tk1.dtb),
I have also attached the device tree source with this mail, If you
want to have a look.

Thanks,
Dushyant

Attachment: tegra124-jetson-tk1.dts
Description: Binary data

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

 


Rackspace

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