Re: AW: AW: Interrupt handling
Espen Skoglund <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.l4ka.general |
|---|---|
| Message-ID | <[email protected]> |
[Martin Christian] > <console> > Disable MPSC_INT_RCC > ACK MPSC_INT_RCC > Assertion irq_tcb->get_state().is_halted() failed in file > /cygdrive/c/Martin/pro > jects/L4-Pistachio/kernel/src/api/v4/interrupt.cc, line 169 > (fn=c0025d40) >>> KD# assert > IP: 0xc002ddec, MSR: 0x00023032, user IP: 0x00300410, user MSR: > 0x0000d032 > </console> > That shouldn't happen, I assume. Is it expected, that all interrupts > are masked unless they are registered? Because on registering for an > interrupt, a call to intctrl_t:mask() is done from somewhere inside > the kernel. Yes. All interrupts are masked until a handler thread has been associated with them. If this does not happen the non-existing IRQ thread will have a bogus thread state and the assertion above will be triggered. >From your output message it seems that you're running on powerpc. It could be the case that the powerpc port does not do this masking properly. eSk