1. 18 Feb, 2010 3 commits
    • Paul Mundt's avatar
      sh: Merge legacy and dynamic PMB modes. · d01447b3
      Paul Mundt authored
      This implements a bit of rework for the PMB code, which permits us to
      kill off the legacy PMB mode completely. Rather than trusting the boot
      loader to do the right thing, we do a quick verification of the PMB
      contents to determine whether to have the kernel setup the initial
      mappings or whether it needs to mangle them later on instead.
      
      If we're booting from legacy mappings, the kernel will now take control
      of them and make them match the kernel's initial mapping configuration.
      This is accomplished by breaking the initialization phase out in to
      multiple steps: synchronization, merging, and resizing. With the recent
      rework, the synchronization code establishes page links for compound
      mappings already, so we build on top of this for promoting mappings and
      reclaiming unused slots.
      
      At the same time, the changes introduced for the uncached helpers also
      permit us to dynamically resize the uncached mapping without any
      particular headaches. The smallest page size is more than sufficient for
      mapping all of kernel text, and as we're careful not to jump to any far
      off locations in the setup code the mapping can safely be resized
      regardless of whether we are executing from it or not.
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      d01447b3
    • Paul Mundt's avatar
      sh: Use uncached I/O helpers in PMB setup. · 2e450643
      Paul Mundt authored
      The PMB code is an example of something that spends an absurd amount of
      time running uncached when only a couple of operations really need to be.
      This switches over to the shiny new uncached helpers, permitting us to
      spend far more time running cached.
      
      Additionally, MMUCR twiddling is perfectly safe from cached space given
      that it's paired with a control register barrier, so fix that up, too.
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      2e450643
    • Paul Mundt's avatar
      sh: Provide uncached I/O helpers. · b8f7918f
      Paul Mundt authored
      There are lots of registers that can only be updated from the uncached
      mapping, so we add some helpers for those cases in order to make it
      easier to ensure that we only make the jump when it's absolutely
      necessary.
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      b8f7918f
  2. 17 Feb, 2010 7 commits
  3. 16 Feb, 2010 8 commits
  4. 15 Feb, 2010 3 commits
  5. 12 Feb, 2010 14 commits
  6. 11 Feb, 2010 5 commits