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

Re: [Xen-users] [Xen-Users] Issues Booting Dom0 on ARM Cortex A15



On Mon, 2015-06-15 at 16:59 -0400, Brandon Perez wrote:
> Hello All,
> 
>     I'm experiencing some issues with booting into a Dom0 Linux Kernel 
> on a embedded ARM Cortex A15 processor. Tracing through the code has 
> shown me that the code is stuck in the idle_loop() function
> (xen/arch/arm/domain.c:41). The function responds to only soft IRQs, and 
> there are no scheduled tasklets to run.
> 
>     A little about my setup to start. I'm using uBoot to boot Xen, which 
> is running a Linux 3.14 kernel. I'm currently on Xen's master branch,
> where the Xen version is 4.6-unstable. The commit I'm operating at has 
> the id ecdae1cfaa7f6123decaa1b9d7205c3ff726b941.
> 
>     After looking through the Xen code, I was unable to find a place 
> where it explicitly jumps into the Dom0 kernel, which was what I was 
> expecting to see. Is there somewhere in the source code where this is 
> the case that I just missed? Or, is the initial jump into the kernel 
> scheduled as a tasklet? If the latter is the case, then the kernel is 
> never scheduled as a tasklet in the source code.
> 
>     Any tips on getting out the idle_loop() would be appreciated. Thanks 
> in advance for your assistance.

Without wishing to sound flippant, the idle loop will be exited when
things are not idle, i.e. there is some work to do. If it is idling that
would usually imply that every vcpu is sleeping or blocked. There's no
tasklets involved in the initial jump to dom0, just a normal return to
guest context.

IME the most common cause when things appear broken and Xen is just idle
is incorrect console= on the dom0 kernel command line or not running a
getty in dom0, so you get no output. Both should be configured refer to
hvc0. Starting with console=hvc0 should get you some dom0 boot logs at
least.

If that doesn't help then please post full serial logs of your system
booting as far as it does, including the u-boot commands and any u-boot
scripts which are run, along with your kernel .config.

Also, when it is in this idling state you should be able to press the
Xen conswitch key (Ctrl-A by default) 3 times and then use the debug
keys (h for help, q and d give useful cpu and vcpu register state) to
see where dom0's vcpus are at, so please include some of those in the
logs.

A dom0 vcpu address of 0x000000xx often indicates your kernel has
crashed early which can be another thing which goes wrong during initial
bringup on a new system (although normally more noisily than I am
inferring from what you've said here, but without logs its hard to say
for sure this isn't happening).

It would also be useful to know exactly which SoC you are using.

Ian.


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


 


Rackspace

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