[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [kvm-devel] PIIX/IDE: ports disabled in PCI config spac
[Qemu-devel] Re: [kvm-devel] PIIX/IDE: ports disabled in PCI config space?
Tue, 5 Jun 2007 15:09:33 +0200
On 6/5/07, Avi Kivity <address@hidden> wrote:
Luca Tettamanti wrote:
> I'm testing the new Fedora7 under KVM. As you may know Fedora has
> migrated to the new libata drivers.
> ata_piix is unhappy with the PIIX IDE controller provided by QEmu/KVM:
> The following patch fixes the problem (i.e. ata_piix finds both the HD
> and the cdrom):
> --- a/hw/ide.c 2007-06-04 19:34:25.000000000 +0200
> +++ b/hw/ide.c 2007-06-04 21:45:28.000000000 +0200
> @@ -2586,6 +2586,8 @@ static void piix3_reset(PCIIDEState *d)
> pci_conf[0x06] = 0x80; /* FBC */
> pci_conf[0x07] = 0x02; // PCI_status_devsel_medium
> pci_conf[0x20] = 0x01; /* BMIBA: 20-23h */
> + pci_conf[0x41] = 0x80; // enable port 0
> + pci_conf[0x43] = 0x80; // enable port 1
> void pci_piix_ide_init(PCIBus *bus, BlockDriverState **hd_table, int devfn)
I imagine the reset state in the spec is disabled?
Yes, you are right.
Btw, this is the doc:
If so, then the
long-term fix is to enable these bits in the bios.
Good point. I'm looking at bochs right now: the BIOS doesn't touch
that bits. The 2 ports are enabled/disabled - using values from the
config file - by the reset function of the emulated controller
(iodev/pci_ide.cc), so they're doing the same thing I've done for
I'd rather not touch the BIOS, it's a bit obscure ;-)