• 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.
    Version 5.35, Tagged as 'Kernel-5_35-4_79_2_38'
ChangeDyn 178 KB