MVME2100 locks up during interrupt setup
Till Straumann
strauman at slac.stanford.edu
Thu Jul 28 19:34:23 UTC 2005
openpic_init() does poll indefinitely
while ( openpic_read() & OPENPIC_ACTIVITY )
/* wait until openpic idle */ ;
Either you experience a hardware problem or a
caching/volatility bug. Disassembly helps finding
the latter...
HTH
T.
On Thursday 28 July 2005 10:45 am, Eric Norum wrote:
> To try and track down the location of the problems I'm seeing on the
> MVME2100 (RTEMS CVS version) I added some printf() calls to the BSP
> startup code:
> printk("OpenPIC timer frequency is ");
> if (timerfreq)
> printk("%d Hz\n", timerfreq);
> else
> printk("not set\n");
>
> if ( main_pic )
> {
> /* Initialize timer interrupts */
> for (i = 0; i < OPENPIC_NUM_TIMERS; i++) {
> /* Disabled, Priority 0 */
> printk("openpic_inittimer(%d, 0, OPENPIC_VEC_TIMER+%d)\n", i, i);
> openpic_inittimer(i, 0, OPENPIC_VEC_TIMER+i);
> /* No processor */
> printk("openpic_maptimer(%d, 0)\n", i);
> openpic_maptimer(i, 0);
> }
> printk("Done openpic_init/map\n");
>
> /* Initialize IPI interrupts */
> for (i = 0; i < OPENPIC_NUM_IPI; i++) {
> /* Disabled, Priority 0 */
> openpic_initipi(i, 0, OPENPIC_VEC_IPI+i);
> }
>
>
>
> What I see is:
> Now booting...
> -----------------------------------------
> Welcome to rtems-4.6.99.1(PowerPC/PowerPC 603e/mvme2100) on MVME 2100
> -----------------------------------------
> pci : Configuring interrupt routing for 'MVME 2100'
> pci : Device 0:00 routed to interrupt_line 16
> pci : Device 0:0D routed to interrupt_line 23
> pci : Device 0:0E routed to interrupt_line 17
> WARNING: unable to allocate page table, keeping DBAT0
> WARNING: unable to setup page tables VME bridge must share PCI space
> OpenPIC Version ? (2 CPUs and 290 IRQ sources) at 0x0003FFFF
> OpenPIC Vendor 120 (Unknown), Device 168 (Unknown), Stepping 129
> OpenPIC timer frequency is 25274488 Hz
> openpic_inittimer(0, 0, OPENPIC_VEC_TIMER+0)
> openpic_maptimer(0, 0)
> openpic_inittimer(1, 0, OPENPIC_VEC_TIMER+1)
> openpic_maptimer(1, 0)
> openpic_inittimer(2, 0, OPENPIC_VEC_TIMER+2)
>
>
>
>
> So it appears that the call to openpic_inittimer(2, 0,
> OPENPIC_VEC_TIMER+2) is where things are locking up.
> Suggestions?
> It's been a while since I used the MVME2100 BSP so it's not clear to
> me when the problem was introduced.
More information about the users
mailing list