• Robert Sprowson's avatar
    Add OS_NVMemory 6 · b9898460
    Robert Sprowson authored
    Permits applications to query what value would be used in the event of a CMOS reset for a given configure value. Notably, the configure plugins will use this in favour of 'ResetCMOS'.
    hdr/Options: retire the 'Select16BitSound' switch, add comment for ChecksumCMOS switch
    hdr/KernelWS: DuffEntry and Nowhere moved here
    Kernel.s: Unused OSMD removed, retire single use of SPIRQ in favour of r13_irq
    Middle.s: Retire SPIRQ
    NewReset.s: Trim out 300+ lines of CMOS reset defaults, call OS_NVMemory 6 instead
    PMF/i2cutils.s: CMOS reset default code and table moved here with refactoring
    Note, the previous code preserved YearCMOS during the zeroing, only to unconditionally write it later - so have removed it from the zeroing step.
    Note, the locations 80-111 are now considered as system CMOS in the allocations hence are now wiped too (previously they got skipped as user CMOS during R-power-on).
    
    Tested on OMAP3 ROM with delete-power-on and R-power-on variants, and a simple BASIC program to read locations 0-255 via OS_NVMemory.
    
    Version 5.35, 4.79.2.180. Tagged as 'Kernel-5_35-4_79_2_180'
    b9898460
Options 18.7 KB