By entering this site you need to consent to the use of cookies and their functional use according to this privacy policy. Cookies help us to provide the functional services of the website. Kindly read the below message of use and consent to the use.
The following cookies are stored and shared when accessing this website:
- Internal cookies for the MediaWiki site. This is used for user authentication and article modifications.
- Third-party cookies from Google providing services for Google AdSense and Google Analytics
We will never use data collected outside of the above scope.
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).