Fixed some AMD PCSCSI bugs.
This commit is contained in:
@@ -1661,7 +1661,7 @@ esp_pci_read(int func, int addr, void *p)
|
|||||||
case 0x0E:
|
case 0x0E:
|
||||||
return 0; /*Header type */
|
return 0; /*Header type */
|
||||||
case 0x10:
|
case 0x10:
|
||||||
return (esp_pci_bar[0].addr_regs[1] & 0x80) | 0x01; /*I/O space*/
|
return (esp_pci_bar[0].addr_regs[0] & 0x80) | 0x01; /*I/O space*/
|
||||||
case 0x11:
|
case 0x11:
|
||||||
return esp_pci_bar[0].addr_regs[1];
|
return esp_pci_bar[0].addr_regs[1];
|
||||||
case 0x12:
|
case 0x12:
|
||||||
@@ -1822,12 +1822,14 @@ dc390_init(const device_t *info)
|
|||||||
esp_pci_regs[0x04] = 3;
|
esp_pci_regs[0x04] = 3;
|
||||||
|
|
||||||
dev->has_bios = device_get_config_int("bios");
|
dev->has_bios = device_get_config_int("bios");
|
||||||
if (dev->has_bios)
|
if (dev->has_bios) {
|
||||||
rom_init(&dev->bios, DC390_ROM, 0xc8000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
|
dev->BIOSBase = 0xd0000;
|
||||||
|
rom_init(&dev->bios, DC390_ROM, 0xd0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
|
||||||
|
}
|
||||||
|
|
||||||
/* Enable our BIOS space in PCI, if needed. */
|
/* Enable our BIOS space in PCI, if needed. */
|
||||||
if (dev->has_bios) {
|
if (dev->has_bios) {
|
||||||
esp_pci_bar[1].addr = 0xfff80000;
|
esp_pci_bar[1].addr = 0xffff0000;
|
||||||
} else {
|
} else {
|
||||||
esp_pci_bar[1].addr = 0;
|
esp_pci_bar[1].addr = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user