1. 05 7月, 2012 4 次提交
  2. 23 6月, 2012 1 次提交
    • D
      ARM: 7428/1: Prevent KALLSYM size mismatch on ARM. · 9973290c
      David Brown 提交于
      ARM builds seem to be plagued by an occasional build error:
      
          Inconsistent kallsyms data
          This is a bug - please report about it
          Try "make KALLSYMS_EXTRA_PASS=1" as a workaround
      
      The problem has to do with alignment of some sections by the linker.
      The kallsyms data is built in two passes by first linking the kernel
      without it, and then linking the kernel again with the symbols
      included.  Normally, this just shifts the symbols, without changing
      their order, and the compression used by the kallsyms gives the same
      result.
      
      On non SMP, the per CPU data is empty.  Depending on the where the
      alignment ends up, it can come out as either:
      
         +-------------------+
         | last text segment |
         +-------------------+
         /* padding */
         +-------------------+     <- L1_CACHE_BYTES alignemnt
         | per cpu (empty)   |
         +-------------------+
      __per_cpu_end:
         /* padding */
      __data_loc:
         +-------------------+     <- THREAD_SIZE alignment
         | data              |
         +-------------------+
      
      or
      
         +-------------------+
         | last text segment |
         +-------------------+
         /* padding */
         +-------------------+     <- L1_CACHE_BYTES alignemnt
         | per cpu (empty)   |
         +-------------------+
      __per_cpu_end:
         /* no padding */
      __data_loc:
         +-------------------+     <- THREAD_SIZE alignment
         | data              |
         +-------------------+
      
      if the alignment satisfies both.  Because symbols that have the same
      address are sorted by 'nm -n', the second case will be in a different
      order than the first case.  This changes the compression, changing the
      size of the kallsym data, causing the build failure.
      
      The KALLSYMS_EXTRA_PASS=1 workaround usually works, but it is still
      possible to have the alignment change between the second and third
      pass.  It's probably even possible for it to never reach a fixedpoint.
      
      The problem only occurs on non-SMP, when the per-cpu data is empty,
      and when the data segment has alignment (and immediately follows the
      text segments).  Fix this by only including the per_cpu section on
      SMP, when it is not empty.
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      9973290c
  3. 16 6月, 2012 1 次提交
  4. 14 6月, 2012 1 次提交
  5. 02 6月, 2012 5 次提交
  6. 01 6月, 2012 1 次提交
  7. 24 5月, 2012 1 次提交
  8. 22 5月, 2012 9 次提交
  9. 21 5月, 2012 1 次提交
  10. 16 5月, 2012 2 次提交
  11. 14 5月, 2012 2 次提交
    • R
      ARM: PCI: provide a default bus scan implementation · c23bfc38
      Russell King 提交于
      Most PCI implementations perform simple root bus scanning.  Rather than
      having each group of platforms provide a duplicated bus scan function,
      provide the PCI configuration ops structure via the hw_pci structure,
      and call the root bus scanning function from core ARM PCI code.
      Acked-by: NKrzysztof Hałasa <khc@pm.waw.pl>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      c23bfc38
    • R
      ARM: PCI: get rid of pci_std_swizzle() · daeb4c0c
      Russell King 提交于
      Most PCI implementations use the standard PCI swizzle function, which
      handles the well defined behaviour of PCI-to-PCI bridges which can be
      found on cards (eg, four port ethernet cards.)
      
      Rather than having almost every platform specify the standard swizzle
      function, make this the default when no swizzle function is supplied.
      Therefore, a swizzle function only needs to be provided when there is
      something exceptional which needs to be handled.
      
      This gets rid of the swizzle initializer from 47 files, and leaves us
      with just two platforms specifying a swizzle function: ARM Integrator
      and Chalice CATS.
      Acked-by: NKrzysztof Hałasa <khc@pm.waw.pl>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      daeb4c0c
  12. 09 5月, 2012 1 次提交
  13. 08 5月, 2012 1 次提交
  14. 06 5月, 2012 2 次提交
  15. 05 5月, 2012 5 次提交
  16. 04 5月, 2012 1 次提交
  17. 03 5月, 2012 1 次提交
  18. 02 5月, 2012 1 次提交