diff options
| author | Michael Brown | 2007-03-10 19:08:33 +0100 |
|---|---|---|
| committer | Michael Brown | 2007-03-10 19:08:33 +0100 |
| commit | 520d9c36af2f9e4f207dd7275a47ea97c668f749 (patch) | |
| tree | fc665c3d4c250d3c9411219f580f5affbbf03873 /src/arch/i386 | |
| parent | Start a new release notes file (RELNOTES) in preparation for release (diff) | |
| download | ipxe-520d9c36af2f9e4f207dd7275a47ea97c668f749.tar.gz ipxe-520d9c36af2f9e4f207dd7275a47ea97c668f749.tar.xz ipxe-520d9c36af2f9e4f207dd7275a47ea97c668f749.zip | |
Updated ISAPnP, EISA, MCA and ISA buses to current device model.
ISA 3c509 is currently non-functional, although the EISA (3c509-eisa) and
MCA (3c529) variants should build OK.
None of this code is yet tested.
Diffstat (limited to 'src/arch/i386')
| -rw-r--r-- | src/arch/i386/drivers/net/undionly.c | 13 | ||||
| -rw-r--r-- | src/arch/i386/prefix/select_isapnp.c | 32 |
2 files changed, 5 insertions, 40 deletions
diff --git a/src/arch/i386/drivers/net/undionly.c b/src/arch/i386/drivers/net/undionly.c index d95584175..ee361493c 100644 --- a/src/arch/i386/drivers/net/undionly.c +++ b/src/arch/i386/drivers/net/undionly.c @@ -62,15 +62,12 @@ static int undibus_probe ( struct root_device *rootdev ) { strncpy ( undi->dev.name, "UNDI", ( sizeof ( undi->dev.name ) - 1 ) ); if ( undi->pci_busdevfn != UNDI_NO_PCI_BUSDEVFN ) { - struct pci_device_description *pcidesc = &undi->dev.desc.pci; - pcidesc->bus_type = BUS_TYPE_PCI; - pcidesc->busdevfn = undi->pci_busdevfn; - pcidesc->vendor = undi->pci_vendor; - pcidesc->device = undi->pci_device; + undi->dev.desc.bus_type = BUS_TYPE_PCI; + undi->dev.desc.location = undi->pci_busdevfn; + undi->dev.desc.vendor = undi->pci_vendor; + undi->dev.desc.device = undi->pci_device; } else if ( undi->isapnp_csn != UNDI_NO_ISAPNP_CSN ) { - struct isapnp_device_description *isapnpdesc - = &undi->dev.desc.isapnp; - isapnpdesc->bus_type = BUS_TYPE_ISAPNP; + undi->dev.desc.bus_type = BUS_TYPE_ISAPNP; } undi->dev.parent = &rootdev->dev; list_add ( &undi->dev.siblings, &rootdev->dev.children); diff --git a/src/arch/i386/prefix/select_isapnp.c b/src/arch/i386/prefix/select_isapnp.c deleted file mode 100644 index 6a539eb5e..000000000 --- a/src/arch/i386/prefix/select_isapnp.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "dev.h" -#include "isapnp.h" -#include "registers.h" - -/* - * Register a device as the default ISAPnP boot device. This code is - * called by the ISAPnP ROM prefix. - * - * Do not move this code to drivers/bus/isapnp.c, because it is - * i386-specific, and don't merge it with select_pci.c, because that - * would cause linker symbol pollution. - * - */ -void i386_select_isapnp_device ( struct i386_all_regs *ix86 ) { - /* - * PnP BIOS passes card select number in %bx and read port - * address in %dx. - * - */ - union { - struct bus_loc bus_loc; - struct isapnp_loc isapnp_loc; - } u; - - /* Set ISAPnP read port */ - isapnp_read_port = ix86->regs.dx; - - /* Select ISAPnP bus and specified CSN as first boot device */ - memset ( &u, 0, sizeof ( u ) ); - u.isapnp_loc.csn = ix86->regs.bx; - select_device ( &dev, &isapnp_driver, &u.bus_loc ); -} |
