1. 20 1月, 2010 5 次提交
  2. 19 1月, 2010 8 次提交
  3. 18 1月, 2010 3 次提交
  4. 16 1月, 2010 4 次提交
  5. 15 1月, 2010 1 次提交
    • M
      sh: Fix CONFIG_PMB=n build. · 46c4e5da
      Matt Fleming 提交于
      The last commit introduced the following breakage
      
      arch/sh/include/asm/mmu.h: In function 'pmb_remap':
      arch/sh/include/asm/mmu.h:79: error: expected ';' before '}' token
      
      and...
      
      arch/sh/include/asm/mmu.h:78: error: 'EINVAL' undeclared (first use in this function)
      arch/sh/include/asm/mmu.h:78: error: (Each undeclared identifier is reported only once
      arch/sh/include/asm/mmu.h:78: error: for each function it appears in.)
      arch/sh/include/asm/mmu.h: In function 'pmb_init':
      arch/sh/include/asm/mmu.h:87: error: 'ENODEV' undeclared (first use in this function)
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      46c4e5da
  6. 13 1月, 2010 6 次提交
    • P
      sh: Rename split-level pgtable headers. · e44d6c40
      Paul Mundt 提交于
      These were originally named _nopmd and _pmd to follow their asm-generic
      counterparts, but we rename them to -2level and -3level for general
      consistency.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      e44d6c40
    • P
      sh: default to extended TLB support. · 782bb5a5
      Paul Mundt 提交于
      All SH-X2 and SH-X3 parts support an extended TLB mode, which has been
      left as experimental since support was originally merged. Now that it's
      had some time to stabilize and get some exposure to various platforms,
      we can drop it as an option and default enable it across the board.
      
      This is also good future proofing for newer parts that will drop support
      for the legacy TLB mode completely.
      
      This will also force 3-level page tables for all newer parts, which is
      necessary both for the varying page sizes and larger memories.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      782bb5a5
    • P
      sh: Make all PxSEGADDR() calls fatal for non-legacy configs. · 206582c3
      Paul Mundt 提交于
      This stubs out all of the PxSEGADDR() wrappers for non-legacy code.
      29-bit will continue to work with these, while 32-bit code will now blow
      up on compile rather than at runtime.
      
      The vast majority of the in-tree offenders are gone, with the only
      remaining culprits being unable to support 32-bit mode.
      
      Hopefully this will prevent anyone from ever using these again.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      206582c3
    • P
      sh: fixed PMB mode refactoring. · a0ab3668
      Paul Mundt 提交于
      This introduces some much overdue chainsawing of the fixed PMB support.
      fixed PMB was introduced initially to work around the fact that dynamic
      PMB mode was relatively broken, though they were never intended to
      converge. The main areas where there are differences are whether the
      system is booted in 29-bit mode or 32-bit mode, and whether legacy
      mappings are to be preserved. Any system booting in true 32-bit mode will
      not care about legacy mappings, so these are roughly decoupled.
      
      Regardless of the entry point, PMB and 32BIT are directly related as far
      as the kernel is concerned, so we also switch back to having one select
      the other.
      
      With legacy mappings iterated through and applied in the initialization
      path it's now possible to finally merge the two implementations and
      permit dynamic remapping overtop of remaining entries regardless of
      whether boot mappings are crafted by hand or inherited from the boot
      loader.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      a0ab3668
    • M
      sh: Don't perform an icbi on a P2 address · 6430a598
      Matt Fleming 提交于
      The legacy P2 area may not always be mapped (for example when using
      PMB). So perform an icbi on an address that we know will always be
      mapped.
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      6430a598
    • P
      sh: Move over to dynamically allocated FPU context. · 0ea820cf
      Paul Mundt 提交于
      This follows the x86 xstate changes and implements a task_xstate slab
      cache that is dynamically sized to match one of hard FP/soft FP/FPU-less.
      
      This also tidies up and consolidates some of the SH-2A/SH-4 FPU
      fragmentation. Now fpu state restorers are commonly defined, with the
      init_fpu()/fpu_init() mess reworked to follow the x86 convention.
      The fpu_init() register initialization has been replaced by xstate setup
      followed by writing out to hardware via the standard restore path.
      
      As init_fpu() now performs a slab allocation a secondary lighterweight
      restorer is also introduced for the context switch.
      
      In the future the DSP state will be rolled in here, too.
      
      More work remains for math emulation and the SH-5 FPU, which presently
      uses its own special (UP-only) interfaces.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      0ea820cf
  7. 12 1月, 2010 7 次提交
  8. 08 1月, 2010 1 次提交
    • P
      sh: consolidate atomic_cmpxchg()/atomic_add_unless() definitions. · 8c0b8139
      Paul Mundt 提交于
      The LL/SC and IRQ versions were using generic stubs while the GRB version
      was just reimplementing what it already had for the standard cmpxchg()
      code. As we have optimized cmpxchg() implementations that are decoupled
      from the atomic code, simply falling back on the generic wrapper does the
      right thing. With this in place the GRB case is unaffected while the
      LL/SC case gets to use its optimized cmpxchg().
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      8c0b8139
  9. 05 1月, 2010 4 次提交
    • P
      sh: Reclaim TIF_DEBUG. · 9fae4fb3
      Paul Mundt 提交于
      This was used by the old hw-breakpoints API, but now there is nothing
      is using it anymore, so just kill it off.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      9fae4fb3
    • P
      sh: Kill off dead UBC headers. · 7025bec9
      Paul Mundt 提交于
      Nothing is using these now, so kill them all off.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      7025bec9
    • P
      sh: Abstracted SH-4A UBC support on hw-breakpoint core. · 4352fc1b
      Paul Mundt 提交于
      This is the next big chunk of hw_breakpoint support. This decouples
      the SH-4A support from the core and moves it out in to its own stub,
      following many of the conventions established with the perf events
      layering.
      
      In addition to extending SH-4A support to encapsulate the remainder
      of the UBC channels, clock framework support for handling the UBC
      interface clock is added as well, allowing for dynamic clock gating.
      
      This also fixes up a regression introduced by the SIGTRAP handling that
      broke the ksym_tracer, to the extent that the current support works well
      with all of the ksym_tracer/ptrace/kgdb. The kprobes singlestep code will
      follow in turn.
      
      With this in place, the remaining UBC variants (SH-2A and SH-4) can now
      be trivially plugged in.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      4352fc1b
    • P
      sh: Drop down to a single quicklist. · 0176bd3d
      Paul Mundt 提交于
      We previously had 2 quicklists, one for the PGD case and one for PTEs.
      Now that the PGD/PMD cases are handled through slab caches due to the
      multi-level configurability, only the PTE quicklist remains. As such,
      reduce NR_QUICK to its appropriate size and bump down the PTE quicklist
      index.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      0176bd3d
  10. 02 1月, 2010 1 次提交
    • M
      sh: Move page table allocation out of line · 2a5eacca
      Matt Fleming 提交于
      We also switched away from quicklists and instead moved to slab
      caches. After benchmarking both implementations the difference is
      negligible. The slab caches suit us better though because the size of a
      pgd table is just 4 entries when we're using a 3-level page table layout
      and quicklists always deal with pages.
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      2a5eacca