linux_dsm_epyc7002/arch/i386/pci
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
..
acpi.c x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata 2007-07-21 18:37:14 -07:00
common.c finish i386 and x86-64 sysdata conversion 2007-08-11 15:47:42 -07:00
direct.c [PATCH] i386: Fix PCI BIOS config space access 2006-10-05 18:47:22 +02:00
early.c [PATCH] x86: add write_pci_config_byte() to direct PCI access routines 2006-12-07 02:14:10 +01:00
fixup.c finish i386 and x86-64 sysdata conversion 2007-08-11 15:47:42 -07:00
i386.c PCI: add debug information to resource collision message 2007-05-02 19:02:38 -07:00
init.c i386 pci: use __maybe_unused 2007-05-09 12:30:56 -07:00
irq.c finish i386 and x86-64 sysdata conversion 2007-08-11 15:47:42 -07:00
legacy.c finish i386 and x86-64 sysdata conversion 2007-08-11 15:47:42 -07:00
Makefile [PATCH] mmconfig: Share parts of mmconfig code between i386 and x86-64 2007-02-13 13:26:20 +01:00
mmconfig-shared.c i386: insert unclaimed MMCONFIG resources 2007-07-21 18:37:10 -07:00
mmconfig.c [PATCH] mmconfig: fix unreachable_devices() 2007-02-13 13:26:20 +01:00
numa.c finish i386 and x86-64 sysdata conversion 2007-08-11 15:47:42 -07:00
pcbios.c [PATCH] paravirt: Be careful about touching BIOS address space 2006-12-07 02:14:08 +01:00
pci.h [PATCH] mmconfig: fix unreachable_devices() 2007-02-13 13:26:20 +01:00
visws.c finish i386 and x86-64 sysdata conversion 2007-08-11 15:47:42 -07:00