1. 06 2月, 2010 1 次提交
  2. 11 4月, 2009 1 次提交
  3. 04 3月, 2009 1 次提交
  4. 18 2月, 2009 1 次提交
    • H
      x86: truncate ISA addresses to unsigned int · a7eb5189
      H. Peter Anvin 提交于
      Impact: Cleanup; fix inappropriate macro use
      
      ISA addresses on x86 are mapped 1:1 with the physical address space.
      Since the ISA address space is only 24 bits (32 for VLB or LPC) it
      will always fit in an unsigned int, and at least in the aha1542 driver
      using a wider type would cause an undesirable promotion.  Hence
      explicitly cast the ISA bus addresses to unsigned int.
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      Cc: James Bottomley <James.Bottomley@hansenpartnership.com>
      a7eb5189
  5. 14 2月, 2009 1 次提交
  6. 07 2月, 2009 2 次提交
  7. 29 1月, 2009 1 次提交
  8. 22 1月, 2009 1 次提交
  9. 16 1月, 2009 1 次提交
    • J
      x86: fix assumed to be contiguous leaf page tables for kmap_atomic region (take 2) · a3c6018e
      Jan Beulich 提交于
      Debugging and original patch from Nick Piggin <npiggin@suse.de>
      
      The early fixmap pmd entry inserted at the very top of the KVA is causing the
      subsequent fixmap mapping code to not provide physically linear pte pages over
      the kmap atomic portion of the fixmap (which relies on said property to
      calculate pte addresses).
      
      This has caused weird boot failures in kmap_atomic much later in the boot
      process (initial userspace faults) on a 32-bit PAE system with a larger number
      of CPUs (smaller CPU counts tend not to run over into the next page so don't
      show up the problem).
      
      Solve this by attempting to clear out the page table, and copy any of its
      entries to the new one. Also, add a bug if a nonlinear condition is encountered
      and can't be resolved, which might save some hours of debugging if this fragile
      scheme ever breaks again...
      
      Once we have such logic, we can also use it to eliminate the early ioremap
      trickery around the page table setup for the fixmap area. This also fixes
      potential issues with FIX_* entries sharing the leaf page table with the early
      ioremap ones getting discarded by early_ioremap_clear() and not restored by
      early_ioremap_reset(). It at once eliminates the temporary (and configuration,
      namely NR_CPUS, dependent) unavailability of early fixed mappings during the
      time the fixmap area page tables get constructed.
      
      Finally, also replace the hard coded calculation of the initial table space
      needed for the fixmap area with a proper one, allowing kernels configured for
      large CPU counts to actually boot.
      
      Based-on: Nick Piggin <npiggin@suse.de>
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      a3c6018e
  10. 03 12月, 2008 1 次提交
  11. 30 11月, 2008 3 次提交
  12. 29 10月, 2008 1 次提交
    • H
      x86: start annotating early ioremap pointers with __iomem · 1d6cf1fe
      Harvey Harrison 提交于
      Impact: some new sparse warnings in e820.c etc, but no functional change.
      
      As with regular ioremap, iounmap etc, annotate with __iomem.
      
      Fixes the following sparse warnings, will produce some new ones
      elsewhere in arch/x86 that will get worked out over time.
      
      arch/x86/mm/ioremap.c:402:9: warning: cast removes address space of expression
      arch/x86/mm/ioremap.c:406:10: warning: cast adds address space to expression (<asn:2>)
      arch/x86/mm/ioremap.c:782:19: warning: Using plain integer as NULL pointer
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      1d6cf1fe
  13. 23 10月, 2008 2 次提交
  14. 13 10月, 2008 2 次提交
  15. 15 8月, 2008 1 次提交
    • M
      x86: fix readb() et al compile error with gcc-3.2.3 · 1c5b0eb6
      Mikael Pettersson 提交于
      Building 2.6.27-rc1 on x86 with gcc-3.2.3 fails with:
      
      In file included from include/asm/dma.h:12,
                       from include/linux/bootmem.h:8,
                       from init/main.c:26:
      include/asm/io.h: In function `readb':
      include/asm/io.h:32: syntax error before string constant
      include/asm/io.h: In function `readw':
      include/asm/io.h:33: syntax error before string constant
      include/asm/io.h: In function `readl':
      include/asm/io.h:34: syntax error before string constant
      include/asm/io.h: In function `__readb':
      include/asm/io.h:36: syntax error before string constant
      include/asm/io.h: In function `__readw':
      include/asm/io.h:37: syntax error before string constant
      include/asm/io.h: In function `__readl':
      include/asm/io.h:38: syntax error before string constant
      make[1]: *** [init/main.o] Error 1
      make: *** [init] Error 2
      
      Starting with 2.6.27-rc1 readb() et al are generated by a
      build_mmio_read() macro, which generates asm() statements with
      output register constraints like "=" "q", i.e. as two adjacent
      string literals. This doesn't work with gcc-3.2.3.
      
      Fixed by moving the "=" part into the callers' reg parameter
      (as suggested by Ingo).
      
      Build and boot-tested with gcc-3.2.3 on 32 and 64-bit x86.
      
      Fixes <http://bugzilla.kernel.org/show_bug.cgi?id=11205>.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      1c5b0eb6
  16. 23 7月, 2008 1 次提交
    • V
      x86: consolidate header guards · 77ef50a5
      Vegard Nossum 提交于
      This patch is the result of an automatic script that consolidates the
      format of all the headers in include/asm-x86/.
      
      The format:
      
      1. No leading underscore. Names with leading underscores are reserved.
      2. Pathname components are separated by two underscores. So we can
         distinguish between mm_types.h and mm/types.h.
      3. Everything except letters and numbers are turned into single
         underscores.
      Signed-off-by: NVegard Nossum <vegard.nossum@gmail.com>
      77ef50a5
  17. 22 7月, 2008 1 次提交
  18. 08 7月, 2008 2 次提交
  19. 02 6月, 2008 1 次提交
    • L
      x86: MMIO and gcc re-ordering issue · c1f64a58
      Linus Torvalds 提交于
      On Tue, 27 May 2008, Linus Torvalds wrote:
      >
      > Expecting people to fix up all drivers is simply not going to happen. And
      > serializing things shouldn't be *that* expensive. People who cannot take
      > the expense can continue to use the magic __raw_writel() etc stuff.
      
      Of course, for non-x86, you kind of have to expect drivers to be
      well-behaved, so non-x86 can probably avoid this simply because there are
      less relevant drivers involved.
      
      Here's a UNTESTED patch for x86 that may or may not compile and work, and
      which serializes (on a compiler level) the IO accesses against regular
      memory accesses.
      
      __read[bwlq]()/__write[bwlq]() are not serialized with a :"memory"
      barrier, although since they still use "asm volatile" I suspect that i
      practice they are probably serial too. Did not look very closely at any
      generated code (only did a trivial test to see that the code looks
      *roughly* correct).
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c1f64a58
  20. 25 4月, 2008 1 次提交
  21. 17 4月, 2008 3 次提交
  22. 11 10月, 2007 1 次提交