Commit 029227a0 authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Fix to spurious interrupt return value in HAL_IRQSource

For a spurious interrupt the return value was not set to -1.
Also, the return value in the non spurious case was only correct because the CPU id is 0.
Inspected, but not tested.

Version 0.32. Tagged as 'OMAP4-0_32'
parent c6b66416
/* (0.31)
/* (0.32)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 0.31
#define Module_MajorVersion_CMHG 0.32
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 22 Mar 2014
#define Module_Date_CMHG 23 Mar 2014
#define Module_MajorVersion "0.31"
#define Module_Version 31
#define Module_MajorVersion "0.32"
#define Module_Version 32
#define Module_MinorVersion ""
#define Module_Date "22 Mar 2014"
#define Module_Date "23 Mar 2014"
#define Module_ApplicationDate "22-Mar-14"
#define Module_ApplicationDate "23-Mar-14"
#define Module_ComponentName "OMAP4"
#define Module_ComponentPath "castle/RiscOS/Sources/HAL/OMAP4"
#define Module_FullVersion "0.31"
#define Module_HelpVersion "0.31 (22 Mar 2014)"
#define Module_LibraryVersionInfo "0:31"
#define Module_FullVersion "0.32"
#define Module_HelpVersion "0.32 (23 Mar 2014)"
#define Module_LibraryVersionInfo "0:32"
......@@ -264,21 +264,21 @@ HAL_IRQSource
]
MOVEQ pc, lr
LDR a2, MPU_INTC_Log
LDR a1, [a2, #(MPU_INTC_CPU + GIC_CPU_INTACK)]
BIC a3, a1, #ICCIAR_CPUID
CMP a3, #INTERRUPT_MAX
LDR a3, [a2, #(MPU_INTC_CPU + GIC_CPU_INTACK)]
BIC a1, a3, #ICCIAR_CPUID
CMP a1, #INTERRUPT_MAX
[ DebugInterrupts
STRLO a3, LastInterrupt_IRQ
STRLO a1, LastInterrupt_IRQ
]
MOVLO pc, lr
; Authentic spurious interrupt - restart INTC and return -1
MOV a3, #-1
[ DebugInterrupts
STR a3, LastInterrupt_IRQ
]
STR a1, [a2, #(MPU_INTC_CPU + GIC_CPU_EOI)]
STR a3, [a2, #(MPU_INTC_CPU + GIC_CPU_EOI)]
; Data synchronisation barrier to make sure INTC gets the message
DSB SY
MOV a1, #-1
[ DebugInterrupts
STR a1, LastInterrupt_IRQ
]
MOV pc, lr
HAL_IRQStatus
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment