• Jeffrey Lee's avatar
    Add new HAL call, HAL_IRQMax, to allow the kernel to determine the number of... · 96e77d80
    Jeffrey Lee authored
    Add new HAL call, HAL_IRQMax, to allow the kernel to determine the number of IRQ lines/devices at runtime
    
    Detail:
      hdr/HALEntries - Reuse the old HAL_MonitorLeadID call number for HAL_IRQMax
      hdr/KernelWS - Rearrange CursorChunkAddress workspace a bit. Removed unused OldOscliBuffs and a couple of pre-HAL allocations, and made DefIRQ1Vspace the same size for all build configs. Add an IRQMax var to zero page workspace to cache the value returned by HAL_IRQMax.
      s/HAL - Initialise IRQMax shortly after HAL initialisation. Revise ClearPhysRAM comment to reflect which vars are preserved in the current version of the code.
      s/NewIRQs - Strip out a fair bit of pre-HAL code to make the file more readable. Update OS_ClaimDeviceVector/OS_ReleaseDeviceVector to check against IRQMax instead of the MaxInterrupts compile-time limit.
    Admin:
      Tested on BB-xM, Iyonix, RiscPC, Pi
      Although the OS will now nominally adapt at runtime to how many IRQ devices there are, it's still using MaxInterrupts as an upper limit as the device claimant table has a fixed memory allocation.
    
    
    Version 5.35, 4.79.2.182. Tagged as 'Kernel-5_35-4_79_2_182'
    96e77d80
HALEntries 8.66 KB