kernel-ark/include/asm-x86_64
Muli Ben-Yehuda 73c59afc65 finish i386 and x86-64 sysdata conversion
This patch finishes the i386 and x86-64 ->sysdata conversion and hopefully
also fixes Riku's and Andy's observed bugs.  It is based on Yinghai Lu's
and Andy Whitcroft's patches (thanks!) with some changes:

- introduce pci_scan_bus_with_sysdata() and use it instead of
  pci_scan_bus() where appropriate. pci_scan_bus_with_sysdata() will
  allocate the sysdata structure and then call pci_scan_bus().
- always allocate pci_sysdata dynamically. The whole point of this
  sysdata work is to make it easy to do root-bus specific things
  (e.g., support PCI domains and IOMMU's). I dislike using a default
  struct pci_sysdata in some places and a dynamically allocated
  pci_sysdata elsewhere - the potential for someone indavertantly
  changing the default structure is too high.
- this patch only makes the minimal changes necessary, i.e., the NUMA node is
  always initialized to -1. Patches to do the right thing with regards
  to the NUMA node can build on top of this (either add a 'node'
  parameter to pci_scan_bus_with_sysdata() or just update the node
  when it becomes known).

The patch was compile tested with various configurations (e.g., NUMAQ,
VISWS) and run-time tested on i386 and x86-64.  Unfortunately none of my
machines exhibited the bugs so caveat emptor.

Andy, could you please see if this fixes the NUMA issues you've seen?
Riku, does this fix "pci=noacpi" on your laptop?

Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com>
Cc: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Chuck Ebbert <cebbert@redhat.com>
Cc: <riku.seppala@kymp.net>
Cc: Andy Whitcroft <apw@shadowen.org>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-11 15:47:42 -07:00
..
8253pit.h
a.out.h
acpi.h
agp.h
alternative-asm.i
alternative.h
apic.h
apicdef.h
atomic.h
auxvec.h
bitops.h
boot.h
bootparam.h
bootsetup.h
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
calgary.h
calling.h
checksum.h
cmpxchg.h
compat.h
cpu.h
cpufeature.h
cputime.h
current.h
debugreg.h
delay.h
desc_defs.h
desc.h
device.h
div64.h
dma-mapping.h
dma.h
dmi.h
dwarf2.h
e820.h
edac.h
elf.h
emergency-restart.h
errno.h
fb.h
fcntl.h
fixmap.h
floppy.h
fpu32.h
futex.h
genapic.h
hardirq.h
hpet.h
hw_irq.h
hypertransport.h
i387.h
i8253.h
ia32_unistd.h
ia32.h
ide.h
idle.h
intel_arch_perfmon.h
io_apic.h
io.h
ioctl.h
ioctls.h
iommu.h
ipcbuf.h
ipi.h
irq_regs.h
irq.h
irqflags.h
ist.h
k8.h
Kbuild
kdebug.h
kexec.h
kmap_types.h
kprobes.h
ldt.h
linkage.h
local.h
mach_apic.h
mc146818rtc.h
mce.h
mman.h
mmsegment.h
mmu_context.h
mmu.h
mmzone.h
module.h
mpspec.h
msgbuf.h
msidef.h
msr-index.h
msr.h
mtrr.h
mutex.h
namei.h
nmi.h
node.h
numa.h
page.h
param.h
parport.h
pci-direct.h
pci.h
pda.h
percpu.h
pgalloc.h
pgtable.h
poll.h
posix_types.h
prctl.h
processor-flags.h
processor.h
proto.h
ptrace-abi.h
ptrace.h
required-features.h
resource.h
resume-trace.h
rio.h
rtc.h
rwlock.h
scatterlist.h
seccomp.h
sections.h
segment.h
semaphore.h
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext32.h
sigcontext.h
siginfo.h
signal.h
smp.h
socket.h
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h
stacktrace.h
stat.h
statfs.h
string.h
suspend.h
swiotlb.h
system.h
tce.h
termbits.h
termios.h
therm_throt.h
thread_info.h
timex.h
tlb.h
tlbflush.h
topology.h
tsc.h
types.h
uaccess.h
ucontext.h
unaligned.h
unistd.h
unwind.h
user32.h
user.h
vga.h
vgtod.h
vsyscall32.h
vsyscall.h
xor.h