130 Interrupt::Bind(EMainIntChainIrq,SecondLevelIrqDispatch,NULL); |
130 Interrupt::Bind(EMainIntChainIrq,SecondLevelIrqDispatch,NULL); |
131 Interrupt::Enable( EMainIntChainIrq ); |
131 Interrupt::Enable( EMainIntChainIrq ); |
132 } |
132 } |
133 </codeblock> <fig id="GUID-4109B9AA-BAE7-5454-9556-DC6D40AC75B9"> |
133 </codeblock> <fig id="GUID-4109B9AA-BAE7-5454-9556-DC6D40AC75B9"> |
134 <title>Interrupt sources</title> |
134 <title>Interrupt sources</title> |
135 <image href="GUID-970EC5A9-8ED3-53C5-93A3-2EC1A7B6F25F_d0e375888_href.png" placement="inline"/> |
135 <image href="GUID-970EC5A9-8ED3-53C5-93A3-2EC1A7B6F25F_d0e397408_href.png" placement="inline"/> |
136 </fig> <ul> |
136 </fig> <ul> |
137 <li id="GUID-7257146C-52C7-5C2F-B6F6-B32B558A0620"><p>The second level dispatcher, <codeph>SecondLevelIrqDispatch()</codeph>, |
137 <li id="GUID-7257146C-52C7-5C2F-B6F6-B32B558A0620"><p>The second level dispatcher, <codeph>SecondLevelIrqDispatch()</codeph>, |
138 is itself an ISR, and takes a <xref href="GUID-6D079976-9119-31FA-8E21-C3B815F94648.dita"><apiname>TAny</apiname></xref> * parameter, but is |
138 is itself an ISR, and takes a <xref href="GUID-6D079976-9119-31FA-8E21-C3B815F94648.dita"><apiname>TAny</apiname></xref> * parameter, but is |
139 not needed in this specific example. It reads the interrupt pending register |
139 not needed in this specific example. It reads the interrupt pending register |
140 of the second-level interrupt controller. Note, however, that the <xref href="GUID-6D079976-9119-31FA-8E21-C3B815F94648.dita"><apiname>TAny</apiname></xref> * |
140 of the second-level interrupt controller. Note, however, that the <xref href="GUID-6D079976-9119-31FA-8E21-C3B815F94648.dita"><apiname>TAny</apiname></xref> * |