AnsweredAssumed Answered

Unmask Internal Interrupt in the MPIC in P4080

Question asked by Clemens Reibetanz on Jan 22, 2015
Latest reply on Jan 23, 2015 by Clemens Reibetanz

Hi all,

 

I have a problem using the MPIC on the P4080.

 

I cant unmask the internal interrupt 1.

When I do the following:

 

const uint32_t MPIC_IIVPR1 = 0x40000 + 0x10200 + 32*1;

uint32_t value = (8<<(31-15)) | (1) & ~(1 << 31);

cout << "value=" << hex << value << "\n\r";

*((uint32_t *)(CCSRBAR + MPIC_IIVPR1)) = value;

cout << "MPIC_IIVPR1=" << *((uint32_t *)(CCSRBAR + MPIC_IIVPR1)) << "\n\r";

 

I get as output

 

value=80001

MPIC_IIVPR1=880001

 

That means the interrupt is masked (P4080RM.pdf p. 1699). Why does this happen and what do I have to do to unmask it?

 

And am I right that if a watchdog interrupt in a core appears, the corresponding bit in the MPIC_WSRSR0 (Watchdog status register) should be set? What else do I have to do to see watchdog interrupt in other cores?

 

Thanks in advance.

Outcomes