mirror of
https://github.com/xcat2/xNBA.git
synced 2024-12-15 07:41:45 +00:00
33 lines
836 B
C
33 lines
836 B
C
#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 );
|
|
}
|