1. 20 1月, 2010 1 次提交
    • T
      ARM: 5886/1: arm: Fix cpu_proc_fin() for proc-v7.S and make kexec work · 1f667c69
      Tony Lindgren 提交于
      The comments in arm_machine_restart() suggest that cpu_proc_fin()
      will clean and disable cache and turn off interrupts. This does
      not seem to be implemented for proc-v7.S, implement it the same
      way as for proc-v6.S.
      
      This also makes kexec work for v7. Note that a related TLB and
      branch traget flush patch is also needed to avoid kexec
      "crc error".
      
      Note that there are still some issues that seem to be related
      to L2 cache being on and causing occasional uncompress "crc error"
      with kexec. Anyways, this gets kexec mostly working on V7 for now.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      1f667c69
  2. 04 11月, 2009 1 次提交
  3. 03 11月, 2009 1 次提交
    • R
      ARM: ensure initial page tables are setup for SMP systems · 4b46d641
      Russell King 提交于
      Mapping the same memory using two different attributes (memory
      type, shareability, cacheability) is unpredictable.  During boot,
      we encounter a situation when we're updating the kernel's page
      tables which can lead to dirty cache lines existing in the cache
      which are subsequently missed.  This causes stack corruption,
      and therefore a crash.
      
      Therefore, ensure that the shared and cacheability settings
      matches the configuration that will be used later; this together
      with the restriction in early_cachepolicy() ensures that we won't
      create a mismatch during boot.
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      4b46d641
  4. 03 10月, 2009 1 次提交
  5. 24 7月, 2009 2 次提交
  6. 03 6月, 2009 1 次提交
  7. 30 5月, 2009 5 次提交
  8. 01 5月, 2009 3 次提交
  9. 28 4月, 2009 1 次提交
  10. 10 11月, 2008 1 次提交
  11. 07 11月, 2008 1 次提交
  12. 06 11月, 2008 2 次提交
  13. 23 10月, 2008 1 次提交
  14. 03 10月, 2008 1 次提交
  15. 01 10月, 2008 4 次提交
  16. 01 9月, 2008 1 次提交
  17. 24 4月, 2008 1 次提交
  18. 19 4月, 2008 1 次提交
  19. 21 7月, 2007 2 次提交
  20. 30 5月, 2007 1 次提交
  21. 09 5月, 2007 1 次提交
  22. 15 2月, 2007 1 次提交
  23. 09 2月, 2007 1 次提交
  24. 13 12月, 2006 1 次提交
    • R
      [ARM] Unuse another Linux PTE bit · ad1ae2fe
      Russell King 提交于
      L_PTE_ASID is not really required to be stored in every PTE, since we
      can identify it via the address passed to set_pte_at().  So, create
      set_pte_ext() which takes the address of the PTE to set, the Linux
      PTE value, and the additional CPU PTE bits which aren't encoded in
      the Linux PTE value.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ad1ae2fe
  25. 09 12月, 2006 2 次提交
  26. 30 11月, 2006 1 次提交
  27. 30 6月, 2006 1 次提交
    • R
      [ARM] Set bit 4 on section mappings correctly depending on CPU · 8799ee9f
      Russell King 提交于
      On some CPUs, bit 4 of section mappings means "update the
      cache when written to".  On others, this bit is required to
      be one, and others it's required to be zero.  Finally, on
      ARMv6 and above, setting it turns on "no execute" and prevents
      speculative prefetches.
      
      With all these combinations, no one value fits all CPUs, so we
      have to pick a value depending on the CPU type, and the area
      we're mapping.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      8799ee9f