diff mbox

q35 and ahci

Message ID 20120704012917.GA3074@redhat.com
State New
Headers show

Commit Message

Jason Baron July 4, 2012, 1:29 a.m. UTC
On Tue, Jul 03, 2012 at 10:54:37PM +0200, Alexander Graf wrote:
> On 03.07.2012, at 22:37, Jason Baron wrote:
> 
> > On Tue, Jul 03, 2012 at 08:52:50PM +0200, Alexander Graf wrote:
> >> On 03.07.2012, at 20:46, Jason Baron wrote:
> >> 
> >>> On Tue, Jul 03, 2012 at 08:41:29PM +0200, Alexander Graf wrote:
> >>>> On 03.07.2012, at 20:38, Jason Baron wrote:
> >>>> 
> >>>>> On Tue, Jul 03, 2012 at 08:25:52PM +0200, Alexander Graf wrote:
> >>>>>> On 03.07.2012, at 18:16, Jason Baron wrote:
> >>>>>> 
> >>>>>>> Hi,
> >>>>>>> 
> >>>>>>> Update on q35 testing with various os's.
> >>>>>>> 
> >>>>>>> Linux
> >>>>>>> -----
> >>>>>>> -RHEL6.3 installs + runs 
> >>>>>>> -Fedora 16 install + runs
> >>>>>>> -Fedora 17 - squashfs errors 
> >>>>>>> running on already installed f17 seems ok.
> >>>>>>> 
> >>>>>>> Windows
> >>>>>>> -------
> >>>>>>> -W7 - install error:
> >>>>>>> 
> >>>>>>> "A required cd/dvd device driver is missing. If you have a
> >>>>>>> driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
> >>>>>>> "
> >>>>>>> 
> >>>>>>> Related to the new ahci controller, since if I go back to an
> >>>>>>> ide conroller it keeps going (albeit the install is *very* slow).
> >>>>>>> 
> >>>>>>> So I'm wondering if we need an ide compatibility mode? Or perhaps, there
> >>>>>>> are other ideas.
> >>>>>> 
> >>>>>> Does it work with AHCI and -M pc? It should. Last time I tried it did at least :).
> >>>>>> 
> >>>>>> 
> >>>>>> Alex
> >>>>>> 
> >>>>>> 
> >>>>> 
> >>>>> Yes, adding the ahci controller to -M pc, I see a disk drive and the
> >>>>> controller show up in the device manager. I read in some of the ahci
> >>>>> commit messages that the cdrom device didn't show up. Did cdrom ever
> >>>>> work with ahci?
> >>>> 
> >>>> It did on Linux at least, yes. Does it work on Linux for you?
> >>>> 
> >>> 
> >>> I meant did a cdrom on the ahci controller configure on windows?
> >>> 
> >>> Yes, Linux seems to be happy with the drive and cdrom on the ahci. See
> >>> my above test results. (ich9-ahci is the default controller for q35).
> >> 
> >> Ah, good. I don't remember tbh. But I suppose since it doesn't work for you, it's broken :). Do you have time to look into it?
> >> 
> > 
> > I have time to look at it (I'm trying to get q35 working on as many os's
> > as possible), but I'm far from an expert on ahci. So if you had some
> > time to look at it, that would be great. My q35 trees are at:
> 
> Not sure how quickly I can get around to it. I still have quite a bunch of other stuff on my plate atm.
> 
> > git://github.com/jibaron/q35-qemu.git
> > git://github.com/jibaron/q35-seabios.git
> > 
> > With a cmd line such as:
> > 
> > /usr/local/bin/qemu-system-x86_64  -name "f16" -M pc_q35 -m 1G -smp 4
> > -hda ./f16.img --enable-kvm  -bios <path>/q35-seabios/out/bios.bin
> > -acpitable file=<path>/q35-seabios/out/q35-acpi-dsdt.aml  -monitor stdio
> 
> I suppose you mean something that actually does -cdrom?

oops. yes. here's an example:

/usr/local/bin/qemu-system-x86_64 -boot c -name  "w7" -m 6G -smp 4 -M
pc_q35 -cdrom
/images/isos/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso
-hda /images/w7-q35.img  -vnc :5 --enable-kvm -bios
/root/seabios/seabios/out/bios.bin -acpitable
file=/root/seabios/seabios/out/q35-acpi-dsdt.aml -monitor stdio

> 
> > The error I run into is:
> > 
> > "A required cd/dvd device driver is missing. If you have a
> > driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
> > "
> 
> Well, that only tells us that it couldn't find its own CD drive. The question is why. Some ATA logs would be nice here :).
> 

I've posted a log at: http://people.redhat.com/~jbaron/qemu/log

Created with the debug patch below.

Thanks,

-Jason

Comments

Alexander Graf July 4, 2012, 8:33 a.m. UTC | #1
On 04.07.2012, at 03:29, Jason Baron wrote:

> On Tue, Jul 03, 2012 at 10:54:37PM +0200, Alexander Graf wrote:
>> On 03.07.2012, at 22:37, Jason Baron wrote:
>> 
>>> On Tue, Jul 03, 2012 at 08:52:50PM +0200, Alexander Graf wrote:
>>>> On 03.07.2012, at 20:46, Jason Baron wrote:
>>>> 
>>>>> On Tue, Jul 03, 2012 at 08:41:29PM +0200, Alexander Graf wrote:
>>>>>> On 03.07.2012, at 20:38, Jason Baron wrote:
>>>>>> 
>>>>>>> On Tue, Jul 03, 2012 at 08:25:52PM +0200, Alexander Graf wrote:
>>>>>>>> On 03.07.2012, at 18:16, Jason Baron wrote:
>>>>>>>> 
>>>>>>>>> Hi,
>>>>>>>>> 
>>>>>>>>> Update on q35 testing with various os's.
>>>>>>>>> 
>>>>>>>>> Linux
>>>>>>>>> -----
>>>>>>>>> -RHEL6.3 installs + runs 
>>>>>>>>> -Fedora 16 install + runs
>>>>>>>>> -Fedora 17 - squashfs errors 
>>>>>>>>> running on already installed f17 seems ok.
>>>>>>>>> 
>>>>>>>>> Windows
>>>>>>>>> -------
>>>>>>>>> -W7 - install error:
>>>>>>>>> 
>>>>>>>>> "A required cd/dvd device driver is missing. If you have a
>>>>>>>>> driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
>>>>>>>>> "
>>>>>>>>> 
>>>>>>>>> Related to the new ahci controller, since if I go back to an
>>>>>>>>> ide conroller it keeps going (albeit the install is *very* slow).
>>>>>>>>> 
>>>>>>>>> So I'm wondering if we need an ide compatibility mode? Or perhaps, there
>>>>>>>>> are other ideas.
>>>>>>>> 
>>>>>>>> Does it work with AHCI and -M pc? It should. Last time I tried it did at least :).
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Alex
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> Yes, adding the ahci controller to -M pc, I see a disk drive and the
>>>>>>> controller show up in the device manager. I read in some of the ahci
>>>>>>> commit messages that the cdrom device didn't show up. Did cdrom ever
>>>>>>> work with ahci?
>>>>>> 
>>>>>> It did on Linux at least, yes. Does it work on Linux for you?
>>>>>> 
>>>>> 
>>>>> I meant did a cdrom on the ahci controller configure on windows?
>>>>> 
>>>>> Yes, Linux seems to be happy with the drive and cdrom on the ahci. See
>>>>> my above test results. (ich9-ahci is the default controller for q35).
>>>> 
>>>> Ah, good. I don't remember tbh. But I suppose since it doesn't work for you, it's broken :). Do you have time to look into it?
>>>> 
>>> 
>>> I have time to look at it (I'm trying to get q35 working on as many os's
>>> as possible), but I'm far from an expert on ahci. So if you had some
>>> time to look at it, that would be great. My q35 trees are at:
>> 
>> Not sure how quickly I can get around to it. I still have quite a bunch of other stuff on my plate atm.
>> 
>>> git://github.com/jibaron/q35-qemu.git
>>> git://github.com/jibaron/q35-seabios.git
>>> 
>>> With a cmd line such as:
>>> 
>>> /usr/local/bin/qemu-system-x86_64  -name "f16" -M pc_q35 -m 1G -smp 4
>>> -hda ./f16.img --enable-kvm  -bios <path>/q35-seabios/out/bios.bin
>>> -acpitable file=<path>/q35-seabios/out/q35-acpi-dsdt.aml  -monitor stdio
>> 
>> I suppose you mean something that actually does -cdrom?
> 
> oops. yes. here's an example:
> 
> /usr/local/bin/qemu-system-x86_64 -boot c -name  "w7" -m 6G -smp 4 -M
> pc_q35 -cdrom
> /images/isos/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso
> -hda /images/w7-q35.img  -vnc :5 --enable-kvm -bios
> /root/seabios/seabios/out/bios.bin -acpitable
> file=/root/seabios/seabios/out/q35-acpi-dsdt.aml -monitor stdio
> 
>> 
>>> The error I run into is:
>>> 
>>> "A required cd/dvd device driver is missing. If you have a
>>> driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
>>> "
>> 
>> Well, that only tells us that it couldn't find its own CD drive. The question is why. Some ATA logs would be nice here :).
>> 
> 
> I've posted a log at: http://people.redhat.com/~jbaron/qemu/log
> 
> Created with the debug patch below.

This log is using ATA for the disk as well, heavily cluttering the log. Please use virtio for the disk so we can isolate the commands that actually go to the cdrom.


Alex
Jason Baron July 5, 2012, 2:06 p.m. UTC | #2
On Wed, Jul 04, 2012 at 10:33:18AM +0200, Alexander Graf wrote:
> On 04.07.2012, at 03:29, Jason Baron wrote:
> 
> > On Tue, Jul 03, 2012 at 10:54:37PM +0200, Alexander Graf wrote:
> >> On 03.07.2012, at 22:37, Jason Baron wrote:
> >> 
> >>> On Tue, Jul 03, 2012 at 08:52:50PM +0200, Alexander Graf wrote:
> >>>> On 03.07.2012, at 20:46, Jason Baron wrote:
> >>>> 
> >>>>> On Tue, Jul 03, 2012 at 08:41:29PM +0200, Alexander Graf wrote:
> >>>>>> On 03.07.2012, at 20:38, Jason Baron wrote:
> >>>>>> 
> >>>>>>> On Tue, Jul 03, 2012 at 08:25:52PM +0200, Alexander Graf wrote:
> >>>>>>>> On 03.07.2012, at 18:16, Jason Baron wrote:
> >>>>>>>> 
> >>>>>>>>> Hi,
> >>>>>>>>> 
> >>>>>>>>> Update on q35 testing with various os's.
> >>>>>>>>> 
> >>>>>>>>> Linux
> >>>>>>>>> -----
> >>>>>>>>> -RHEL6.3 installs + runs 
> >>>>>>>>> -Fedora 16 install + runs
> >>>>>>>>> -Fedora 17 - squashfs errors 
> >>>>>>>>> running on already installed f17 seems ok.
> >>>>>>>>> 
> >>>>>>>>> Windows
> >>>>>>>>> -------
> >>>>>>>>> -W7 - install error:
> >>>>>>>>> 
> >>>>>>>>> "A required cd/dvd device driver is missing. If you have a
> >>>>>>>>> driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
> >>>>>>>>> "
> >>>>>>>>> 
> >>>>>>>>> Related to the new ahci controller, since if I go back to an
> >>>>>>>>> ide conroller it keeps going (albeit the install is *very* slow).
> >>>>>>>>> 
> >>>>>>>>> So I'm wondering if we need an ide compatibility mode? Or perhaps, there
> >>>>>>>>> are other ideas.
> >>>>>>>> 
> >>>>>>>> Does it work with AHCI and -M pc? It should. Last time I tried it did at least :).
> >>>>>>>> 
> >>>>>>>> 
> >>>>>>>> Alex
> >>>>>>>> 
> >>>>>>>> 
> >>>>>>> 
> >>>>>>> Yes, adding the ahci controller to -M pc, I see a disk drive and the
> >>>>>>> controller show up in the device manager. I read in some of the ahci
> >>>>>>> commit messages that the cdrom device didn't show up. Did cdrom ever
> >>>>>>> work with ahci?
> >>>>>> 
> >>>>>> It did on Linux at least, yes. Does it work on Linux for you?
> >>>>>> 
> >>>>> 
> >>>>> I meant did a cdrom on the ahci controller configure on windows?
> >>>>> 
> >>>>> Yes, Linux seems to be happy with the drive and cdrom on the ahci. See
> >>>>> my above test results. (ich9-ahci is the default controller for q35).
> >>>> 
> >>>> Ah, good. I don't remember tbh. But I suppose since it doesn't work for you, it's broken :). Do you have time to look into it?
> >>>> 
> >>> 
> >>> I have time to look at it (I'm trying to get q35 working on as many os's
> >>> as possible), but I'm far from an expert on ahci. So if you had some
> >>> time to look at it, that would be great. My q35 trees are at:
> >> 
> >> Not sure how quickly I can get around to it. I still have quite a bunch of other stuff on my plate atm.
> >> 
> >>> git://github.com/jibaron/q35-qemu.git
> >>> git://github.com/jibaron/q35-seabios.git
> >>> 
> >>> With a cmd line such as:
> >>> 
> >>> /usr/local/bin/qemu-system-x86_64  -name "f16" -M pc_q35 -m 1G -smp 4
> >>> -hda ./f16.img --enable-kvm  -bios <path>/q35-seabios/out/bios.bin
> >>> -acpitable file=<path>/q35-seabios/out/q35-acpi-dsdt.aml  -monitor stdio
> >> 
> >> I suppose you mean something that actually does -cdrom?
> > 
> > oops. yes. here's an example:
> > 
> > /usr/local/bin/qemu-system-x86_64 -boot c -name  "w7" -m 6G -smp 4 -M
> > pc_q35 -cdrom
> > /images/isos/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso
> > -hda /images/w7-q35.img  -vnc :5 --enable-kvm -bios
> > /root/seabios/seabios/out/bios.bin -acpitable
> > file=/root/seabios/seabios/out/q35-acpi-dsdt.aml -monitor stdio
> > 
> >> 
> >>> The error I run into is:
> >>> 
> >>> "A required cd/dvd device driver is missing. If you have a
> >>> driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
> >>> "
> >> 
> >> Well, that only tells us that it couldn't find its own CD drive. The question is why. Some ATA logs would be nice here :).
> >> 
> > 
> > I've posted a log at: http://people.redhat.com/~jbaron/qemu/log
> > 
> > Created with the debug patch below.
> 
> This log is using ATA for the disk as well, heavily cluttering the log. Please use virtio for the disk so we can isolate the commands that actually go to the cdrom.
> 
> 
> Alex
> 
> 

Log is still pretty large. But hopefully this one is more useful:

http://people.redhat.com/~jbaron//qemu/windows-ahci-boot-virtio-disk

Please let me know if anything else would be helpful.

Thanks,

-Jason
Alexander Graf July 5, 2012, 3:07 p.m. UTC | #3
On 07/05/2012 04:06 PM, Jason Baron wrote:
> On Wed, Jul 04, 2012 at 10:33:18AM +0200, Alexander Graf wrote:
>> On 04.07.2012, at 03:29, Jason Baron wrote:
>>
>>> On Tue, Jul 03, 2012 at 10:54:37PM +0200, Alexander Graf wrote:
>>>> On 03.07.2012, at 22:37, Jason Baron wrote:
>>>>
>>>>> On Tue, Jul 03, 2012 at 08:52:50PM +0200, Alexander Graf wrote:
>>>>>> On 03.07.2012, at 20:46, Jason Baron wrote:
>>>>>>
>>>>>>> On Tue, Jul 03, 2012 at 08:41:29PM +0200, Alexander Graf wrote:
>>>>>>>> On 03.07.2012, at 20:38, Jason Baron wrote:
>>>>>>>>
>>>>>>>>> On Tue, Jul 03, 2012 at 08:25:52PM +0200, Alexander Graf wrote:
>>>>>>>>>> On 03.07.2012, at 18:16, Jason Baron wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> Update on q35 testing with various os's.
>>>>>>>>>>>
>>>>>>>>>>> Linux
>>>>>>>>>>> -----
>>>>>>>>>>> -RHEL6.3 installs + runs
>>>>>>>>>>> -Fedora 16 install + runs
>>>>>>>>>>> -Fedora 17 - squashfs errors
>>>>>>>>>>> running on already installed f17 seems ok.
>>>>>>>>>>>
>>>>>>>>>>> Windows
>>>>>>>>>>> -------
>>>>>>>>>>> -W7 - install error:
>>>>>>>>>>>
>>>>>>>>>>> "A required cd/dvd device driver is missing. If you have a
>>>>>>>>>>> driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
>>>>>>>>>>> "
>>>>>>>>>>>
>>>>>>>>>>> Related to the new ahci controller, since if I go back to an
>>>>>>>>>>> ide conroller it keeps going (albeit the install is *very* slow).
>>>>>>>>>>>
>>>>>>>>>>> So I'm wondering if we need an ide compatibility mode? Or perhaps, there
>>>>>>>>>>> are other ideas.
>>>>>>>>>> Does it work with AHCI and -M pc? It should. Last time I tried it did at least :).
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Alex
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> Yes, adding the ahci controller to -M pc, I see a disk drive and the
>>>>>>>>> controller show up in the device manager. I read in some of the ahci
>>>>>>>>> commit messages that the cdrom device didn't show up. Did cdrom ever
>>>>>>>>> work with ahci?
>>>>>>>> It did on Linux at least, yes. Does it work on Linux for you?
>>>>>>>>
>>>>>>> I meant did a cdrom on the ahci controller configure on windows?
>>>>>>>
>>>>>>> Yes, Linux seems to be happy with the drive and cdrom on the ahci. See
>>>>>>> my above test results. (ich9-ahci is the default controller for q35).
>>>>>> Ah, good. I don't remember tbh. But I suppose since it doesn't work for you, it's broken :). Do you have time to look into it?
>>>>>>
>>>>> I have time to look at it (I'm trying to get q35 working on as many os's
>>>>> as possible), but I'm far from an expert on ahci. So if you had some
>>>>> time to look at it, that would be great. My q35 trees are at:
>>>> Not sure how quickly I can get around to it. I still have quite a bunch of other stuff on my plate atm.
>>>>
>>>>> git://github.com/jibaron/q35-qemu.git
>>>>> git://github.com/jibaron/q35-seabios.git
>>>>>
>>>>> With a cmd line such as:
>>>>>
>>>>> /usr/local/bin/qemu-system-x86_64  -name "f16" -M pc_q35 -m 1G -smp 4
>>>>> -hda ./f16.img --enable-kvm  -bios<path>/q35-seabios/out/bios.bin
>>>>> -acpitable file=<path>/q35-seabios/out/q35-acpi-dsdt.aml  -monitor stdio
>>>> I suppose you mean something that actually does -cdrom?
>>> oops. yes. here's an example:
>>>
>>> /usr/local/bin/qemu-system-x86_64 -boot c -name  "w7" -m 6G -smp 4 -M
>>> pc_q35 -cdrom
>>> /images/isos/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso
>>> -hda /images/w7-q35.img  -vnc :5 --enable-kvm -bios
>>> /root/seabios/seabios/out/bios.bin -acpitable
>>> file=/root/seabios/seabios/out/q35-acpi-dsdt.aml -monitor stdio
>>>
>>>>> The error I run into is:
>>>>>
>>>>> "A required cd/dvd device driver is missing. If you have a
>>>>> driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
>>>>> "
>>>> Well, that only tells us that it couldn't find its own CD drive. The question is why. Some ATA logs would be nice here :).
>>>>
>>> I've posted a log at: http://people.redhat.com/~jbaron/qemu/log
>>>
>>> Created with the debug patch below.
>> This log is using ATA for the disk as well, heavily cluttering the log. Please use virtio for the disk so we can isolate the commands that actually go to the cdrom.
>>
>>
>> Alex
>>
>>
> Log is still pretty large. But hopefully this one is more useful:
>
> http://people.redhat.com/~jbaron//qemu/windows-ahci-boot-virtio-disk
>
> Please let me know if anything else would be helpful.

Hrm. I can't see anything obviously wrong. The CD-ROM gets a few ATAPI 
commands, happily processes them. And after the last one, it suddenly 
gets a reset request (which usually indicates that something went wrong) 
and then there's silence.

Who sends which commands? Are some of the commands maybe coming from 
SeaBIOS? Could you please disable AHCI support in SeaBIOS for now and 
check if anything substantially changes?


Alex
Jason Baron July 20, 2012, 3:27 p.m. UTC | #4
On Thu, Jul 05, 2012 at 05:07:43PM +0200, Alexander Graf wrote:
> On 07/05/2012 04:06 PM, Jason Baron wrote:
> >On Wed, Jul 04, 2012 at 10:33:18AM +0200, Alexander Graf wrote:
> >>On 04.07.2012, at 03:29, Jason Baron wrote:
> >>
> >>>On Tue, Jul 03, 2012 at 10:54:37PM +0200, Alexander Graf wrote:
> >>>>On 03.07.2012, at 22:37, Jason Baron wrote:
> >>>>
> >>>>>On Tue, Jul 03, 2012 at 08:52:50PM +0200, Alexander Graf wrote:
> >>>>>>On 03.07.2012, at 20:46, Jason Baron wrote:
> >>>>>>
> >>>>>>>On Tue, Jul 03, 2012 at 08:41:29PM +0200, Alexander Graf wrote:
> >>>>>>>>On 03.07.2012, at 20:38, Jason Baron wrote:
> >>>>>>>>
> >>>>>>>>>On Tue, Jul 03, 2012 at 08:25:52PM +0200, Alexander Graf wrote:
> >>>>>>>>>>On 03.07.2012, at 18:16, Jason Baron wrote:
> >>>>>>>>>>
> >>>>>>>>>>>Hi,
> >>>>>>>>>>>
> >>>>>>>>>>>Update on q35 testing with various os's.
> >>>>>>>>>>>
> >>>>>>>>>>>Linux
> >>>>>>>>>>>-----
> >>>>>>>>>>>-RHEL6.3 installs + runs
> >>>>>>>>>>>-Fedora 16 install + runs
> >>>>>>>>>>>-Fedora 17 - squashfs errors
> >>>>>>>>>>>running on already installed f17 seems ok.
> >>>>>>>>>>>
> >>>>>>>>>>>Windows
> >>>>>>>>>>>-------
> >>>>>>>>>>>-W7 - install error:
> >>>>>>>>>>>
> >>>>>>>>>>>"A required cd/dvd device driver is missing. If you have a
> >>>>>>>>>>>driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
> >>>>>>>>>>>"
> >>>>>>>>>>>
> >>>>>>>>>>>Related to the new ahci controller, since if I go back to an
> >>>>>>>>>>>ide conroller it keeps going (albeit the install is *very* slow).
> >>>>>>>>>>>
> >>>>>>>>>>>So I'm wondering if we need an ide compatibility mode? Or perhaps, there
> >>>>>>>>>>>are other ideas.
> >>>>>>>>>>Does it work with AHCI and -M pc? It should. Last time I tried it did at least :).
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>Alex
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>Yes, adding the ahci controller to -M pc, I see a disk drive and the
> >>>>>>>>>controller show up in the device manager. I read in some of the ahci
> >>>>>>>>>commit messages that the cdrom device didn't show up. Did cdrom ever
> >>>>>>>>>work with ahci?
> >>>>>>>>It did on Linux at least, yes. Does it work on Linux for you?
> >>>>>>>>
> >>>>>>>I meant did a cdrom on the ahci controller configure on windows?
> >>>>>>>
> >>>>>>>Yes, Linux seems to be happy with the drive and cdrom on the ahci. See
> >>>>>>>my above test results. (ich9-ahci is the default controller for q35).
> >>>>>>Ah, good. I don't remember tbh. But I suppose since it doesn't work for you, it's broken :). Do you have time to look into it?
> >>>>>>
> >>>>>I have time to look at it (I'm trying to get q35 working on as many os's
> >>>>>as possible), but I'm far from an expert on ahci. So if you had some
> >>>>>time to look at it, that would be great. My q35 trees are at:
> >>>>Not sure how quickly I can get around to it. I still have quite a bunch of other stuff on my plate atm.
> >>>>
> >>>>>git://github.com/jibaron/q35-qemu.git
> >>>>>git://github.com/jibaron/q35-seabios.git
> >>>>>
> >>>>>With a cmd line such as:
> >>>>>
> >>>>>/usr/local/bin/qemu-system-x86_64  -name "f16" -M pc_q35 -m 1G -smp 4
> >>>>>-hda ./f16.img --enable-kvm  -bios<path>/q35-seabios/out/bios.bin
> >>>>>-acpitable file=<path>/q35-seabios/out/q35-acpi-dsdt.aml  -monitor stdio
> >>>>I suppose you mean something that actually does -cdrom?
> >>>oops. yes. here's an example:
> >>>
> >>>/usr/local/bin/qemu-system-x86_64 -boot c -name  "w7" -m 6G -smp 4 -M
> >>>pc_q35 -cdrom
> >>>/images/isos/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso
> >>>-hda /images/w7-q35.img  -vnc :5 --enable-kvm -bios
> >>>/root/seabios/seabios/out/bios.bin -acpitable
> >>>file=/root/seabios/seabios/out/q35-acpi-dsdt.aml -monitor stdio
> >>>
> >>>>>The error I run into is:
> >>>>>
> >>>>>"A required cd/dvd device driver is missing. If you have a
> >>>>>driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
> >>>>>"
> >>>>Well, that only tells us that it couldn't find its own CD drive. The question is why. Some ATA logs would be nice here :).
> >>>>
> >>>I've posted a log at: http://people.redhat.com/~jbaron/qemu/log
> >>>
> >>>Created with the debug patch below.
> >>This log is using ATA for the disk as well, heavily cluttering the log. Please use virtio for the disk so we can isolate the commands that actually go to the cdrom.
> >>
> >>
> >>Alex
> >>
> >>
> >Log is still pretty large. But hopefully this one is more useful:
> >
> >http://people.redhat.com/~jbaron//qemu/windows-ahci-boot-virtio-disk
> >
> >Please let me know if anything else would be helpful.
> 
> Hrm. I can't see anything obviously wrong. The CD-ROM gets a few
> ATAPI commands, happily processes them. And after the last one, it
> suddenly gets a reset request (which usually indicates that
> something went wrong) and then there's silence.
> 
> Who sends which commands? Are some of the commands maybe coming from
> SeaBIOS? Could you please disable AHCI support in SeaBIOS for now
> and check if anything substantially changes?
> 
> 
> Alex
> 
> 

After fumbling around with this for a while on windows 7, I have also
found that the current ahci/atapi crdrom code on piix appears to be
buggy. Verifying a cdrom disk, or trying to boot off one yields i/o
errors. I'm starting to dig into these now, but this can be re-produced
outside the scope of q35.

Thanks,

-Jason
Gleb Natapov July 22, 2012, 6:48 a.m. UTC | #5
On Fri, Jul 20, 2012 at 11:27:40AM -0400, Jason Baron wrote:
> On Thu, Jul 05, 2012 at 05:07:43PM +0200, Alexander Graf wrote:
> > On 07/05/2012 04:06 PM, Jason Baron wrote:
> > >On Wed, Jul 04, 2012 at 10:33:18AM +0200, Alexander Graf wrote:
> > >>On 04.07.2012, at 03:29, Jason Baron wrote:
> > >>
> > >>>On Tue, Jul 03, 2012 at 10:54:37PM +0200, Alexander Graf wrote:
> > >>>>On 03.07.2012, at 22:37, Jason Baron wrote:
> > >>>>
> > >>>>>On Tue, Jul 03, 2012 at 08:52:50PM +0200, Alexander Graf wrote:
> > >>>>>>On 03.07.2012, at 20:46, Jason Baron wrote:
> > >>>>>>
> > >>>>>>>On Tue, Jul 03, 2012 at 08:41:29PM +0200, Alexander Graf wrote:
> > >>>>>>>>On 03.07.2012, at 20:38, Jason Baron wrote:
> > >>>>>>>>
> > >>>>>>>>>On Tue, Jul 03, 2012 at 08:25:52PM +0200, Alexander Graf wrote:
> > >>>>>>>>>>On 03.07.2012, at 18:16, Jason Baron wrote:
> > >>>>>>>>>>
> > >>>>>>>>>>>Hi,
> > >>>>>>>>>>>
> > >>>>>>>>>>>Update on q35 testing with various os's.
> > >>>>>>>>>>>
> > >>>>>>>>>>>Linux
> > >>>>>>>>>>>-----
> > >>>>>>>>>>>-RHEL6.3 installs + runs
> > >>>>>>>>>>>-Fedora 16 install + runs
> > >>>>>>>>>>>-Fedora 17 - squashfs errors
> > >>>>>>>>>>>running on already installed f17 seems ok.
> > >>>>>>>>>>>
> > >>>>>>>>>>>Windows
> > >>>>>>>>>>>-------
> > >>>>>>>>>>>-W7 - install error:
> > >>>>>>>>>>>
> > >>>>>>>>>>>"A required cd/dvd device driver is missing. If you have a
> > >>>>>>>>>>>driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
> > >>>>>>>>>>>"
> > >>>>>>>>>>>
> > >>>>>>>>>>>Related to the new ahci controller, since if I go back to an
> > >>>>>>>>>>>ide conroller it keeps going (albeit the install is *very* slow).
> > >>>>>>>>>>>
> > >>>>>>>>>>>So I'm wondering if we need an ide compatibility mode? Or perhaps, there
> > >>>>>>>>>>>are other ideas.
> > >>>>>>>>>>Does it work with AHCI and -M pc? It should. Last time I tried it did at least :).
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>Alex
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>Yes, adding the ahci controller to -M pc, I see a disk drive and the
> > >>>>>>>>>controller show up in the device manager. I read in some of the ahci
> > >>>>>>>>>commit messages that the cdrom device didn't show up. Did cdrom ever
> > >>>>>>>>>work with ahci?
> > >>>>>>>>It did on Linux at least, yes. Does it work on Linux for you?
> > >>>>>>>>
> > >>>>>>>I meant did a cdrom on the ahci controller configure on windows?
> > >>>>>>>
> > >>>>>>>Yes, Linux seems to be happy with the drive and cdrom on the ahci. See
> > >>>>>>>my above test results. (ich9-ahci is the default controller for q35).
> > >>>>>>Ah, good. I don't remember tbh. But I suppose since it doesn't work for you, it's broken :). Do you have time to look into it?
> > >>>>>>
> > >>>>>I have time to look at it (I'm trying to get q35 working on as many os's
> > >>>>>as possible), but I'm far from an expert on ahci. So if you had some
> > >>>>>time to look at it, that would be great. My q35 trees are at:
> > >>>>Not sure how quickly I can get around to it. I still have quite a bunch of other stuff on my plate atm.
> > >>>>
> > >>>>>git://github.com/jibaron/q35-qemu.git
> > >>>>>git://github.com/jibaron/q35-seabios.git
> > >>>>>
> > >>>>>With a cmd line such as:
> > >>>>>
> > >>>>>/usr/local/bin/qemu-system-x86_64  -name "f16" -M pc_q35 -m 1G -smp 4
> > >>>>>-hda ./f16.img --enable-kvm  -bios<path>/q35-seabios/out/bios.bin
> > >>>>>-acpitable file=<path>/q35-seabios/out/q35-acpi-dsdt.aml  -monitor stdio
> > >>>>I suppose you mean something that actually does -cdrom?
> > >>>oops. yes. here's an example:
> > >>>
> > >>>/usr/local/bin/qemu-system-x86_64 -boot c -name  "w7" -m 6G -smp 4 -M
> > >>>pc_q35 -cdrom
> > >>>/images/isos/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso
> > >>>-hda /images/w7-q35.img  -vnc :5 --enable-kvm -bios
> > >>>/root/seabios/seabios/out/bios.bin -acpitable
> > >>>file=/root/seabios/seabios/out/q35-acpi-dsdt.aml -monitor stdio
> > >>>
> > >>>>>The error I run into is:
> > >>>>>
> > >>>>>"A required cd/dvd device driver is missing. If you have a
> > >>>>>driver floppy disk, CD, DVD, or USB flash drive, please insert it now.
> > >>>>>"
> > >>>>Well, that only tells us that it couldn't find its own CD drive. The question is why. Some ATA logs would be nice here :).
> > >>>>
> > >>>I've posted a log at: http://people.redhat.com/~jbaron/qemu/log
> > >>>
> > >>>Created with the debug patch below.
> > >>This log is using ATA for the disk as well, heavily cluttering the log. Please use virtio for the disk so we can isolate the commands that actually go to the cdrom.
> > >>
> > >>
> > >>Alex
> > >>
> > >>
> > >Log is still pretty large. But hopefully this one is more useful:
> > >
> > >http://people.redhat.com/~jbaron//qemu/windows-ahci-boot-virtio-disk
> > >
> > >Please let me know if anything else would be helpful.
> > 
> > Hrm. I can't see anything obviously wrong. The CD-ROM gets a few
> > ATAPI commands, happily processes them. And after the last one, it
> > suddenly gets a reset request (which usually indicates that
> > something went wrong) and then there's silence.
> > 
> > Who sends which commands? Are some of the commands maybe coming from
> > SeaBIOS? Could you please disable AHCI support in SeaBIOS for now
> > and check if anything substantially changes?
> > 
> > 
> > Alex
> > 
> > 
> 
> After fumbling around with this for a while on windows 7, I have also
> found that the current ahci/atapi crdrom code on piix appears to be
> buggy. Verifying a cdrom disk, or trying to boot off one yields i/o
> errors. I'm starting to dig into these now, but this can be re-produced
> outside the scope of q35.
> 
Also hibernating Windows8 on ahci does not work. I haven't dug deep, but
it looks like it fail to save the hibernation image.

--
			Gleb.
diff mbox

Patch

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 1e6cb82..ec75e45 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -34,7 +34,7 @@ 
 #include <hw/ide/pci.h>
 #include <hw/ide/ahci.h>
 
-/* #define DEBUG_AHCI */
+#define DEBUG_AHCI
 
 #ifdef DEBUG_AHCI
 #define DPRINTF(port, fmt, ...) \
diff --git a/hw/ide/internal.h b/hw/ide/internal.h
index f8a027d..ac1503b 100644
--- a/hw/ide/internal.h
+++ b/hw/ide/internal.h
@@ -14,9 +14,9 @@ 
 #include "hw/scsi-defs.h"
 
 /* debug IDE devices */
-//#define DEBUG_IDE
-//#define DEBUG_IDE_ATAPI
-//#define DEBUG_AIO
+#define DEBUG_IDE
+#define DEBUG_IDE_ATAPI
+#define DEBUG_AIO
 #define USE_DMA_CDROM
 
 typedef struct IDEBus IDEBus;