All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Dirk Behme <dirk.behme@gmail.com>,
	julien.grall@arm.com, stefano.stabellini@citrix.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: ARMv8: New board bring up hangs in kernel start?
Date: Wed, 23 Mar 2016 14:41:05 -0400	[thread overview]
Message-ID: <20160323184105.GC6232@char.us.oracle.com> (raw)
In-Reply-To: <56F2D158.804@gmail.com>

On Wed, Mar 23, 2016 at 06:24:40PM +0100, Dirk Behme wrote:
> Hi,

Hey,

CC-ing the ARM MAINTAINERs.

> 
> trying to bring up Xen on a new ARMv8 64-bit Cortex A57 eval board, I get
> [1] and then its hanging there.
> 
> I'd guess that it hangs due to missing timer interrupt, maybe missing
> interrupts at all?
> 
> Any hints how to debug this? Or where to look?
> 
> It might be possible that the board's firmware (arm-trusted-firmware based)
> doesn't configure anything correctly. Firmware is running at EL3, Xen at
> EL2. The same kernel is running fine without Xen.
> 
> Using a JTAG debugger I've put breakpoints into xen/arch/arm/time.c
> timer_interrupt() & vtimer_interrupt() but these don't seem to be called at
> all (?)
> 
> Best regards
> 
> Dirk
> 
> [1]
> 
> - UART enabled -
> - CPU 00000000 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: 0000000048000000 - 000000007fffffff
> (XEN)
> (XEN) MODULE[0]: 0000000048000000 - 00000000480058a2 Device Tree
> (XEN) MODULE[1]: 0000000048200000 - 0000000048c00000 Kernel
> (XEN)
> (XEN) Command line: console=dtuart dom0_mem=512M loglvl=all
> (XEN) Placing Xen at 0x000000007fe00000-0x0000000080000000
> (XEN) Update BOOTMOD_XEN from 0000000049000000-0000000049112e01 =>
> 000000007fe00000-000000007ff12e01
> (XEN) Domain heap initialised
> (XEN) Platform: ARMv8 Cortex A57 64-bit eval board
> (XEN) Taking dtuart configuration from /chosen/stdout-path
> (XEN) Looking for dtuart at "/soc/serial@e6e88000", options ""
>  Xen 4.7-unstable
> (XEN) Xen version 4.7-unstable (dirk@build) (aarch64-poky-linux-gcc (Linaro
> GCC 4.9-2015.03) 4.9.3 20150311 (prerelease)) debug=y Mon Mar 21 09:15:03
> CET 2016
> (XEN) Latest ChangeSet: Tue Feb 9 09:37:15 2016 +0100 git:b0a2893
> (XEN) Processor: 411fd073: "ARM Limited", variant: 0x1, part 0xd07, rev 0x3
> (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: 0000000000001124 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: 10201105 40000000 01260000 02102211
> (XEN)  ISA Features: 02101110 13112111 21232042 01112131 00011142 00011121
> (XEN) Using PSCI-1.0 for SMP bringup
> (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 16660 KHz
> (XEN) GICv2 initialization:
> (XEN)         gic_dist_addr=00000000f1010000
> (XEN)         gic_cpu_addr=00000000f1020000
> (XEN)         gic_hyp_addr=00000000f1040000
> (XEN)         gic_vcpu_addr=00000000f1060000
> (XEN)         gic_maintenance_irq=25
> (XEN) GICv2: 512 lines, 8 cpus, secure (IID 0200043b).
> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> (XEN) Allocated console ring of 16 KiB.
> (XEN) Brought up 1 CPUs
> (XEN) P2M: 44-bit IPA with 44-bit PA
> (XEN) P2M: 4 levels with order-0 root, VTCR 0x80043594
> (XEN) I/O virtualisation disabled
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Loading kernel from boot module @ 0000000048200000
> (XEN) Allocating 1:1 mappings totalling 512MB for dom0:
> (XEN) BANK[0] 0x00000050000000-0x00000070000000 (512MB)
> (XEN) Grant table range: 0x0000007fe00000-0x0000007fe5c000
> (XEN) Loading zImage from 0000000048200000 to
> 0000000050080000-0000000050a80000
> (XEN) Allocating PPI 16 for event channel interrupt
> (XEN) Loading dom0 DTB to 0x0000000058000000-0x000000005800568a
> (XEN) Scrubbing Free RAM on 1 nodes using 1 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 288kB init memory.
> Booting Linux on physical CPU 0x0
> Linux version 4.4.0+ (dirk@build) (gcc version 4.9.3 20150311 (prerelease)
> (Linaro GCC 4.9-2015.03) ) #1 SMP PREEMPT Mon Mar 21 09:12:13 CET 2016
> Boot CPU: AArch64 Processor [411fd073]
> debug: ignoring loglevel setting.
> efi: Getting EFI parameters from FDT:
> efi: UEFI not found.
> cma: Reserved 16 MiB at 0x000000006f000000
> On node 0 totalpages: 131072
>   DMA zone: 2048 pages used for memmap
>   DMA zone: 0 pages reserved
>   DMA zone: 131072 pages, LIFO batch:31
> psci: probing for conduit method from DT.
> psci: PSCIv0.2 detected in firmware.
> psci: Using standard PSCI v0.2 function IDs
> psci: Trusted OS migration not required
> Xen 4.7 support found
> PERCPU: Embedded 20 pages/cpu @ffffffc01efc9000 s42112 r8192 d31616 u81920
> pcpu-alloc: s42112 r8192 d31616 u81920 alloc=20*4096
> pcpu-alloc: [0] 0
> Detected PIPT I-cache on CPU0
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129024
> Kernel command line: console=hvc0 ignore_loglevel
> PID hash table entries: 2048 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
> software IO TLB [mem 0x69c00000-0x6dc00000] (64MB) mapped at
> [ffffffc019c00000-ffffffc01dbfffff]
> Memory: 414204K/524288K available (6000K kernel code, 582K rwdata, 2780K
> rodata, 704K init, 228K bss, 93700K reserved, 16384K cma-reserved)
> Virtual kernel memory layout:
>     vmalloc : 0xffffff8000000000 - 0xffffffbdbfff0000   (   246 GB)
>     vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000   (     8 GB maximum)
>               0xffffffbdc1400000 - 0xffffffbdc1c00000   (     8 MB actual)
>     fixed   : 0xffffffbffa7fd000 - 0xffffffbffac00000   (  4108 KB)
>     PCI I/O : 0xffffffbffae00000 - 0xffffffbffbe00000   (    16 MB)
>     modules : 0xffffffbffc000000 - 0xffffffc000000000   (    64 MB)
>     memory  : 0xffffffc000000000 - 0xffffffc020000000   (   512 MB)
>       .init : 0xffffffc000916000 - 0xffffffc0009c6000   (   704 KB)
>       .text : 0xffffffc000080000 - 0xffffffc0009151f4   (  8789 KB)
>       .data : 0xffffffc0009c6000 - 0xffffffc000a57800   (   582 KB)
> SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> Preemptible hierarchical RCU implementation.
>  Build-time adjustment of leaf fanout to 64.
>  RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=1.
> RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=1
> NR_IRQS:64 nr_irqs:64 0
> Architected cp15 timer(s) running at 16.66MHz (virt).
> clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles:
> 0x3d7a162dd, max_idle_ns: 440795202225 ns
> sched_clock: 56 bits at 16MHz, resolution 60ns, wraps every 2199023255551ns
> Console: colour dummy device 80x25
> console [hvc0] enabled
> Calibrating delay loop (skipped), value calculated using timer frequency..
> 33.32 BogoMIPS (lpj=66640)
> pid_max: default: 32768 minimum: 301
> Security Framework initialized
> Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
> Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes)
> ASID allocator initialised with 65536 entries
> xen:grant_table: Grant tables using version 1 layout
> Grant table initialized
> xen:events: Using FIFO-based ABI
> Xen: initializing cpu0
> <hang>
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

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

  reply	other threads:[~2016-03-23 18:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-23 17:24 ARMv8: New board bring up hangs in kernel start? Dirk Behme
2016-03-23 18:41 ` Konrad Rzeszutek Wilk [this message]
2016-03-31 16:45   ` Stefano Stabellini
2016-03-29 18:53 ` Julien Grall
2016-03-31 17:41   ` Dirk Behme
2016-04-01 16:34     ` Julien Grall
2016-04-04 15:44       ` Dirk Behme
2016-04-06 10:48         ` Julien Grall
2016-04-16 17:39           ` Dirk Behme
2016-04-18  8:17             ` Julien Grall
2016-04-19 13:59               ` Dirk Behme

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160323184105.GC6232@char.us.oracle.com \
    --to=konrad.wilk@oracle.com \
    --cc=dirk.behme@gmail.com \
    --cc=julien.grall@arm.com \
    --cc=stefano.stabellini@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.