• Jeffrey Lee's avatar
    Clear the exclusive monitor when returning to pre-empted code · d10d2336
    Jeffrey Lee authored
    Detail:
      s/Kernel - Add macro for CLREX, which uses a dummy STREX on basic ARMv6 machines. Clear the exclusive monitor after issuing transient callbacks, to cope with callbacks being triggered on exit from IRQ
      s/ArthurSWIs, s/HAL, s/NewIRQs - Clear the exclusive monitor on exit from IRQ handlers & default FIQ handler
      s/VMSAv6 - Clear the exclusive monitor on entry to the data abort pre-veneer
    Admin:
      Tested on Raspberry Pi
      Non-transient callback handlers, custom abort handlers, FIQ handlers, and anything else which returns directly to interrupted user code is responsible for issuing its own CLREX if the code has done something that could have left the local monitor in the exclusive state (e.g. calling a SWI counts towards this, as there's no guarantee the monitor will be open on exit from the SWI)
    
    
    Version 5.35, 4.79.2.327. Tagged as 'Kernel-5_35-4_79_2_327'
    d10d2336
VersionNum 843 Bytes
/* (5.35)
 *
 * This file is automatically maintained by srccommit, do not edit manually.
 * Last processed by srccommit version: 1.1.
 *
 */
#define Module_MajorVersion_CMHG        5.35
#define Module_MinorVersion_CMHG        4.79.2.327
#define Module_Date_CMHG                15 Jun 2016

#define Module_MajorVersion             "5.35"
#define Module_Version                  535
#define Module_MinorVersion             "4.79.2.327"
#define Module_Date                     "15 Jun 2016"

#define Module_ApplicationDate          "15-Jun-16"

#define Module_ComponentName            "Kernel"
#define Module_ComponentPath            "castle/RiscOS/Sources/Kernel"

#define Module_FullVersion              "5.35 (4.79.2.327)"
#define Module_HelpVersion              "5.35 (15 Jun 2016) 4.79.2.327"
#define Module_LibraryVersionInfo       "5:35"