If we panic before calling init_xen_time then the "Rebooting in 5 seconds" delay ends up calling udelay which uses cntfrq before it has been initialised resulting in a divide by zero. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> --- xen/arch/arm/setup.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index 2076724..7b0a0f6 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -219,6 +219,8 @@ void __init start_xen(unsigned long boot_phys_offset, console_init_preirq(); #endif + init_xen_time(); + gic_init(); make_cpus_ready(cpus, boot_phys_offset); @@ -227,8 +229,6 @@ void __init start_xen(unsigned long boot_phys_offset, set_current((struct vcpu *)0xfffff000); /* debug sanity */ idle_vcpu[0] = current; - init_xen_time(); - setup_mm(atag_paddr, fdt_size); /* Setup Hyp vector base */ -- 1.7.9.1
On Mon, 17 Dec 2012, Ian Campbell wrote:> If we panic before calling init_xen_time then the "Rebooting in 5 > seconds" delay ends up calling udelay which uses cntfrq before it has > been initialised resulting in a divide by zero. > > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>> xen/arch/arm/setup.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c > index 2076724..7b0a0f6 100644 > --- a/xen/arch/arm/setup.c > +++ b/xen/arch/arm/setup.c > @@ -219,6 +219,8 @@ void __init start_xen(unsigned long boot_phys_offset, > console_init_preirq(); > #endif > > + init_xen_time(); > + > gic_init(); > make_cpus_ready(cpus, boot_phys_offset); > > @@ -227,8 +229,6 @@ void __init start_xen(unsigned long boot_phys_offset, > set_current((struct vcpu *)0xfffff000); /* debug sanity */ > idle_vcpu[0] = current; > > - init_xen_time(); > - > setup_mm(atag_paddr, fdt_size); > > /* Setup Hyp vector base */ > -- > 1.7.9.1 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel >
On Tue, 2012-12-18 at 11:42 +0000, Stefano Stabellini wrote:> On Mon, 17 Dec 2012, Ian Campbell wrote: > > If we panic before calling init_xen_time then the "Rebooting in 5 > > seconds" delay ends up calling udelay which uses cntfrq before it has > > been initialised resulting in a divide by zero. > > > > Signed-off-by: Ian Campbell <ian.campbell@citrix.com> > > > Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>Applied, thanks.