struct pci_dev *p = d->dev;
word cmd = get_conf_word(d, PCI_COMMAND);
int i;
+ int virtual = 0;
for (i=0; i<cnt; i++)
{
{
printf("[virtual] ");
flg = pos;
+ virtual = 1;
}
if (flg & PCI_BASE_ADDRESS_SPACE_IO)
{
printf("<ignored>");
else
printf("<unassigned>");
- if (!(cmd & PCI_COMMAND_IO))
+ if (!virtual && !(cmd & PCI_COMMAND_IO))
printf(" [disabled]");
}
else
(t == PCI_BASE_ADDRESS_MEM_TYPE_64) ? "64-bit" :
(t == PCI_BASE_ADDRESS_MEM_TYPE_1M) ? "low-1M" : "type 3",
(flg & PCI_BASE_ADDRESS_MEM_PREFETCH) ? "" : "non-");
- if (!(cmd & PCI_COMMAND_MEMORY))
+ if (!virtual && !(cmd & PCI_COMMAND_MEMORY))
printf(" [disabled]");
}
show_size(len);
pciaddr_t len = (p->known_fields & PCI_FILL_SIZES) ? p->rom_size : 0;
u32 flg = get_conf_long(d, reg);
word cmd = get_conf_word(d, PCI_COMMAND);
+ int virtual = 0;
if (!rom && !flg && !len)
return;
{
printf("[virtual] ");
flg = rom;
+ virtual = 1;
}
printf("Expansion ROM at ");
if (rom & PCI_ROM_ADDRESS_MASK)
printf("<unassigned>");
if (!(flg & PCI_ROM_ADDRESS_ENABLE))
printf(" [disabled]");
- else if (!(cmd & PCI_COMMAND_MEMORY))
+ else if (!virtual && !(cmd & PCI_COMMAND_MEMORY))
printf(" [disabled by cmd]");
show_size(len);
putchar('\n');