1. 08 5月, 2007 4 次提交
    • J
      [POWERPC] Add tsi108_pci.h for common PCI functions · 08390db0
      Josh Boyer 提交于
      Add a header file for the common PCI routines used for the TSI bridge
      Signed-off-by: NJosh Boyer <jwboyer@linux.vnet.ibm.com>
      Acked-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      08390db0
    • L
      [POWERPC] Export pcibios_remove_pci_devices · fb39a96e
      Linas Vepstas 提交于
      The pseries PCI hotplug code cannot build as a module, unless
      the pcibios_remove_pci_devices function is exported.
      Signed-off-by: NLinas Vepstas <linas@austin.ibm.com>
      ----
       arch/powerpc/platforms/pseries/pci_dlpar.c |    1 +
       1 file changed, 1 insertion(+)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      fb39a96e
    • M
      [POWERPC] Add __init annotations to reserve_mem() and stabs_alloc() · 0108d3fe
      Michael Ellerman 提交于
      reserve_mem() and stabs_alloc() are both called only from other __init
      routines, so can be marked __init.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      0108d3fe
    • P
      [POWERPC] Cope with PCI host bridge I/O window not starting at 0 · 11fbb00c
      Paul Mackerras 提交于
      Currently our code to set up the data structures for a PCI host bridge
      and create the mapping for its I/O window assumes that the window
      starts at I/O port 0 on the PCI side.  If this is not true, we can end
      up with I/O port numbers in the resources for PCI devices which will
      cause an oops if a driver tries to access them via inb/outb etc.,
      because there is no mapping for the corresponding addresses.
      
      Normally the I/O window starts at 0, but there are some situations on
      partitioned machines with a hypervisor where the window may not start
      at 0.
      
      This fixes the problem by allocating space for the range from 0 to the
      end of the I/O window.  That is, hose->io_base_virt contains the
      virtual address for I/O port 0 on the PCI bus, and thus the assumption
      that hose->io_base_virt - pci_io_base is the offset between the
      "global" I/O port numbers (those in the PCI device resources) and the
      I/O port numbers on the PCI bus is maintained.
      
      For PCI host bridges that are present at boot, we only map the portion
      of that range that correspond to the bridge's I/O window.  For bridges
      added after boot we ioremap the range from 0 to the end of the I/O
      window, for now; in fact hot-added bridges should be using
      reserve_phb_iospace() and __ioremap_explicit (so they get sensible
      global port numbers), but we don't have the infrastructure yet to do
      that (basically a free_phb_iospace() routine plus appropriate
      locking).
      
      Interestingly, this makes the two arms of the if statement in
      get_bus_io_range do almost exactly the same thing; that function could
      now be simplified in a further patch.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      11fbb00c
  2. 07 5月, 2007 16 次提交
  3. 02 5月, 2007 20 次提交