• Jeffrey Lee's avatar
    Initial SMP changes · 9944afaf
    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 reali...
    9944afaf