ARM11 Interrupts: Difference between revisions

No edit summary
Bond697 (talk | contribs)
No edit summary
Line 2: Line 2:


Interrupt priority is 0-0xF
Interrupt priority is 0-0xF
= Private Interrupts =
Each CPU core has 32 software interrupts that are private and belong to that core.  These interrupts are numbers 0-0x1F for each core.  The hardware interrupts are not core-specific and start at interrupt ID 0x20.
{| class="wikitable" border="1"
{| class="wikitable" border="1"
!  IRQ
!  IRQ
Line 34: Line 39:
| kernel
| kernel
| MPCore watchdog.
| MPCore watchdog.
|}
= Hardware Interrupts =
There are 0x60 hardware interrupts starting at 0x20 and continuing up to 0x7F.  These are not private and are accessible from any core.
{| class="wikitable" border="1"
!  IRQ
!  Listener
!  Description
|-
|-
| 0x28
| 0x28
Line 227: Line 243:
| ?
| ?
|}
|}
There are 2 tables in the ARM11 kernel: the first has 32 * 2(or 32 * 4) 8-byte entries.  This table is for the private interrupts that belong to each core.  The data for each interrupt can be found by doing table_base + (core_num * 0x100) + (intr_num * 8).  The second table is for public hardware interrupts and the data for each interrupt can be retrieved by doing table_base + (intr_num * 8).