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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.