Port-arm archive

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

Re: Problems booting NSLU2 (slug)



On Monday 10 September 2012 21:09:59 Lloyd Parkes wrote:
> On 10/09/2012, at 10:18 PM, Matt Thomas <matt%3am-software.com@localhost> 
> wrote:
> > On Sep 10, 2012, at 1:15 AM, Dave Tyson wrote:
> >> On Saturday 08 September 2012 01:34:15 Matt Thomas wrote:
> >>> On Sep 7, 2012, at 4:43 PM, Richard Earnshaw (home) wrote:
> >>>> That instruction is so bogus that you must be executing data, not
> >>>> code.
> >>> 
> >>> Nope, that's how the kernel enter DDB.
> >> 
> >> OK, that presumably happens after the KASSERT. I'll try and work through
> >> the code and see why the assert is tripped - this must be early on as I
> >> don't see the symbol/seqment sizes message.
> > 
> > This is fixed in -current.  Maybe the changes were never submitted for
> > pullup to netbsd-6.
> 
> Assuming "this" is "the symbol/seqment sizes message" and we are still
> looking for the cause of the assertion, I think I know the answer.
> 

Yes I should have been more careful with the choice of words. I assumed that 
the message displaying the sizes of the symbol table, code, BSS etc would 
happen very early on during initialisation of the kernel after IPL.  The fact 
that the assertion triggered before the aforementioned message means there 
should be a smaller chunk of code holding the bug.

> The evcnt system is being invoked before it is initialised, the TS7200 has
> this problem as well. There seems to have been a number of NetBSD 6
> changes that haven't been propagated through all the evbarm targets, I
> noticed that there has been some work on device_t/softc stuff that hasn't
> been completed on the TS7200.
> 

Yes, the assertion clearly points to invocation before initialisation, but 
note I saw this problem on a very recent current (a couple of days ago)  as 
well as NetBSD-6.

> I completed the evcnt updates for the TS7200 and then hit a uvm problem at
> which point I got distracted by things I was actually supposed to be
> doing.
> 
> To fix the evcnt stuff on the TS7200 I removed the call to
> evcnt_attach_dynamic from ep93xx_intr_init and added it to
> ep93xx_intr_establish. I also added a call to evcnt_detach in
> ep93xx_intr_disestablish. I followed Martin Husemann's advice on looking
> to see what omap/omap2430_intr.c does.
> 
> Cheers,
> Lloyd
> 

Thanks for the heads up. I'll have a closer look at the code. 

Cheers,
Dave

> Index: ep93xx/ep93xx_intr.c
> ===================================================================
> RCS file: /vol/src/rsync-src/src/sys/arch/arm/ep93xx/ep93xx_intr.c,v
> retrieving revision 1.16
> diff -r1.16 ep93xx_intr.c
> 263a264
> 
> > #if 0
> 
> 266a268
> 
> > #endif
> 
> 305a308,309
> 
> >       evcnt_attach_dynamic(&iq->iq_ev, EVCNT_TYPE_INTR, NULL,
> >       
> >                            (irq < VIC_NIRQ ? "vic1" : "vic2"),
> >                            iq->iq_name);
> 
> 322a327
> 
> >       evcnt_detach(&iq->iq_ev);

-- 
=====================================================================
Phone: 07805784357
Open Source O/S: www.netbsd.org
Caving: http://www.wirralcavinggroup.org.uk
=====================================================================


Home | Main Index | Thread Index | Old Index