Update the method the Cortex kernel uses to determine the UtilityModule & ROM dates
Jeffrey Lee authored
Detail:
  Three main changes:
  * On odd-numbered (i.e. development) versions of the module, the UtilityModule will now take its date from the VersionNum file instead of using a hard-coded date.
  * All build versions now look for the new "extended ROM footer" (as created by romlinker 0.04+) at the end of the ROM image and use it to determine the ROM build date for return by OS_ReadSysInfo 9,2. Failing to find the build date in the footer will cause OS_ReadSysInfo 9,2 to return 0.
  * On odd-numbered versions, OS_Byte 0 will now use the ROM build date (as found in the extended footer) to generate the error block that's returned to the user. This seems OK as the PRM describes OS_Byte 0 as returning the "creation date of the operation system". Plus it's a convenient way of getting the ROM build date into the Switcher, since the switcher uses OS_Byte 0. If the extended footer can't be found (or if the string hasn't been initialised yet, e.g. before Service_PostInit) the code falls back to a hard-coded string containing the date from the VersionNum file.
  File changes:
  Makefile - Updated to not create the obsolete Time+Date file (previously used for the ROM build date)
  Version - Use date from VersionNum file for development builds
  hdr/Options - New UseNewFX0Error variable/option to make it easy to check which OS_Byte 0 variant should be enabled
  hdr/KernelWS - Added new string buffers & extended ROM footer pointer to workspace
  s/Middle - Updated OS_ReadSysInfo 9 code, and added utility functions for searching the extended ROM footer for certain tags
  s/NewReset - Added a couple of calls to initialise the new string buffers just prior to Service_PostInit. This is required since OS_Byte/OS_ReadSysInfo shouldn't enable interrupts, but date conversion relies on the Territory module, which may enable interrupts.
  s/PMF/osbyte - Updated OS_Byte 0 code
Admin:
  Tested in OMAP ROM, with and without the extended footer present.


Version 5.35, 4.79.2.98.2.41. Tagged as 'Kernel-5_35-4_79_2_98_2_41'
daa8607f
Name Last commit Last update
Dev/IICTest Spinner branch merged.
Doc Kernel merged
Docs Miscellaneous v6-related updates
NewModes Import from cleaned 360 CD
Resources/UK Commit of kernel as featured in release 5.00.
TestSrc * Converted to building with ObjAsm (but still a single object file using ORG).
h Add ClearIRQ entry to base HAL device struct, plus a couple of new HAL device IDs & bus types
hdr Update the method the Cortex kernel uses to determine the UtilityModule & ROM dates
o Clean reimport of hdr.RISCOS (real commit date 2008-03-28 by bavison), without any of the 3rd party allocations.
rm Clean reimport of hdr.RISCOS (real commit date 2008-03-28 by bavison), without any of the 3rd party allocations.
s Update the method the Cortex kernel uses to determine the UtilityModule & ROM dates
.gitattributes Miscellaneous stuff.
BlackLog Initial revision
Changes Import from cleaned 360 CD
HelpStrs 32-bit Kernel.
LICENSE Clean reimport of hdr.RISCOS (real commit date 2008-03-28 by bavison), without any of the 3rd party allocations.
Makefile Update the method the Cortex kernel uses to determine the UtilityModule & ROM dates
MkClean,fd7 Mostly device stuff.
MkExport,fd7 Import from cleaned 360 CD
MkRom,fd7 partial video changes for kernel/HAL split near-HAL code for VIDC/IOMD in vdu.vduhint briefly tested in Ursula desktop build still some kernel workspace dependency in near-HAL code
MkRomInst,fd7 32-bit Kernel.
Version Update the method the Cortex kernel uses to determine the UtilityModule & ROM dates
VersionASM Update the method the Cortex kernel uses to determine the UtilityModule & ROM dates
VersionNum Update the method the Cortex kernel uses to determine the UtilityModule & ROM dates