Initial SMP changes
Jeffrey Lee authored
Detail:
  This commit lays some of the groundwork for SMP support within the HAL, kernel, and OS.
  Makefile, hdr/HALDevice, hdr/DBellDevice - Add definitions for a doorbell HAL device, to allow CPU cores to signal each other via interrupts
  hdr/HALEntries - Repurpose HAL_Matrix and HAL_Touchscreen entry points for new SMP-related entry points. Add a couple of IRQ-related definitions.
  hdr/KernelWS - Boost MaxInterrupts to 256
  hdr/Options - Add new SMP build switch to control whether the kernel is built in SMP-friendly mode or not. SMP-friendly kernels should still run on single-core machines, but may behave slightly differently.
  s/ARMops - Make as many ARMops SMP-safe as possible, relying on hardware support for broadcasting of cache/TLB maintenance operations
  s/ExtraSWIs - Make SMP-friendly full OS_SynchroniseCodeAreas only sync application space and the RMA (full-cache IMB not really possible with SMP)
  s/NewIRQs - Update IRQ despatcher comments to (hopefully) reflect reality
  Docs/SMP/HAL, Docs/SMP/IRQ - Add documentation covering the new HAL calls and IRQ behaviour
Admin:
  Tested on Raspberry Pi 2, 3, OMAP4, iMX6


Version 5.86, 4.129.2.2. Tagged as 'Kernel-5_86-4_129_2_2'
9944afaf
Name Last commit Last update
..
ExportVals 32-bit Kernel.
ARMops Support for ARMv8
Copro15ops Add new ARMops. Add macros which map the ARMv7/v8 cache/TLB maintenance mnemonics (as featured in recent ARM ARMs) to MCR ops.
DBellDevice Initial SMP changes
EnvNumbers Import from cleaned 360 CD
EtherDevice Added link to Phy powerup and reset routine in EtherDevice
HALDevice Initial SMP changes
HALEntries Initial SMP changes
KernelWS Initial SMP changes
KeyWS Delete STB code
ModHand Resolve 2x header clashes
OSEntries Teach the kernel about different memory attributes
OSMem Implement support for cacheable pagetables
OSMisc Expose CLREX via OS_PlatformFeatures
OSRSI6 Add initial support for "physical memory pools"
Options Initial SMP changes
PL310 Add ARMops for PL310 L2 cache controller
PublicWS Fix HiProcVecs build. Remove old-style PublicWS definitions.
RISCOS Resync with allocations database (added symbolic names for Internet Event subreason codes)
VIDCList Reverse interlace deprecation decision
Variables Import from cleaned 360 CD
VduExt Improve Service_DisplayStatus, Service_DisplayChanged functionality
VideoDevice Update VDU HAL device for new OMAPVideo driver, fix MVA-based cache/TLB maintenance ops aborting on ARMv7, add warning to VDU driver about inconsistent state variables during screen mode changes