Example #1
0
File: autoconf.c Project: ctos/bpi
/*
 * probeio:
 *
 *	Probe and subsequently attach devices out on the AT bus.
 *
 *
 */
void probeio(void)
{
	register struct	bus_device	*device;
	register struct	bus_ctlr	*master;
	int				i = 0;

	for (master = bus_master_init; master->driver; master++)
	{
		if (configure_bus_master(master->name, master->address,
				master->phys_address, i, "atbus"))
			i++;
	}

	for (device = bus_device_init; device->driver; device++)
	{
		/* ignore what we (should) have found already */
		if (device->alive || device->ctlr >= 0)
			continue;
		if (configure_bus_device(device->name, device->address,
				device->phys_address, i, "atbus"))
			i++;
	}

#if	MACH_TTD
	/*
	 * Initialize Remote kernel debugger.
	 */
	ttd_init();
#endif	/* MACH_TTD */
}
Example #2
0
/*
 * probeio:
 *
 * Probe and subsequently attach devices on the motherboard
 * and on any busses out there.
 *
 */
void
probeio(void)
{
	register struct	bus_device	*device;
	register struct	bus_ctlr	*master;
	int				i = 0;
	extern void pci_configure(void);

#if DEBUG
	printf("PowerMac is %sI/O-coherent\n",
		powermac_info.io_coherent == FALSE ? "NOT ": "");
#endif

	pci_configure();

	for (master = bus_master_init; master->driver; master++) {
#if DEBUG
		printf("configuring bus master : %s\n",master->name);
#endif /* DEBUG */
		if (configure_bus_master(master->name, master->address,
				master->phys_address, i, "motherboard"))
			i++;
	}

	for (device = bus_device_init; device->driver; device++) {
		/* ignore what we (should) have found already */
		if (device->alive || device->ctlr > -1)
			continue;
#if DEBUG
		printf("configuring bus device : %s\n",device->name);
#endif /* DEBUG */
		if (configure_bus_device(device->name, device->address,
				device->phys_address, i, "motherboard"))
			i++;
		else
			device->adaptor = ' ';	/* skip it next time */
	}
#if DEBUG
	printf("probeio() done.\n");
#endif
}