1. 15 8月, 2008 6 次提交
  2. 14 8月, 2008 9 次提交
  3. 13 8月, 2008 9 次提交
    • J
      x86: allow MMCONFIG above 4GB on x86_64 · a726c600
      John Keller 提交于
      SGI UV will have MMCFG base addresses that are greater than 4GB (32 bits).
      
      v2: Use CONFIG_RESOURCES_64BIT instead of CONFIG_X86_64.
      v3: Create a flag, that is set by platform specific code,
          to disable the > 4GB check.
      Signed-off-by: NJohn Keller <jpk@sgi.com>
      Cc: jpk@sgi.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      a726c600
    • M
      x86: fix 2 section mismatch warnings - find_and_reserve_crashkernel · 6b356022
      Marcin Slusarz 提交于
      WARNING: vmlinux.o(.text+0xcd1f): Section mismatch in reference from the function find_and_reserve_crashkernel() to the function .init.text:find_e820_area()
      The function find_and_reserve_crashkernel() references
      the function __init find_e820_area().
      This is often because find_and_reserve_crashkernel lacks a __init
      annotation or the annotation of find_e820_area is wrong.
      
      WARNING: vmlinux.o(.text+0xcd38): Section mismatch in reference from the function find_and_reserve_crashkernel() to the function .init.text:reserve_bootmem_generic()
      The function find_and_reserve_crashkernel() references
      the function __init reserve_bootmem_generic().
      This is often because find_and_reserve_crashkernel lacks a __init
      annotation or the annotation of reserve_bootmem_generic is wrong.
      
      find_and_reserve_crashkernel is called from __init function (reserve_crashkernel)
      and calls 2 __init functions (find_e820_area, reserve_bootmem_generic),
      so mark it __init
      Signed-off-by: NMarcin Slusarz <marcin.slusarz@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6b356022
    • M
      x86: fix 2 section mismatch warnings - map_high() · c9d08f08
      Marcin Slusarz 提交于
      WARNING: vmlinux.o(.text+0x14cf8): Section mismatch in reference from the function map_high() to the function .init.text:init_extra_mapping_uc()
      The function map_high() references
      the function __init init_extra_mapping_uc().
      This is often because map_high lacks a __init
      annotation or the annotation of init_extra_mapping_uc is wrong.
      
      WARNING: vmlinux.o(.text+0x14d05): Section mismatch in reference from the function map_high() to the function .init.text:init_extra_mapping_wb()
      The function map_high() references
      the function __init init_extra_mapping_wb().
      This is often because map_high lacks a __init
      annotation or the annotation of init_extra_mapping_wb is wrong.
      
      map_high is called only from __init functions (map_*_high)
      and calls 2 __init_functions (init_extra_mapping_*)
      Signed-off-by: NMarcin Slusarz <marcin.slusarz@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c9d08f08
    • J
      x86: fix setup code crashes on my old 486 box · 7b27718b
      Joerg Roedel 提交于
      yesterday I tried to reactivate my old 486 box and wanted to install a
      current Linux with latest kernel on it. But it turned out that the
      latest kernel does not boot because the machine crashes early in the
      setup code.
      
      After some debugging it turned out that the problem is the query_ist()
      function. If this interrupt with that function is called the machine
      simply locks up. It looks like a BIOS bug. Looking for a workaround for
      this problem I wrote the attached patch. It checks for the CPUID
      instruction and if it is not implemented it does not call the speedstep
      BIOS function. As far as I know speedstep should be available since some
      Pentium earliest.
      
      Alan Cox observed that it's available since the Pentium II, so cpuid
      levels 4 and 5 can be excluded altogether.
      
      H. Peter Anvin cleaned up the code some more:
      
      > Right in concept, but I dislike the implementation (duplication of the
      > CPU detect code we already have).  Could you try this patch and see if
      > it works for you?
      
      which, with a small modification to fix a build error with it the
      resulting kernel boots on my machine.
      Signed-off-by: NJoerg Roedel <joro@8bytes.org>
      Signed-off-by: N"H. Peter Anvin" <hpa@zytor.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      7b27718b
    • D
      sparc64: Implement IRQ stacks. · 4f70f7a9
      David S. Miller 提交于
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4f70f7a9
    • S
      sparc: remove include of linux/of_device.h from asm/of_device.h · e3445682
      Stephen Rothwell 提交于
      Now that all the direct includes of asm/of_device.h are gone, this is
      safe to do.
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e3445682
    • Y
      h8300: fix section mismatches · 9de15e91
      Yoshinori Sato 提交于
      WARNING: vmlinux.o(.text+0x2fdf): Section mismatch in reference from the variable .LM3 to the variable .init.text:___alloc_bootmem
      The function .LM3() references
      the variable __init ___alloc_bootmem.
      This is often because .LM3 lacks a __init
      annotation or the annotation of ___alloc_bootmem is wrong.
      
      WARNING: vmlinux.o(.text+0x2ff5): Section mismatch in reference from the variable .LM4 to the variable .init.text:___alloc_bootmem
      The function .LM4() references
      the variable __init ___alloc_bootmem.
      This is often because .LM4 lacks a __init
      annotation or the annotation of ___alloc_bootmem is wrong.
      
      WARNING: vmlinux.o(.text+0x300b): Section mismatch in reference from the variable .LM5 to the variable .init.text:___alloc_bootmem
      The function .LM5() references
      the variable __init ___alloc_bootmem.
      This is often because .LM5 lacks a __init
      annotation or the annotation of ___alloc_bootmem is wrong.
      
      WARNING: vmlinux.o(.text+0x304b): Section mismatch in reference from the variable .LM10 to the variable .init.text:_free_area_init
      The function .LM10() references
      the variable __init _free_area_init.
      This is often because .LM10 lacks a __init
      annotation or the annotation of _free_area_init is wrong.
      
      WARNING: vmlinux.o(.text+0x30a3): Section mismatch in reference from the variable .LM17 to the variable .init.text:_free_all_bootmem
      The function .LM17() references
      the variable __init _free_all_bootmem.
      This is often because .LM17 lacks a __init
      annotation or the annotation of _free_all_bootmem is wrong.
      Signed-off-by: NYoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9de15e91
    • A
      [IA64] use bcd2bin/bin2bcd · 430ac5ba
      Adrian Bunk 提交于
      This patch changes ia64 to use the new bcd2bin/bin2bcd functions instead
      of the obsolete BCD2BIN/BIN2BCD macros.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      430ac5ba
    • T
      [IA64] Ensure cpu0 can access per-cpu variables in early boot code · 10617bbe
      Tony Luck 提交于
      ia64 handles per-cpu variables a litle differently from other architectures
      in that it maps the physical memory allocated for each cpu at a constant
      virtual address (0xffffffffffff0000). This mapping is not enabled until
      the architecture specific cpu_init() function is run, which causes problems
      since some generic code is run before this point. In particular when
      CONFIG_PRINTK_TIME is enabled, the boot cpu will trap on the access to
      per-cpu memory at the first printk() call so the boot will fail without
      the kernel printing anything to the console.
      
      Fix this by allocating percpu memory for cpu0 in the kernel data section
      and doing all initialization to enable percpu access in head.S before
      calling any generic code.
      
      Other cpus must take care not to access per-cpu variables too early, but
      their code path from start_secondary() to cpu_init() is all in arch/ia64
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      10617bbe
  4. 12 8月, 2008 9 次提交
  5. 11 8月, 2008 5 次提交
    • E
      x86: Restore proper vector locking during cpu hotplug · d388e5fd
      Eric W. Biederman 提交于
      Having cpu_online_map change during assign_irq_vector can result
      in some really nasty and weird things happening.  The one that
      bit me last time was accessing non existent per cpu memory for non
      existent cpus.
      
      This locking was removed in a sloppy x86_64 and x86_32 merge patch.
      
      Guys can we please try and avoid subtly breaking x86 when we are
      merging files together?
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      d388e5fd
    • J
      powerpc: Do not ignore arch/powerpc/include · 0afd2ac9
      Junio C Hamano 提交于
      Back when .gitignore file was added to arch/powerpc/ in 06f2138e ([POWERPC]
      Add files build to .gitignore, 2006-11-26), there indeed was nothing
      tracked in the ignored hierarchy and ignoring everything made sense.  But
      we have very many tracked files there these days, and having a higher
      level .gitignore that ignores everything is asking for future troubles..
      
      This should have been part of b8b572e1 (powerpc: Move include files to
      arch/powerpc/include/asm, 2008-08-01).
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      Acked-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      0afd2ac9
    • B
      powerpc/mm: Fix attribute confusion with htab_bolt_mapping() · bc033b63
      Benjamin Herrenschmidt 提交于
      The function htab_bolt_mapping() is used to create permanent
      mappings in the MMU hash table, for example, in order to create
      the linear mapping of vmemmap.  It's also used by early boot
      ioremap (before mem_init_done).
      
      However, the way ioremap uses it is incorrect as it passes it the
      protection flags in the "linux PTE" form while htab_bolt_mapping()
      expects them in the hash table format.  This is made more confusing by
      the fact that some of those flags are actually in the same position in
      both cases.
      
      This fixes it all by making htab_bolt_mapping() take normal linux
      protection flags instead, and use a little helper to convert them to
      htab flags. Callers can now use the usual PAGE_* definitions safely.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      
       arch/powerpc/include/asm/mmu-hash64.h |    2 -
       arch/powerpc/mm/hash_utils_64.c       |   65 ++++++++++++++++++++--------------
       arch/powerpc/mm/init_64.c             |    9 +---
       3 files changed, 44 insertions(+), 32 deletions(-)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      bc033b63
    • B
      powerpc/pci: Don't keep ISA memory hole resources in the tree · 8db13a0e
      Benjamin Herrenschmidt 提交于
      When we have an ISA memory hole (ie, a PCI window that allows us to
      generate PCI memory cycles at low PCI address) mixed with other
      resources using a different CPU <=> PCI mapping, we must not keep
      the ISA hole in the bridge resource list.
      
      If we do, things might start trying to allocate device resources
      in there and will get the PCI addresses wrong.
      
      This fixes it by arranging to remove the ISA memory hole resource in
      this case.  This fixes various cases of PCMCIA breakage on PowerBooks
      using the MPC106 "grackle" bridge.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8db13a0e
    • N
      powerpc: Zero fill the return values of rtas argument buffer · b79998fc
      Nathan Fontenot 提交于
      The kernel copy of the rtas args struct contains the return
      value(s) for the specified rtas call.  These are copied back
      to user space with the assumption that every value has been
      set by the rtas call, which turns out to be not always true.
      Thus userspace can see random values and think the call failed
      when in fact it succeeded, but for some reason didn't set one
      of the return values.
      
      This fixes the problem by zeroing out the return value fields
      of the rtas args struct before processing the rtas call.
      Signed-off-by: NNathan Fontenot <nfont@austin.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b79998fc
  6. 10 8月, 2008 1 次提交
  7. 09 8月, 2008 1 次提交