1. 26 4月, 2010 1 次提交
  2. 21 4月, 2010 1 次提交
  3. 18 2月, 2010 1 次提交
    • P
      sh: Merge legacy and dynamic PMB modes. · d01447b3
      Paul Mundt 提交于
      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: NPaul Mundt <lethal@linux-sh.org>
      d01447b3
  4. 17 2月, 2010 2 次提交
  5. 21 1月, 2010 3 次提交
    • P
      sh: Track the uncached mapping size. · 3125ee72
      Paul Mundt 提交于
      This provides a variable for tracking the uncached mapping size, and uses
      it for pretty printing the uncached lowmem range. Beyond this, we'll also
      be building on top of this for figuring out from where the remainder of
      P2 becomes usable when constructing unrelated mappings.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      3125ee72
    • P
      sh: Rework P2 to only include kernel text. · 2023b843
      Paul Mundt 提交于
      This effectively neutralizes P2 by getting rid of P1 identity mapping
      for all available memory and instead only establishes a single unbuffered
      PMB entry (16MB -- the smallest available) that covers the kernel.
      
      As using segmentation for abusing caching attributes in drivers is no
      longer supported (and there are no drivers that can be enabled in 32-bit
      mode that do this), this provides us with all of the uncached access
      needs by the kernel itself.
      
      Drivers and their ilk need to specify their caching attributes when
      remapping through page tables, as usual.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      2023b843
    • P
      sh: initial PMB mapping iteration by helper macro. · 77c2019f
      Paul Mundt 提交于
      All of the cached/uncached mapping setup is duplicated for each size, and
      also misses out on the 16MB case. Rather than duplicating the same iter
      code for that we just consolidate it in to a helper macro that builds an
      iter for each size. The 16MB case is then trivially bolted on at the end.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      77c2019f
  6. 18 1月, 2010 1 次提交
    • M
      sh: Setup early PMB mappings. · 3d467676
      Matt Fleming 提交于
      More and more boards are going to start shipping that boot with the MMU
      in 32BIT mode by default. Previously we relied on the bootloader to
      setup PMB mappings for use by the kernel but we also need to cater for
      boards whose bootloaders don't set them up.
      
      If CONFIG_PMB_LEGACY is not enabled we have full control over our PMB
      mappings and can compress our address space. Usually, the distance
      between the the cached and uncached mappings of RAM is always 512MB,
      however we can compress the distance to be the amount of RAM on the
      board.
      
      pmb_init() now becomes much simpler. It no longer has to calculate any
      mappings, it just has to synchronise the software PMB table with the
      hardware.
      
      Tested on SDK7786 and SH7785LCR.
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      3d467676
  7. 13 1月, 2010 1 次提交
    • 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
  8. 10 10月, 2009 1 次提交
  9. 27 4月, 2009 1 次提交
  10. 22 12月, 2008 1 次提交
  11. 16 5月, 2008 1 次提交
    • P
      sh: disable initrd defaults in .empty_zero_page. · 972ad0e0
      Paul Mundt 提交于
      When using initramfs on systems that don't explicitly clear LOADER_TYPE,
      unpack_to_rootfs() tramples tramples the range with the defaults taken
      out of .empty_zero_page. This causes kernels with valid initramfs images
      to bail out with crc or gzip magic mismatch errors after the second
      unpack takes place on certain platform configurations.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      972ad0e0
  12. 28 1月, 2008 2 次提交
  13. 21 9月, 2007 1 次提交
  14. 20 7月, 2007 1 次提交
  15. 12 12月, 2006 1 次提交
  16. 06 12月, 2006 2 次提交
    • P
      sh: Fixup various PAGE_SIZE == 4096 assumptions. · 510c72ad
      Paul Mundt 提交于
      There were a number of places that made evil PAGE_SIZE == 4k
      assumptions that ended up breaking when trying to play with
      8k and 64k page sizes, this fixes those up.
      
      The most significant change is the way we load THREAD_SIZE,
      previously this was done via:
      
      	mov	#(THREAD_SIZE >> 8), reg
      	shll8	reg
      
      to avoid a memory access and allow the immediate load. With
      a 64k PAGE_SIZE, we're out of range for the immediate load
      size without resorting to special instructions available in
      later ISAs (movi20s and so on). The "workaround" for this is
      to bump up the shift to 10 and insert a shll2, which gives a
      bit more flexibility while still being much cheaper than a
      memory access.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      510c72ad
    • Y
      sh: Exception vector rework and SH-2/SH-2A support. · de398406
      Yoshinori Sato 提交于
      This splits out common bits from the existing exception handler for
      use between SH-2/SH-2A and SH-3/4, and adds support for the SH-2/2A
      exceptions.
      Signed-off-by: NYoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      de398406
  17. 27 9月, 2006 4 次提交
  18. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4