• Mike Stephens's avatar
    Reimplement enhancements to kernel Dynamic Area support from · 3f877936
    Mike Stephens authored
    Ursula. Quite a hairy code merge really, so let's hope it is
    worth it to someone. What you get (back after 2 or 3 years):
    - much more efficient for largish numbers of DAs (relevance
      to current build = approx 0)
    - fancy reason codes to support fast update of
      Switcher bar display (relevance = 0)
    - support for clamped maximum area sizes, to avoid address
      space exhaustion with big memory (relevance = 0)
    - better implementation of shrinkable DAs, performance
      wise (if lots of DAs, relevance = approx 0)
    - support for 'Sparse' DAs. Holey dynamic areas, Batman!
      (relevance, go on someone use the darned things)
    Moderately development tested on HAL/32bit ARM9 desktop.
    Note the Switcher should be compiled to use the new
    reason codes 6&7, for fabled desktop builds.
    
    Also, during this work, so I could see the wood for the
    trees, redid some source code clean up, removing pre-Medusa
    stuff (like I did about 3 years ago on Ursula, sigh). That's
    why loads of source files have changed. The new DA stuff
    is confined pretty much to hdr.KernelWS and s.ChangeDyn.
    
    Ta.
    
    Version 5.35, 4.79.2.38. Tagged as 'Kernel-5_35-4_79_2_38'
    3f877936
ModHand 127 KB