#define PCI_BRIDGE_CTL_DISCARD_TIMER_SERR_EN 0x800 /* PCI-X? */
/* Header type 2 (CardBus bridges) */
-/* 0x14-0x15 reserved */
+#define PCI_CB_CAPABILITY_LIST 0x14
+/* 0x15 reserved */
#define PCI_CB_SEC_STATUS 0x16 /* Secondary status */
#define PCI_CB_PRIMARY_BUS 0x18 /* PCI bus number */
#define PCI_CB_CARD_BUS 0x19 /* CardBus bus number */
}
void
-show_caps(struct device *d)
+show_caps(struct device *d, int where)
{
int can_have_ext_caps = 0;
if (get_conf_word(d, PCI_STATUS) & PCI_STATUS_CAP_LIST)
{
- int where = get_conf_byte(d, PCI_CAPABILITY_LIST) & ~3;
+ where = get_conf_byte(d, where) & ~3;
byte been_there[256];
memset(been_there, 0, 256);
while (where)
{
show_bases(d, 6);
show_rom(d, PCI_ROM_ADDRESS);
- show_caps(d);
+ show_caps(d, PCI_CAPABILITY_LIST);
}
static void
FLAG(brc, PCI_BRIDGE_CTL_DISCARD_TIMER_SERR_EN));
}
- show_caps(d);
+ show_caps(d, PCI_CAPABILITY_LIST);
}
static void
exca = get_conf_word(d, PCI_CB_LEGACY_MODE_BASE);
if (exca)
printf("\t16-bit legacy interface ports at %04x\n", exca);
+ show_caps(d, PCI_CB_CAPABILITY_LIST);
}
static void
/* ls-caps.c */
-void show_caps(struct device *d);
+void show_caps(struct device *d, int where);
/* ls-ecaps.c */