1. 18 Jun, 2012 1 commit
    • Robert Sprowson's avatar
      Make OS_Memory 8 return more correct values · b6cfcbdf
      Robert Sprowson authored
      The only fake result now is the hard ROM amount, which is hardwired to 4MB and might not be correct.
      Unrelated changes
       hdr.HALDevice: Assign a device for VIDC20.
       hdr.KernelWS: Reorder into ascending order, remove legacy addresses.
       s.ARM600: Move PhysSpaceSize inside :LNOT:HAL switch.
       s.Kernel: Move PhysSpaceSize inside :LNOT:HAL switch.
      
      Version 5.35, 4.79.2.153. Tagged as 'Kernel-5_35-4_79_2_153'
      b6cfcbdf
  2. 04 Jun, 2012 1 commit
    • Jeffrey Lee's avatar
      Add new HAL entry, HAL_UARTDefault. Make use of Hdr:SerialOp & OS_SerialOp 10. · 5519f1d8
      Jeffrey Lee authored
      Detail:
        hdr/HALEntries - Brought in line with RPi branch, plus addition of new HAL_UARTDefault HAL entry, to allow DualSerial to determine which (if any) of the HAL UARTs should be the default UART accessed via OS_SerialOp
        s/GetAll - Add GET of Hdr:SerialOp
        s/PMF/osbyte - Use OS_SerialOp 10 when constructing filename to open for OS_Byte 2
      Admin:
        Tested in OMAP3, Tungsten ROMs
      
      
      Version 5.35, 4.79.2.152. Tagged as 'Kernel-5_35-4_79_2_152'
      5519f1d8
  3. 26 May, 2012 1 commit
    • Robert Sprowson's avatar
      Adoption of *CONFIGURE/STATUS CACHE commands · ef95917b
      Robert Sprowson authored
      The kernel already looks after all other aspects of the ARM CPU, so can look after the cache control command too.
       HelpStrs.s:New tokens for help and syntax
       CmdHelp.s:UK help and syntax
       Arthur3.s:Tables updates for *CONFIGURE/STATUS, lined some stuff up, default error text sync'd with Hdr:NewErrors
       MoreComms.s:Parsing and doing of *CACHE
       Utility.s:Hashing table updated for *CACHE
      Other minor changes
       hdr/Options:Bring 'MosVer' into the private header
       hdr/RISCOS:aasm aliases for SP removed, MainVars and MosVer made private, added definition of the start of application space
       HeapMan.s:Use of GRAB changed to Pull
       Offset of TutuCMOS changed for more informative PrintSoundCMOS
       PMF/osbyte.s:Use OsBytes header file in place of MainVars
      
      Version 5.35, 4.79.2.151. Tagged as 'Kernel-5_35-4_79_2_151'
      ef95917b
  4. 21 May, 2012 2 commits
    • Robert Sprowson's avatar
      vduhint.s not needed on HAL branch. · 9b1056a7
      Robert Sprowson authored
      9b1056a7
    • Robert Sprowson's avatar
      Make Mike's macros permanent. · 2c9aad90
      Robert Sprowson authored
      While the HAL and kernel were being split some temporary macros were used for the bits being worked on, after 12 years of use they're probably safe to adopt.
      mjsCallHAL -> CallHAL; mjsAddressHAL -> AddressHAL; mjsHAL -> HAL.
      OS_VIDCDividerSWI code now always does NoSuchSWI (had been switched out previously).
      File vduhint.s no longer assembled (was empty).
      
      
      Version 5.35, 4.79.2.150. Tagged as 'Kernel-5_35-4_79_2_150'
      2c9aad90
  5. 18 May, 2012 1 commit
  6. 15 May, 2012 1 commit
  7. 25 Apr, 2012 1 commit
    • Ben Avison's avatar
      Fix stack imbalances · 105674f6
      Ben Avison authored
      Detail:
        In a couple of early exits from LookForHALRTC, R12 was missing from the
        pull macros.
      Admin:
        Fix received from John Ballance.
      
      Version 5.35, 4.79.2.147. Tagged as 'Kernel-5_35-4_79_2_147'
      105674f6
  8. 15 Apr, 2012 1 commit
    • Jeffrey Lee's avatar
      OS_ChangeDynamicArea performance optimisations · 5e11e665
      Jeffrey Lee authored
      Detail:
        s/ChangeDyn:
          - Apply various optimisations to OS_ChangeDynamicArea to reduce the execution time when performing large grows/shrinks.
          - Optimisations can be toggled on/off with FastCDA_* flags for debugging.
          - On a 1GHz 512MB BB-xM, the initial *FreePool call now takes 0.15s instead of 13.46s. On a 512MB Iyonix the time has dropped from 1.18s to 0.23s.
          - Growing screen memory (on BB-xM) has also seen significant gains - between 2x and 4x speedup, depending on what state the source pages are in.
          - Added/updated documentation for a few functions and made more use of ROUTs for safety
        s/ARM600, s/VMSAv6:
          - Update BangCamUpdate, etc. to add support for the PageFlags_Unsafe flag that OS_ChangeDynamicArea uses to bypass cache/TLB maintenance in some situations
          - Avoid BangCamUpdate calling BangL2PT to map out the page if the page isn't mapped in (avoids unnecessary cache/TLB flush)
        s/ArthurSWIs:
          - Add extra ASSERT for safety
        s/AMBcontrol/memory
          - Fix incorrect assumption that the usable size of a heap block is always 8 less than the value stored in the header. Even with the old 8 byte aligned allocations the usable size will always be 4 bytes less than the value in the header. This code would have resulted in some slight memory wasteage, as AMBcontrol will have always tried growing the block four bytes bigger than needed.
      Admin:
        Tested on Iyonix & BB-xM
      
      
      Version 5.35, 4.79.2.146. Tagged as 'Kernel-5_35-4_79_2_146'
      5e11e665
  9. 08 Apr, 2012 1 commit
  10. 25 Mar, 2012 1 commit
    • Robert Sprowson's avatar
      Tighten up time conversions. · 1cd6a8f2
      Robert Sprowson authored
      Convrsions.s:
      Don't trash R4 in OS_ConvertDateAndTime
      Reject buffer sizes > 2G (seems reasonable for a time string, and allows us to claw back a flag bit).
      PMF/osword.s:
      Just call Territory_ConvertDateAndTime directly since that's all OS_ConvertDateAndTime does.
      Trim some now irrelevant comments and switched out code.
      
      Version 5.35, 4.79.2.144. Tagged as 'Kernel-5_35-4_79_2_144'
      1cd6a8f2
  11. 24 Mar, 2012 2 commits
    • Ben Avison's avatar
      Retired *Configure options, and a new header export · 68f45833
      Ben Avison authored
      Detail:
        * As noted in recent commits to ADFS, the *Configure options Dir and NoDir
          haven't done anything since RISC OS 2, so ADFS has stopped reading the
          CMOS bit. Unusually, these options are implemented by the kernel, so this
          is the accompanying change to remove the *Configure options. This frees
          up a bit of CMOS for future re-use.
        * Now exports a C version of Hdr:ModHand.
      Admin:
        Builds OK, but not tested in a ROM build yet (should be fairly safe though)
      
      Version 5.35, 4.79.2.143. Tagged as 'Kernel-5_35-4_79_2_143'
      68f45833
    • Jeffrey Lee's avatar
      Fix asasm 2.00 error · 36751c40
      Jeffrey Lee authored
      Detail:
        s/AMBControl/service - Fix missing colon on end of :OR: operator
      Admin:
        Identical binary under objasm
      
      
      Version 5.35, 4.79.2.142. Tagged as 'Kernel-5_35-4_79_2_142'
      36751c40
  12. 19 Mar, 2012 1 commit
  13. 17 Mar, 2012 1 commit
    • Jeffrey Lee's avatar
      Correct mode 47 parameters · 60c8dfe3
      Jeffrey Lee authored
      Detail:
        s/vdu/vdumodes - Mode 47 is 360 pixels wide, so should be 45 text columns, not 90
      Admin:
        Tested in Iyonix ROM softload
      
      
      Version 5.35, 4.79.2.140. Tagged as 'Kernel-5_35-4_79_2_140'
      60c8dfe3
  14. 11 Mar, 2012 1 commit
    • Jeffrey Lee's avatar
      Select correct mouse type for IOMD systems · eacf838f
      Jeffrey Lee authored
      Detail:
        s/NewReset - When resetting the mouse type, for M_32 builds, check what IOMD version is fitted and select Quadrature/PS2 as appropriate
        Falls back to USB if no IOMD/unrecognised IOMD
      Admin:
        Tested in IOMD softload on RiscPC
      
      
      Version 5.35, 4.79.2.139. Tagged as 'Kernel-5_35-4_79_2_139'
      eacf838f
  15. 25 Feb, 2012 2 commits
    • Jeffrey Lee's avatar
      Add compressed ROM support. Make more use of ARMv5+ instructions. Other misc tweaks. · 538f3c24
      Jeffrey Lee authored
      Detail:
        hdr/OSEntries, s/HAL, s/Kernel - Add compressed ROM support.
        With the current scheme, a compressed ROM will have everything except the HAL and kernel compressed.
        During the keyboard scan period the kernel will allocate some temporary decompression workspace and call the decompression stub that was appended to the ROM.
        The decompression stub is expected to perform in-place decompression of the ROM. Once decompression is complete the workspace will be freed and the page tables updated to make the ROM image readonly.
        It's the HAL's responsibility to make sure any compressed ROM is located in an area of physically contiguous RAM large enough to hold the uncompressed image.
        More info here: http://www.riscosopen.org/wiki/documentation/show/Compressed%20ROMs
        Makefile, h/OSEntries - Add C export of hdr/OSEntries
        hdr/HALDevice - Add device ID for Tungsten video device. Convert tabs to spaces for consistency.
        hdr/HALEntries, s/NewReset - Moved KbdFlag_* definitions to hdr/HALEntries so HALs can use them in their keyboard scan code
        s/ArthurSWIs, S/HAL, s/HeapSort, s/Kernel, s/MemInfo, s/Middle, s/NewIRQs, s/TickEvents, s/vdu/vdugrafb - Make use of BLX, BFI and long multiplies if the CPU supports them. Don't support SWI calls from thumb mode if the CPU doesn't support thumb.
        s/HAL - Made the LDMIA in Init_MapInRAM more sensible (register order was backwards). The old code did work, but wasn't doing what the comments described. Removed unused/unfinished HAL_Write0 function. Improve RISCOS_LogToPhys to check L1PT for any section mappings if the logical_to_physical call fails
        s/ModHand - Save one instruction by using ADR instead of MOV+ADD to compute lr
        s/NewReset, s/PMF/key - Pass L1PT to HAL_Reset to allow machines without hardware reset (e.g. IOMD) to perform resets by manually disabling the MMU and restarting the ROM
        s/vdu/vdudriver, s/vdu/vdugrafv - Use GVEntry macro borrowed from NVidia module for setting up the GraphicsV jump table. Make GraphicsV_ReadPaletteEntry call HAL_Video_ReadPaletteEntry if left unclaimed. Fixup GV_Render to only call HAL_Video_Render if the HAL call is implemented.
      Admin:
        Tested with OMAP3, IOMD & Tungsten ROMs/softloads.
      
      
      Version 5.35, 4.79.2.138. Tagged as 'Kernel-5_35-4_79_2_138'
      538f3c24
    • Robert Sprowson's avatar
      Fix *SAVE syntax error message. · b9c19bd2
      Robert Sprowson authored
      The text had cunning hardspaces in it so that the *HELP text lines up nicely using OS_PrettyPrint, but not taking into account that internationalised syntax errors don't use OS_PrettyPrint so output VDU31,31,31 and jumped all over the place.
      Syntax message rephrased to fit on one line.
      Syntax and help for *TV cleared up since the help text contained all the syntax information.
      Spotted 2 wasted instructions in Oscli.s while investigating, added some comments too.
      
      Version 5.35, 4.79.2.137. Tagged as 'Kernel-5_35-4_79_2_137'
      b9c19bd2
  16. 18 Feb, 2012 1 commit
    • Robert Sprowson's avatar
      Process some callbacks during module initialisation. · 07f59bea
      Robert Sprowson authored
      When in DebugROMInit=TRUE mode each call to XOS_NewLine also checks and
      processes pending callbacks (in VduLF). This makes the USB enumeration
      come out in a different order because they're all collected at the end.
      As an intermediate step, collect callbacks for DebugROMInit=FALSE too.
      Note: developers should not rely on this behaviour, this will be phased
      out before the next stable release.
      
      Version 5.35, 4.79.2.136. Tagged as 'Kernel-5_35-4_79_2_136'
      07f59bea
  17. 09 Feb, 2012 1 commit
  18. 01 Feb, 2012 1 commit
    • Jeffrey Lee's avatar
      Add null hash table entry checks to SysCommsModule & UtilityModule hash table lookup · 97f47c50
      Jeffrey Lee authored
      Detail:
        s/Oscli - In SysCommsHashedLookup and UtilCommsHashedLookup, check for null hash table entries instead of just blindly calling ModCommsLookUp_AltEntry.
        This fixes an issue where a crash will occur iff:
        (a) You enter a command which has no entry in one of the two hash tables
        (b) The command is a valid command (with a code entry point) if you reinterpret the corresponding module header as a command table
        In reality, for recent versions of RISC OS 5, you'll get a crash only when trying to execute the command 's'. Some previous OS versions (e.g. 5.12) appear to have been immune to the crash.
        If (a) was true but (b) was false the bug would have also resulted in a small performance hit caused by attempting to scan the module headers for matching commands.
      Admin:
        Tested in Tungsten & OMAP ROM builds
        's' no longer crashes, and commands included in the two hash tables still seem to function as normal.
        Fixes issue reported on forums:
        http://www.riscosopen.org/forum/forums/4/topics/902
      
      
      Version 5.35, 4.79.2.135. Tagged as 'Kernel-5_35-4_79_2_135'
      97f47c50
  19. 27 Jan, 2012 1 commit
  20. 15 Jan, 2012 1 commit
  21. 05 Jan, 2012 2 commits
  22. 10 Dec, 2011 3 commits
    • Jeffrey Lee's avatar
      Fix OS_Heap 4. Fix stack imbalance in system heap code. · 19995840
      Jeffrey Lee authored
      Detail:
        s/HeapMan - The code to check if it's safe to shrink a block by 4 bytes assumed 'addr' was the address of the block, when in reality it's just an offset. This was causing the "OK to shrink?" check to always ignore the shrink request on heaps located below the 2G limit, but fail with "heap corrupt" errors in heaps located above the 2G limit.
        s/ArthurSWIs - Fix stack imbalance causing a crash if OS_Heap returns an unexpected error in DoSysHeapOpWithExtension/ClaimSysHeapNode
      Admin:
        Tested in Iyonix ROM softload
        Testbed didn't pick up heap shrink bug due to the sanity checks it performs not being vigorous enough.
      
      
      Version 5.35, 4.79.2.130. Tagged as 'Kernel-5_35-4_79_2_130'
      19995840
    • Jeffrey Lee's avatar
      Fix heap test compile errors · 3ba8734f
      Jeffrey Lee authored
      Detail:
        TestSrc/HeapTest/c/testbed - Added missing semicolon
        TestSrc/HeapTest/s/asm - Include Hdr:MsgTrans for XMessageTrans_CopyError
      Admin:
        Now compiles and runs properly!
      
      
      Version 5.35, 4.79.2.129. Tagged as 'Kernel-5_35-4_79_2_129'
      3ba8734f
    • Jeffrey Lee's avatar
      Improve heap manager. Add heap testbed. Add dummy implementation of some... · 4a30b643
      Jeffrey Lee authored
      Improve heap manager. Add heap testbed. Add dummy implementation of some OS_ScreenMode reason codes.
      
      Detail:
        s/HeapMan, hdr/KernelWS - Heap manager improvements:
          - Errors generated by interrupted heap operations that are forced to complete by a OS_Heap call from the background are now cached in kernel workspace until the foreground task is resumed. This prevents them from being potentially overwritten by MessageTrans running out of background error buffers.
          - Added new OS_Heap reason code, #7 - Get area aligned. This allows areas of memory to be allocated at specific (power-of-2) alignments, and optionally without crossing a given (power-of-2) boundary. Alignment & boundary calculations are performed using logical addresses.
          - Removed the limitation that all free and allocated blocks must be a multiple of 8 bytes in length. This change was required in order to allow OS_Heap 7 to function correctly. Now the only requirements are that blocks must be multiples of 4 bytes in length, at 4 byte alignment, with a minimum length of 8 bytes. 4 extra padding bytes may still be added to the end of allocations in order to avoid creating 4-byte free blocks.
        s/HeapMan, TestSrc/HeapTest/Makefile, TestSrc/HeapTest/c/testbed, TestSrc/HeapTest/s/asm - Added heap testbed program. Can either use the OS_Heap SWI or directly include a copy of the Kernel's heap manager sources.
        s/vdudecl, s/vduswis - Added dummy implementations of OS_ScreenMode 4, 5 and 6. This prevents the Wimp generating lots of "Unknown OS_ScreenMode reason code" errors when redrawing the screen.
        s/Arthur3, s/Oscli - Moved dotstring closer to where it's used to avoid "ADRL out of range" errors in Tungsten build
      Admin:
        Tested in OMAP3 ROM & Tungsten ROM softload.
        Heap testbed successfully performed over 400 million heap ops, so there shouldn't be any serious bugs in the new code (touch wood)
      
      
      Version 5.35, 4.79.2.128. Tagged as 'Kernel-5_35-4_79_2_128'
      4a30b643
  23. 27 Nov, 2011 4 commits
    • Robert Sprowson's avatar
      Rationalise some old switches. · 189b92c1
      Robert Sprowson authored
      Export less in hdr:RISCOS.
      Delete unused GetDecimalPair routine.
      Move CheckYear with other RTC stuff out of PMF/osword.
      Hide DebugROMInit and DebugROMErrors in release (even numbered) versions.
      
      Version 5.35, 4.79.2.127. Tagged as 'Kernel-5_35-4_79_2_127'
      189b92c1
    • Robert Sprowson's avatar
      Added 'UnConv' error (see also HdrSrc). · 191ae197
      Robert Sprowson authored
      Implement OS_ConvertVariform, internally the other conversions now just call it.
      Add tester for Variform to 'Dev'.
      Made block copy weirdness for XScale dependent on XScale arch flag.
      
      Version 5.35, 4.79.2.126. Tagged as 'Kernel-5_35-4_79_2_126'
      191ae197
    • Robert Sprowson's avatar
      Conversions rationalisation. · 0d73c680
      Robert Sprowson authored
      Delete pmf/convdate, moved to conversions.
      Moved OS_BinaryToDecimal to conversions.
      Remove OS_ConvertHex16 and friends.
      Add OS_ConvertVariform skeleton.
      Tidied conversions.
      
      Version 5.35, 4.79.2.125. Tagged as 'Kernel-5_35-4_79_2_125'
      0d73c680
    • Robert Sprowson's avatar
      Reindent Arthur2. · 2d883d8d
      Robert Sprowson authored
      Expand tabs.
      Swap DCI for instructions now Objasm 4 is out.
      Symbols for FSControl_CAT/RUN/OPT changed to non Arthur definitions.
      Still boots on IOMD class, no other testing.
      
      Version 5.35, 4.79.2.124. Tagged as 'Kernel-5_35-4_79_2_124'
      2d883d8d
  24. 26 Nov, 2011 1 commit
    • Jeffrey Lee's avatar
      Merge Cortex kernel into HAL branch · 50f95feb
      Jeffrey Lee authored
      Detail:
        This is a full merge of the Cortex kernel back into the HAL branch. Since the Cortex kernel is/was just a superset of the HAL branch, at this point in time both branches are identical.
        Main features the HAL branch gains from this merge:
        - ARMv6/ARMv7 support
        - High processor vectors/zero page relocation support
        - objasm 4 warning fixes
        - Improved HAL related functionality:
          - Support for HAL-driven RTCs instead of kernel-driven IIC based ones
          - Support for arbitrary size machine IDs
          - Support for multiple IIC busses
          - Support for any HAL size, instead of hardcoded 64k size
          - Probably some other stuff I've forgotten
        - Probably a few bug fixes here and there
      Admin:
        Tested on BB-xM & Iyonix.
        Was successfully flashed to ROM on an Iyonix to test the Cortex branch implementation of the 2010 RTC bug fix.
        IOMD build untested - but has been known to work in the past.
      
      
      Version 5.35, 4.79.2.123. Tagged as 'Kernel-5_35-4_79_2_123'
      50f95feb
  25. 13 Nov, 2011 2 commits
  26. 24 Sep, 2011 1 commit
    • Jeffrey Lee's avatar
      Fix objasm 4 warnings · 6d052230
      Jeffrey Lee authored
      Detail:
        s/Arthur3, s/ChangeDyn, s/HAL, s/HeapMan, s/Middle, s/MoreSWIs, s/NewIRQs, s/Utility, s/VMSAv6, s/PMF/key, s/PMF/osbyte, s/PMF/osword, s/vdu/vdudecl, s/vdu/vdudriver, s/vdu/vduplot, s/vdu/vduwrch - Tweaked lots of LDM/STM instructions in order to get rid of the depracation/performance warnings
      Admin:
        Tested on rev A2 BB-xM
      
      
      Version 5.35, 4.79.2.98.2.53. Tagged as 'Kernel-5_35-4_79_2_98_2_53'
      6d052230
  27. 14 Sep, 2011 1 commit
    • Jeffrey Lee's avatar
      Fix Cache_InvalidateAll_WB_CR7_Lx to do what it says on the tin · af172483
      Jeffrey Lee authored
      Detail:
        s/ARMops - My previous checkin mistakenly changed Cache_InvalidateAll_WB_CR7_Lx so that it cleans and invalidates the cache instead of just invalidating it. This fixes that.
        Also fixed a warning caused by the trailing space going AWOL from the 'cache type register fields' comment.
      Admin:
        Tested on rev A2 BB-xM
      
      
      Version 5.35, 4.79.2.98.2.52. Tagged as 'Kernel-5_35-4_79_2_98_2_52'
      af172483
  28. 12 Sep, 2011 2 commits
    • Jeffrey Lee's avatar
      ARMv7 fixes · 2dfd92c1
      Jeffrey Lee authored
      Detail:
        hdr/Copro15ops:
          - Fixed incorrect encodings of ISH/ISHST variants of DMB/DSB instructions
        s/ARMops, s/HAL, hdr/KernelWS:
          - Replace the ARMv7 cache maintenance code with the example code from the ARMv7 ARM. This allows it to deal with caches with non power-of-two set/way counts, and caches with only one way.
          - Fixed Analyse_WB_CR7_Lx to use the cache level ID register to work out how many caches to query instead of just looking for a 0 result from CSSIDR.
          - Also only look for 7 cache levels, since level 8 doesn't exist according to the ARMv7 ARM.
        s/NewReset:
          - Removed some incorrect/misleading debug output
      Admin:
        Tested on rev A2 BB-xM
      
      
      Version 5.35, 4.79.2.98.2.51. Tagged as 'Kernel-5_35-4_79_2_98_2_51'
      2dfd92c1
    • Ben Avison's avatar
      Kernel updates to support Cortex-A9 CPUs · 0ff2f2dd
      Ben Avison authored
      Detail:
        hdr.ARMops
          added Cortex_A9
        hdr.HALDevice
          added OMAP4 specific device IDs
        hdr.KernelWS
          changed definition of DefIRQ1Vspace for M_CortexA9
        s.ARMops
          added CortexA9 specific code for enabling L2 cache
          added CPUDesc Cortex_A9
        s.NewIRQs
          added CortexA9 specific definition of MaxInterrupts
        s.NewReset
          added M_CortexA9 options
          line 1444: corrected typo
          line 187: commented out unnecessary operation
      Admin:
        Submission from Willi Theiß
      
      Version 5.35, 4.79.2.98.2.50. Tagged as 'Kernel-5_35-4_79_2_98_2_50'
      0ff2f2dd
  29. 22 Aug, 2011 1 commit
    • Jeffrey Lee's avatar
      Improve Reset_IRQ_Handler · 20c93a96
      Jeffrey Lee authored
      Detail:
        s/HAL - Reset_IRQ_Handler now uses HAL_IRQSource to determine the cause of the interrupt, using that value to work out which IIC bus (if any) generated the IRQ. If it's unrecognised it passes it to HAL_KbdScanInterrupt, and if that fails to do anything it'll disable the IRQ.
        This aims to fix the spurious "No XStart!" debug spam that the OMAP IIC drivers produce when the keyboard scan is running, and to fix the potential IIC breakage that could occur by the IIC code trying to clear the non-existant interrupt.
        Note that behaviour of HAL_KbdScanInterrupt has now been changed; it now accepts the device number in a1, and is expected to return either -1 (if the interrupt was handled) or the device number given as input (if the interrupt wasn't handled, e.g. not from a device managed by the keyboard scan code).
      Admin:
        Tested on rev C2 BB
      
      
      Version 5.35, 4.79.2.98.2.49. Tagged as 'Kernel-5_35-4_79_2_98_2_49'
      20c93a96