int fun( int cardseq )
{
int bus, dev, func;
union REGS regs;
regs.x.ax = 0xB109; // PCI BIOS v2.0c+ - READ CONFIGURATION WORD
regs.x.si = cardseq;
regs.x.di = 0; // Vendor ID
regs.x.cx = 0x1106; //vendorID;
regs.x.dx = 0x3106; //deviceID;
int86(0x1A, ®s, ®s);
bus_num = regs.x.bh;
device_num = regs.x.bl;
}
本文介绍了一个用于从PCI设备中读取配置的函数intfun。该函数通过特定的BIOS中断调用实现对PCI设备的Vendor ID及Device ID的读取,并解析出总线号(bus_num)和设备号(device_num)。
619

被折叠的 条评论
为什么被折叠?



