• Jeffrey Lee's avatar
    Add SWI error pointer validation, SeriousErrorV hooks, and OS_ReadSysInfo 15 · b4cf3959
    Jeffrey Lee authored
    Detail:
      Resources/UK/Messages, hdr/KernelWS, s/Kernel - On return from a SWI with V set, do some basic validity checks on the error pointer in order to try and catch buggy SWIs that return bad pointers or invalid error blocks. If a bad pointer is found we'll substitute it with a pointer to a different error block, which has the SWI number in the error message, to allow the user to identify the source of the problem. (There's also a chance we'll crash when investigating a bad pointer, but crashing here in the kernel is preferable to crashing elsewhere because R12 should still contain the SWI number)
      hdr/OSMisc - Define SeriousErrorV reason codes and extended ROM footer entry IDs
      hdr/Options - Remove HangWatch integration flag, obsolete now that SeriousErrorV is available
      s/ArthurSWIs - Keep defaultvectab up to date with vector allocations
      s/Middle - Update serious error handling to call SeriousErrorV at several key points. This allows for accurate crash dumps to be obtained, along with a mechanism to warn low-level components such as RTSupport that the privileged mode stacks are being flattened.
      s/Middle - Add OS_ReadSysInfo 15, for enumerating extended ROM footer entries
      s/PMF/osbyte - Update InitNewFX0Error to use the ROM footer entry ID defined in hdr/OSMisc
    Admin:
      Tested on Pi 1B, 2B, 3B
    
    
    Version 5.35, 4.79.2.313. Tagged as 'Kernel-5_35-4_79_2_313'
    b4cf3959
ArthurSWIs 41.5 KB