if (vga_passthrough && pci_dev->devfn == 0x00) //Host Bridge
{
- val = 0;
+ val = pci_dev->config_read(pci_dev, config_addr, len);
if (config_addr == 0x52) // GMCH
val = pt_pci_host_read_word(0, 0, 0, 0x52);
-/* if (config_addr == 0xa0) // Top Memory addrress
- val = pt_pci_host_read_byte(0, 0, 0, 0xa0);*/
if (config_addr == 0x02) // Device ID
- val = pt_pci_host_read_byte(0, 0, 0, 0x02);
+ {
+ if (len == 2)
+ val = pt_pci_host_read_word(0, 0, 0, 0x02);
+ }
+ if (config_addr == 0x0)
+ {
+ if (len == 2)
+ val = pt_pci_host_read_word(0, 0, 0, 0x00);
+ else if (len == 4)
+ val = pt_pci_host_read_long(0, 0, 0, 0x00);
+ }
}
else
val = pci_dev->config_read(pci_dev, config_addr, len);