svn commit: r192481 - head/sys/dev/pci
Warner Losh
imp at FreeBSD.org
Wed May 20 22:00:40 UTC 2009
Author: imp
Date: Wed May 20 22:00:39 2009
New Revision: 192481
URL: http://svn.freebsd.org/changeset/base/192481
Log:
Revert junk from last commit. These are WIP and not ready (and don't
match the description of the last commit).
Modified:
head/sys/dev/pci/pci.c
head/sys/dev/pci/pci_pci.c
head/sys/dev/pci/pcib_if.m
Modified: head/sys/dev/pci/pci.c
==============================================================================
--- head/sys/dev/pci/pci.c Wed May 20 21:34:01 2009 (r192480)
+++ head/sys/dev/pci/pci.c Wed May 20 22:00:39 2009 (r192481)
@@ -418,38 +418,6 @@ pci_hdrtypedata(device_t pcib, int b, in
#undef REG
}
-/*
- * This is a lame example: we should have some way of managing this table
- * from userland. The user should be able to tell us from the boot loader
- * or at runtime what mapping to do.
- */
-static struct pci_remap_entry
-{
- uint16_t vendor;
- uint16_t device;
- uint16_t mapped_vendor;
- uint16_t mapped_device;
-} pci_remap[] =
-{
- { 0x1039, 0x0901, 0x1039, 0x0900 } /* Map sis 901 to sis 900 */
-};
-static int pci_remap_entries = 1;
-
-static void
-pci_apply_remap_table(pcicfgregs *cfg)
-{
- int i;
-
- for (i = 0; i < pci_remap_entries; i++) {
- if (cfg->vendor == pci_remap[i].vendor &&
- cfg->device == pci_remap[i].device) {
- cfg->vendor = pci_remap[i].mapped_vendor;
- cfg->device = pci_remap[i].mapped_device;
- return;
- }
- }
-}
-
/* read configuration header into pcicfgregs structure */
struct pci_devinfo *
pci_read_device(device_t pcib, int d, int b, int s, int f, size_t size)
@@ -496,7 +464,6 @@ pci_read_device(device_t pcib, int d, in
pci_fixancient(cfg);
pci_hdrtypedata(pcib, b, s, f, cfg);
- pci_apply_remap_table(cfg);
if (REG(PCIR_STATUS, 2) & PCIM_STATUS_CAPPRESENT)
pci_read_extcap(pcib, cfg);
@@ -2652,59 +2619,6 @@ pci_add_resources(device_t bus, device_t
}
}
-/*
- * After we've added the children to the pci bus device, we need to fixup
- * the children in various ways. This function fixes things that require
- * multiple passes to get right, such as bus number and some resource
- * things (although the latter hasn't been implemented yet). This must be
- * done before the children are probe/attached, sicne by that point these
- * things must be fixed.
- */
-static void
-pci_fix_bridges(device_t dev)
-{
- int i, numdevs, error, secbus, subbus;
- device_t child, *devlist;
-
- if ((error = device_get_children(dev, &devlist, &numdevs)))
- return;
- /*
- * First pass, get the bus numbers that are in use
- */
- for (i = 0; i < numdevs; i++) {
- child = devlist[i];
- switch (pci_read_config(child, PCIR_HDRTYPE, 1) & PCIM_HDRTYPE) {
- default:
- continue;
- case 1: /* PCI-PCI bridge */
- case 2: /* CardBus bridge -- offsets are the same */
- secbus = pci_read_config(child, PCIR_SECBUS_1, 1);
- subbus = pci_read_config(child, PCIR_SUBBUS_1, 1);
- break;
- }
- printf("%d:%d:%d:%d sec %d sub %d\n", pcib_get_domain(dev),
- pci_get_bus(child), pci_get_slot(child),
- pci_get_function(child), secbus, subbus);
- }
-#if 0
- /*
- * Second pass, Fix the bus numbers, as needed
- */
- for (i = 0; i < numdevs; i++) {
- child = devlist[i];
- switch (pci_read_config(dev, PCIR_HDRTYPE, 1) & PCIM_HDRTYPE) {
- case 1: /* PCI-PCI bridge */
- break;
- case 2: /* CardBus bridge */
- break;
- default:
- continue;
- }
- }
-#endif
- free(devlist, M_TEMP);
-}
-
void
pci_add_children(device_t dev, int domain, int busno, size_t dinfo_size)
{
@@ -2736,7 +2650,6 @@ pci_add_children(device_t dev, int domai
}
}
#undef REG
- pci_fix_bridges(dev);
}
void
Modified: head/sys/dev/pci/pci_pci.c
==============================================================================
--- head/sys/dev/pci/pci_pci.c Wed May 20 21:34:01 2009 (r192480)
+++ head/sys/dev/pci/pci_pci.c Wed May 20 22:00:39 2009 (r192481)
@@ -52,13 +52,6 @@ __FBSDID("$FreeBSD$");
#include "pcib_if.h"
-// #define KLUDGE_O_MATIC
-#ifdef KLUDGE_O_MATIC
-int hack_unit = 1;
-u_long mem_base = 0xc0400000ul;
-u_long mem_limit = 0x00100000ul;
-#endif
-
static int pcib_probe(device_t dev);
static device_method_t pcib_methods[] = {
@@ -331,14 +324,6 @@ pcib_attach(device_t dev)
struct pcib_softc *sc;
device_t child;
-#ifdef KLUDGE_O_MATIC
- if (device_get_unit(dev) == hack_unit) {
- pci_write_config(dev, PCIR_COMMAND,
- PCIM_CMD_MEMEN | pci_read_config(dev, PCIR_COMMAND, 1), 1);
- pci_write_config(dev, PCIR_MEMBASE_1, mem_base >> 16, 2);
- pci_write_config(dev, PCIR_MEMLIMIT_1, mem_limit >> 16, 2);
- }
-#endif
pcib_attach_common(dev);
sc = device_get_softc(dev);
if (sc->secbus != 0) {
Modified: head/sys/dev/pci/pcib_if.m
==============================================================================
--- head/sys/dev/pci/pcib_if.m Wed May 20 21:34:01 2009 (r192480)
+++ head/sys/dev/pci/pcib_if.m Wed May 20 22:00:39 2009 (r192481)
@@ -144,17 +144,3 @@ METHOD int map_msi {
uint64_t *addr;
uint32_t *data;
};
-
-#
-# Return the range of busses passed through this bridge. For normal
-# pci-pci bridges (and compatible things like pci-x and pcie), this will
-# just be the secbus and subbus configuration registers. For non-standard
-# bridges, or for host bridges which have no standard, this will be the
-# same data read from either device specific registers of from "perfect
-# knowledge" of what they must be.
-#
-METHOD int bus_range {
- device_t pcib;
- u_int *secbus;
- u_int *subbus;
-};
More information about the svn-src-all
mailing list