PrPMC800 interrupt problem
Anders Blomdell
anders.blomdell at control.lth.se
Sat Oct 26 01:44:26 EST 2002
> A very hacky solution to this is to modify 'prpmc800_init_IRQ' to:
> <snip>
A better solution is perhaps to change openpic_init from
if (NumSources == 0)
openpic_set_sources(0,
((t & OPENPIC_FEATURE_LAST_SOURCE_MASK) >>
OPENPIC_FEATURE_LAST_SOURCE_SHIFT) + 1,
NULL);
to
if (NumSources == 0) {
int irqs;
irqs = ((t & OPENPIC_FEATURE_LAST_SOURCE_MASK) >>
OPENPIC_FEATURE_LAST_SOURCE_SHIFT) + 1;
if (irqs < OpenPIC_NumInitSenses) {
// Some internal interrupt is defined, init it's vector as well
irqs = OpenPIC_NumInitSenses;
}
openpic_set_sources(0, irqs, NULL);
}
Any insight is welcome! As far as I can see, open_pic.c does not handle
timer, ipi, uart or any other internal interrupt sources (as they are not
reported in the feature register).
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list