/* By default, we don't re-assign bus numbers. We do this only on *somepmacs
*/ staticint pci_assign_all_buses;
/* This will remain NULL for now, until isa-bridge.c is made common *toboth32-bitand64-bit.
*/ struct pci_dev *isa_bridge_pcidev;
EXPORT_SYMBOL_GPL(isa_bridge_pcidev);
staticvoid
fixup_cpc710_pci64(struct pci_dev* dev)
{ /* Hide the PCI64 BARs from the kernel as their content doesn't *fitwellintheresourcemanagement
*/
dev->resource[0].start = dev->resource[0].end = 0;
dev->resource[0].flags = 0;
dev->resource[1].start = dev->resource[1].end = 0;
dev->resource[1].flags = 0;
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_CPC710_PCI64, fixup_cpc710_pci64);
#ifndef CONFIG_PPC_PCI_OF_BUS_MAP return0; #else /* Ok, here we need some tweak. If we have already renumbered *allbusses,wecan'trelyontheOFbusnumberanymore. *thepci_to_OF_bus_mapisnotenoughasseveralPCIbusses *maymatchthesameOFbusnumber.
*/ if (!pci_to_OF_bus_map) return0;
#ifdef CONFIG_PPC_PCI_OF_BUS_MAP /* We create the "pci-OF-bus-map" property now so it appears in the */procdevicetree
*/ void __init
pci_create_OF_bus_map(void)
{ struct property* of_prop; struct device_node *dn;
/* OpenFirmware based machines need a map of OF bus *numbersvs.kernelbusnumberssincewemayhaveto *remapthem.
*/ if (pci_assign_all_buses)
pcibios_make_OF_bus_map(); #endif #endif
/* Call common code to handle resource allocation */
pcibios_resource_survey();
/* Call machine dependent fixup */ if (ppc_md.pcibios_fixup)
ppc_md.pcibios_fixup();
/* Call machine dependent post-init code */ if (ppc_md.pcibios_after_init)
ppc_md.pcibios_after_init();
list_for_each_entry_safe(hose, tmp, &hose_list, list_node) if (bus >= hose->first_busno && bus <= hose->last_busno) return hose; return NULL;
}
/* Provide information on locations of various I/O regions in physical *memory.Dothisonaper-cardbasissothatwechoosetheright *rootbridge. *NotethatthereturnedIOormemorybaseisaphysicaladdress
*/
SYSCALL_DEFINE3(pciconfig_iobase, long, which, unsignedlong, bus, unsignedlong, devfn)
{ struct pci_controller* hose; long result = -EOPNOTSUPP;
hose = pci_bus_to_hose(bus); if (!hose) return -ENODEV;
switch (which) { case IOBASE_BRIDGE_NUMBER: return (long)hose->first_busno; case IOBASE_MEMORY: return (long)hose->mem_offset[0]; case IOBASE_IO: return (long)hose->io_base_phys; case IOBASE_ISA_IO: return (long)isa_io_base; case IOBASE_ISA_MEM: return (long)isa_mem_base;
}
return result;
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.