1. 29 9月, 2008 2 次提交
  2. 26 9月, 2008 2 次提交
  3. 25 9月, 2008 1 次提交
    • R
      [ARM] Introduce new bitmask based cache type macros · c0e95878
      Russell King 提交于
      Rather than trying to (inaccurately) decode the cache type from the
      registers each time we need to decide what type of cache we have,
      use a bitmask initialized early during boot.
      
      Since the setup is a one-off initialization, we can be a little more
      clever and take account of the CPU architecture as well.
      
      Note that we continue to achieve the compactness on optimised kernels
      by forcing tests to always-false or always-true as appropriate, thereby
      allowing the compiler to do build-time code elimination.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      c0e95878
  4. 06 9月, 2008 3 次提交
  5. 01 9月, 2008 7 次提交
  6. 17 8月, 2008 1 次提交
  7. 16 8月, 2008 1 次提交
    • N
      [ARM] 5196/1: fix inline asm constraints for preload · 16f719de
      Nicolas Pitre 提交于
      With gcc 4.3 and later, a pointer that has already been dereferenced is
      assumed not to be null since it should have caused a segmentation fault
      otherwise, hence any subsequent test against NULL is optimized away.
      
      Current inline asm constraint used in the implementation of prefetch()
      makes gcc believe that the pointer is dereferenced even though the PLD
      instruction does not load any data and does not cause a segmentation
      fault on null pointers, which causes all sorts of interesting results
      when reaching the end of a linked lists for example.
      
      Let's use a better constraint to properly represent the actual usage of
      the pointer value.
      
      Problem reported by Chris Steel.
      Signed-off-by: NNicolas Pitre <nico@marvell.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      16f719de
  8. 15 8月, 2008 1 次提交
  9. 13 8月, 2008 2 次提交
  10. 10 8月, 2008 2 次提交
  11. 09 8月, 2008 1 次提交
    • L
      [ARM] prevent crashing when too much RAM installed · 60296c71
      Lennert Buytenhek 提交于
      This patch will truncate and/or ignore memory banks if their kernel
      direct mappings would (partially) overlap with the vmalloc area or
      the mappings between the vmalloc area and the address space top, to
      prevent crashing during early boot if there happens to be more RAM
      installed than we are expecting.
      
      Since the start of the vmalloc area is not at a fixed address (but
      the vmalloc end address is, via the per-platform VMALLOC_END define),
      a default area of 128M is reserved for vmalloc mappings, which can
      be shrunk or enlarged by passing an appropriate vmalloc= command line
      option as it is done on x86.
      
      On a board with a 3:1 user:kernel split, VMALLOC_END at 0xfe000000,
      two 512M RAM banks and vmalloc=128M (the default), this patch gives:
      
      	Truncating RAM at 20000000-3fffffff to -35ffffff (vmalloc region overlap).
      	Memory: 512MB 352MB = 864MB total
      
      On a board with a 3:1 user:kernel split, VMALLOC_END at 0xfe800000,
      two 256M RAM banks and vmalloc=768M, this patch gives:
      
      	Truncating RAM at 00000000-0fffffff to -0e7fffff (vmalloc region overlap).
      	Ignoring RAM at 10000000-1fffffff (vmalloc region overlap).
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      Tested-by: NRiku Voipio <riku.voipio@iki.fi>
      60296c71
  12. 07 8月, 2008 3 次提交
  13. 03 8月, 2008 1 次提交