- int bdf, max;
- foreachpci(bdf, max) {
- u32 v = pci_config_readl(bdf, PCI_CLASS_REVISION);
- if ((v>>8) != classprog)
- continue;
- if (count--)
- continue;
- regs->bx = bdf;
- set_code_success(regs);
- return;
+ int bus = -1;
+ while (bus < GET_GLOBAL(MaxPCIBus)) {
+ bus++;
+ int bdf;
+ foreachbdf(bdf, bus) {
+ u32 v = pci_config_readl(bdf, PCI_CLASS_REVISION);
+ if ((v>>8) != classprog)
+ continue;
+ if (count--)
+ continue;
+ regs->bx = bdf;
+ set_code_success(regs);
+ return;
+ }