On 6/5/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
Luca Tettamanti wrote:
> Hello,
> 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:
http://www.intel.com/design/intarch/datashts/290550.htm

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
QEMU.
I'd rather not touch the BIOS, it's a bit obscure ;-)

Luca


Reply via email to