All of lore.kernel.org
 help / color / mirror / Atom feed
* SeaBIOS cdrom regression with Vista
@ 2009-11-17 13:21 ` Avi Kivity
  0 siblings, 0 replies; 21+ messages in thread
From: Avi Kivity @ 2009-11-17 13:21 UTC (permalink / raw)
  To: Kevin O'Connor, qemu-devel, KVM list

qemu-kvm's switch to seabios uncovered a regression with cdrom 
handling.  Vista x64 no longer recognizes the cdrom, while pc-bios still 
works.  Installing works, but that uses int 13, not the native driver.  
Haven't investigated further yet.

Command line:

qemu -drive 
file=/root/kvm-autotest/client/tests/kvm/images/winvista-64.qcow2,if=ide,cache=writeback 
-m 512 -smp 2 -cdrom 
/root/kvm-autotest/client/tests/kvm/isos/windows/winutils.iso -snapshot

b496fe34317ead61cf5ae019506fadc8f9ad6556 in qemu-kvm.git.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Qemu-devel] SeaBIOS cdrom regression with Vista
@ 2009-11-17 13:21 ` Avi Kivity
  0 siblings, 0 replies; 21+ messages in thread
From: Avi Kivity @ 2009-11-17 13:21 UTC (permalink / raw)
  To: Kevin O'Connor, qemu-devel, KVM list

qemu-kvm's switch to seabios uncovered a regression with cdrom 
handling.  Vista x64 no longer recognizes the cdrom, while pc-bios still 
works.  Installing works, but that uses int 13, not the native driver.  
Haven't investigated further yet.

Command line:

qemu -drive 
file=/root/kvm-autotest/client/tests/kvm/images/winvista-64.qcow2,if=ide,cache=writeback 
-m 512 -smp 2 -cdrom 
/root/kvm-autotest/client/tests/kvm/isos/windows/winutils.iso -snapshot

b496fe34317ead61cf5ae019506fadc8f9ad6556 in qemu-kvm.git.

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Qemu-devel] SeaBIOS cdrom regression with Vista
  2009-11-17 13:21 ` [Qemu-devel] " Avi Kivity
  (?)
@ 2009-11-17 17:07 ` Stefan Weil
  -1 siblings, 0 replies; 21+ messages in thread
From: Stefan Weil @ 2009-11-17 17:07 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Kevin O'Connor, qemu-devel, KVM list

Avi Kivity schrieb:
> qemu-kvm's switch to seabios uncovered a regression with cdrom
> handling.  Vista x64 no longer recognizes the cdrom, while pc-bios
> still works.  Installing works, but that uses int 13, not the native
> driver.  Haven't investigated further yet.
>
> Command line:
>
> qemu -drive
> file=/root/kvm-autotest/client/tests/kvm/images/winvista-64.qcow2,if=ide,cache=writeback
> -m 512 -smp 2 -cdrom
> /root/kvm-autotest/client/tests/kvm/isos/windows/winutils.iso -snapshot
>
> b496fe34317ead61cf5ae019506fadc8f9ad6556 in qemu-kvm.git.
>

This QEMU patch was reported to fix a CDROM problem with fedora:
[PATCH] pci: Fix function pci_default_write_config

Maybe it's a related problem.

Regards,
Stefan

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: SeaBIOS cdrom regression with Vista
  2009-11-17 13:21 ` [Qemu-devel] " Avi Kivity
@ 2009-11-18  5:19   ` Kevin O'Connor
  -1 siblings, 0 replies; 21+ messages in thread
From: Kevin O'Connor @ 2009-11-18  5:19 UTC (permalink / raw)
  To: Avi Kivity; +Cc: qemu-devel, KVM list

On Tue, Nov 17, 2009 at 03:21:31PM +0200, Avi Kivity wrote:
> qemu-kvm's switch to seabios uncovered a regression with cdrom handling.  
> Vista x64 no longer recognizes the cdrom, while pc-bios still works.  
> Installing works, but that uses int 13, not the native driver.  Haven't 
> investigated further yet.

Thanks for reporting Avi.  I will take a look as well.

The only things I can think of that could impact the OS recognizing a
cdrom would be: the cdrom left in an odd state (seems unlikely as the
OS usually does a full reset), ACPI differences, or int1348 errors.

-Kevin

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Qemu-devel] Re: SeaBIOS cdrom regression with Vista
@ 2009-11-18  5:19   ` Kevin O'Connor
  0 siblings, 0 replies; 21+ messages in thread
From: Kevin O'Connor @ 2009-11-18  5:19 UTC (permalink / raw)
  To: Avi Kivity; +Cc: qemu-devel, KVM list

On Tue, Nov 17, 2009 at 03:21:31PM +0200, Avi Kivity wrote:
> qemu-kvm's switch to seabios uncovered a regression with cdrom handling.  
> Vista x64 no longer recognizes the cdrom, while pc-bios still works.  
> Installing works, but that uses int 13, not the native driver.  Haven't 
> investigated further yet.

Thanks for reporting Avi.  I will take a look as well.

The only things I can think of that could impact the OS recognizing a
cdrom would be: the cdrom left in an odd state (seems unlikely as the
OS usually does a full reset), ACPI differences, or int1348 errors.

-Kevin

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Qemu-devel] Re: SeaBIOS cdrom regression with Vista
  2009-11-18  5:19   ` [Qemu-devel] " Kevin O'Connor
  (?)
@ 2009-11-19  3:24   ` Kevin O'Connor
  2009-11-19 10:25     ` Avi Kivity
  -1 siblings, 1 reply; 21+ messages in thread
From: Kevin O'Connor @ 2009-11-19  3:24 UTC (permalink / raw)
  To: Avi Kivity; +Cc: qemu-devel, KVM list

On Wed, Nov 18, 2009 at 12:19:20AM -0500, Kevin O'Connor wrote:
> On Tue, Nov 17, 2009 at 03:21:31PM +0200, Avi Kivity wrote:
> > qemu-kvm's switch to seabios uncovered a regression with cdrom handling.  
> > Vista x64 no longer recognizes the cdrom, while pc-bios still works.  
> > Installing works, but that uses int 13, not the native driver.  Haven't 
> > investigated further yet.
> 
> Thanks for reporting Avi.  I will take a look as well.

I'm able to reproduce this problem on my machine with a 32bit vista
install.  I'll let you know what I find.

-Kevin

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Qemu-devel] Re: SeaBIOS cdrom regression with Vista
  2009-11-19  3:24   ` Kevin O'Connor
@ 2009-11-19 10:25     ` Avi Kivity
  0 siblings, 0 replies; 21+ messages in thread
From: Avi Kivity @ 2009-11-19 10:25 UTC (permalink / raw)
  To: Kevin O'Connor; +Cc: qemu-devel, KVM list

On 11/19/2009 05:24 AM, Kevin O'Connor wrote:
> On Wed, Nov 18, 2009 at 12:19:20AM -0500, Kevin O'Connor wrote:
>    
>> On Tue, Nov 17, 2009 at 03:21:31PM +0200, Avi Kivity wrote:
>>      
>>> qemu-kvm's switch to seabios uncovered a regression with cdrom handling.
>>> Vista x64 no longer recognizes the cdrom, while pc-bios still works.
>>> Installing works, but that uses int 13, not the native driver.  Haven't
>>> investigated further yet.
>>>        
>> Thanks for reporting Avi.  I will take a look as well.
>>      
> I'm able to reproduce this problem on my machine with a 32bit vista
> install.  I'll let you know what I find.
>    

This reproduces with qemu upstream as well.  The Windows error log 
complains that the cdrom driver wouldn't load, but nothing else.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: SeaBIOS cdrom regression with Vista
  2009-11-17 13:21 ` [Qemu-devel] " Avi Kivity
@ 2009-11-19 15:34   ` Avi Kivity
  -1 siblings, 0 replies; 21+ messages in thread
From: Avi Kivity @ 2009-11-19 15:34 UTC (permalink / raw)
  To: Kevin O'Connor, qemu-devel, KVM list

On 11/17/2009 03:21 PM, Avi Kivity wrote:
> qemu-kvm's switch to seabios uncovered a regression with cdrom 
> handling.  Vista x64 no longer recognizes the cdrom, while pc-bios 
> still works.  Installing works, but that uses int 13, not the native 
> driver.  Haven't investigated further yet.
>
> Command line:
>
> qemu -drive 
> file=/root/kvm-autotest/client/tests/kvm/images/winvista-64.qcow2,if=ide,cache=writeback 
> -m 512 -smp 2 -cdrom 
> /root/kvm-autotest/client/tests/kvm/isos/windows/winutils.iso -snapshot
>
> b496fe34317ead61cf5ae019506fadc8f9ad6556 in qemu-kvm.git.
>

I've temporarily reverted to bochs bios until this issue is resolved.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Qemu-devel] Re: SeaBIOS cdrom regression with Vista
@ 2009-11-19 15:34   ` Avi Kivity
  0 siblings, 0 replies; 21+ messages in thread
From: Avi Kivity @ 2009-11-19 15:34 UTC (permalink / raw)
  To: Kevin O'Connor, qemu-devel, KVM list

On 11/17/2009 03:21 PM, Avi Kivity wrote:
> qemu-kvm's switch to seabios uncovered a regression with cdrom 
> handling.  Vista x64 no longer recognizes the cdrom, while pc-bios 
> still works.  Installing works, but that uses int 13, not the native 
> driver.  Haven't investigated further yet.
>
> Command line:
>
> qemu -drive 
> file=/root/kvm-autotest/client/tests/kvm/images/winvista-64.qcow2,if=ide,cache=writeback 
> -m 512 -smp 2 -cdrom 
> /root/kvm-autotest/client/tests/kvm/isos/windows/winutils.iso -snapshot
>
> b496fe34317ead61cf5ae019506fadc8f9ad6556 in qemu-kvm.git.
>

I've temporarily reverted to bochs bios until this issue is resolved.

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: SeaBIOS cdrom regression with Vista
  2009-11-19 15:34   ` [Qemu-devel] " Avi Kivity
@ 2009-11-19 15:40     ` Alexander Graf
  -1 siblings, 0 replies; 21+ messages in thread
From: Alexander Graf @ 2009-11-19 15:40 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Kevin O'Connor, qemu-devel, KVM list

Avi Kivity wrote:
> On 11/17/2009 03:21 PM, Avi Kivity wrote:
>> qemu-kvm's switch to seabios uncovered a regression with cdrom
>> handling.  Vista x64 no longer recognizes the cdrom, while pc-bios
>> still works.  Installing works, but that uses int 13, not the native
>> driver.  Haven't investigated further yet.
>>
>> Command line:
>>
>> qemu -drive
>> file=/root/kvm-autotest/client/tests/kvm/images/winvista-64.qcow2,if=ide,cache=writeback
>> -m 512 -smp 2 -cdrom
>> /root/kvm-autotest/client/tests/kvm/isos/windows/winutils.iso -snapshot
>>
>> b496fe34317ead61cf5ae019506fadc8f9ad6556 in qemu-kvm.git.
>>
>
> I've temporarily reverted to bochs bios until this issue is resolved.


Make sure my second linuxboot patch (fix linuxboot with bochsbios) is
applied then, as otherwise -kernel will break.


Alex

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Qemu-devel] Re: SeaBIOS cdrom regression with Vista
@ 2009-11-19 15:40     ` Alexander Graf
  0 siblings, 0 replies; 21+ messages in thread
From: Alexander Graf @ 2009-11-19 15:40 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Kevin O'Connor, qemu-devel, KVM list

Avi Kivity wrote:
> On 11/17/2009 03:21 PM, Avi Kivity wrote:
>> qemu-kvm's switch to seabios uncovered a regression with cdrom
>> handling.  Vista x64 no longer recognizes the cdrom, while pc-bios
>> still works.  Installing works, but that uses int 13, not the native
>> driver.  Haven't investigated further yet.
>>
>> Command line:
>>
>> qemu -drive
>> file=/root/kvm-autotest/client/tests/kvm/images/winvista-64.qcow2,if=ide,cache=writeback
>> -m 512 -smp 2 -cdrom
>> /root/kvm-autotest/client/tests/kvm/isos/windows/winutils.iso -snapshot
>>
>> b496fe34317ead61cf5ae019506fadc8f9ad6556 in qemu-kvm.git.
>>
>
> I've temporarily reverted to bochs bios until this issue is resolved.


Make sure my second linuxboot patch (fix linuxboot with bochsbios) is
applied then, as otherwise -kernel will break.


Alex

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: SeaBIOS cdrom regression with Vista
  2009-11-18  5:19   ` [Qemu-devel] " Kevin O'Connor
@ 2009-11-20 18:03     ` Kevin O'Connor
  -1 siblings, 0 replies; 21+ messages in thread
From: Kevin O'Connor @ 2009-11-20 18:03 UTC (permalink / raw)
  To: Avi Kivity; +Cc: qemu-devel, KVM list

On Wed, Nov 18, 2009 at 12:19:20AM -0500, Kevin O'Connor wrote:
> On Tue, Nov 17, 2009 at 03:21:31PM +0200, Avi Kivity wrote:
> > qemu-kvm's switch to seabios uncovered a regression with cdrom handling.  
> > Vista x64 no longer recognizes the cdrom, while pc-bios still works.  
> > Installing works, but that uses int 13, not the native driver.  Haven't 
> > investigated further yet.
> The only things I can think of that could impact the OS recognizing a
> cdrom would be: the cdrom left in an odd state (seems unlikely as the
> OS usually does a full reset), ACPI differences, or int1348 errors.

I've looked into this, and it looks like the cdrom is left in an odd
state.  At this point, I think SeaBIOS is tickling a bug outside of
seabios (eg, in Vista or qemu).  I would appreciate it someone with
cdrom knowledge of qemu could help.

Here is what I'm seeing.

As reported, the following fails:
qemu -hda winvista -cdrom util.iso

The following also fails:
qemu -hdc winvista -drive file=util.iso,media=cdrom,index=0

However, this works!?
qemu -hdc winvista -drive file=util.iso,media=cdrom,index=1

And this works (both cdroms are seen):
qemu -hdc winvista -drive file=util.iso,media=cdrom,index=0 -drive file=util2.iso,media=cdrom,index=1

The following also works:
qemu -hda winvista -hdc someotherdrive

And this works too:
qemu -hdd winvista -cdrom util.iso


So, basically, something is causing vista to not like the cdrom, but
only when the cdrom is a master and there is no slave.

Tracking this further, if I apply the patch to seabios below, I find
that it still fails, but if I uncomment the first check then
everything works.  This leads me to believe that sending an "identify
packet device" request to a non-existent slave when a cdrom is master
is causing that cdrom master to not be liked by vista.

SeaBIOS has a different ata drive detection mechanism than bochs - it
needs it in order to work on real hardware.  So, this explains why
bochs bios doesn't show this issue.  (Seabios tries to send an
"identify packet device" and then an "identify device" command to
detect a drive; bochs bios looks for a signature in the ata registers
after an ata reset.)

Any thoughts?
-Kevin


--- a/src/ata.c
+++ b/src/ata.c
@@ -713,9 +713,14 @@ ata_detect(void *data)
             last_reset_ataid = ataid;
         }
 
+//        if (slave)
+//            continue;
+
         // check for ATAPI
         u16 buffer[256];
         struct drive_s *drive_g = init_drive_atapi(&dummy, buffer);
+        if (slave)
+            continue;
         if (!drive_g) {
             // Didn't find an ATAPI drive - look for ATA drive.
             u8 st = inb(iobase1+ATA_CB_STAT);

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Qemu-devel] Re: SeaBIOS cdrom regression with Vista
@ 2009-11-20 18:03     ` Kevin O'Connor
  0 siblings, 0 replies; 21+ messages in thread
From: Kevin O'Connor @ 2009-11-20 18:03 UTC (permalink / raw)
  To: Avi Kivity; +Cc: qemu-devel, KVM list

On Wed, Nov 18, 2009 at 12:19:20AM -0500, Kevin O'Connor wrote:
> On Tue, Nov 17, 2009 at 03:21:31PM +0200, Avi Kivity wrote:
> > qemu-kvm's switch to seabios uncovered a regression with cdrom handling.  
> > Vista x64 no longer recognizes the cdrom, while pc-bios still works.  
> > Installing works, but that uses int 13, not the native driver.  Haven't 
> > investigated further yet.
> The only things I can think of that could impact the OS recognizing a
> cdrom would be: the cdrom left in an odd state (seems unlikely as the
> OS usually does a full reset), ACPI differences, or int1348 errors.

I've looked into this, and it looks like the cdrom is left in an odd
state.  At this point, I think SeaBIOS is tickling a bug outside of
seabios (eg, in Vista or qemu).  I would appreciate it someone with
cdrom knowledge of qemu could help.

Here is what I'm seeing.

As reported, the following fails:
qemu -hda winvista -cdrom util.iso

The following also fails:
qemu -hdc winvista -drive file=util.iso,media=cdrom,index=0

However, this works!?
qemu -hdc winvista -drive file=util.iso,media=cdrom,index=1

And this works (both cdroms are seen):
qemu -hdc winvista -drive file=util.iso,media=cdrom,index=0 -drive file=util2.iso,media=cdrom,index=1

The following also works:
qemu -hda winvista -hdc someotherdrive

And this works too:
qemu -hdd winvista -cdrom util.iso


So, basically, something is causing vista to not like the cdrom, but
only when the cdrom is a master and there is no slave.

Tracking this further, if I apply the patch to seabios below, I find
that it still fails, but if I uncomment the first check then
everything works.  This leads me to believe that sending an "identify
packet device" request to a non-existent slave when a cdrom is master
is causing that cdrom master to not be liked by vista.

SeaBIOS has a different ata drive detection mechanism than bochs - it
needs it in order to work on real hardware.  So, this explains why
bochs bios doesn't show this issue.  (Seabios tries to send an
"identify packet device" and then an "identify device" command to
detect a drive; bochs bios looks for a signature in the ata registers
after an ata reset.)

Any thoughts?
-Kevin


--- a/src/ata.c
+++ b/src/ata.c
@@ -713,9 +713,14 @@ ata_detect(void *data)
             last_reset_ataid = ataid;
         }
 
+//        if (slave)
+//            continue;
+
         // check for ATAPI
         u16 buffer[256];
         struct drive_s *drive_g = init_drive_atapi(&dummy, buffer);
+        if (slave)
+            continue;
         if (!drive_g) {
             // Didn't find an ATAPI drive - look for ATA drive.
             u8 st = inb(iobase1+ATA_CB_STAT);

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: SeaBIOS cdrom regression with Vista
  2009-11-20 18:03     ` [Qemu-devel] " Kevin O'Connor
@ 2009-11-20 19:08       ` Kevin O'Connor
  -1 siblings, 0 replies; 21+ messages in thread
From: Kevin O'Connor @ 2009-11-20 19:08 UTC (permalink / raw)
  To: Avi Kivity; +Cc: qemu-devel, KVM list

On Fri, Nov 20, 2009 at 01:03:51PM -0500, Kevin O'Connor wrote:
> I've looked into this, and it looks like the cdrom is left in an odd
> state.  At this point, I think SeaBIOS is tickling a bug outside of
> seabios (eg, in Vista or qemu).  I would appreciate it someone with
> cdrom knowledge of qemu could help.
[...]
> SeaBIOS has a different ata drive detection mechanism than bochs - it
> needs it in order to work on real hardware.  So, this explains why
> bochs bios doesn't show this issue.  (Seabios tries to send an
> "identify packet device" and then an "identify device" command to
> detect a drive; bochs bios looks for a signature in the ata registers
> after an ata reset.)

It looks like I spoke too soon.  It appears the SeaBIOS init can leave
the ATA controller in an interrupts disabled state.  This appears to
confuse Vista.  So, this is a SeaBIOS bug - I'll implement a fix.

The patch below enables Vista to see the cdrom (though, it's not a
real fix).

-Kevin


--- a/src/ata.c
+++ b/src/ata.c
@@ -237,6 +237,7 @@ send_cmd(struct drive_s *drive_g, struct ata_pio_command *cmd)
         return -4;
     }
     if (!(status & ATA_CB_STAT_DRQ)) {
+    outb(ATA_CB_DC_HD15, iobase2+ATA_CB_DC);
         dprintf(6, "send_cmd : DRQ not set (status %02x)\n", status);
         return -5;
     }

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Qemu-devel] Re: SeaBIOS cdrom regression with Vista
@ 2009-11-20 19:08       ` Kevin O'Connor
  0 siblings, 0 replies; 21+ messages in thread
From: Kevin O'Connor @ 2009-11-20 19:08 UTC (permalink / raw)
  To: Avi Kivity; +Cc: qemu-devel, KVM list

On Fri, Nov 20, 2009 at 01:03:51PM -0500, Kevin O'Connor wrote:
> I've looked into this, and it looks like the cdrom is left in an odd
> state.  At this point, I think SeaBIOS is tickling a bug outside of
> seabios (eg, in Vista or qemu).  I would appreciate it someone with
> cdrom knowledge of qemu could help.
[...]
> SeaBIOS has a different ata drive detection mechanism than bochs - it
> needs it in order to work on real hardware.  So, this explains why
> bochs bios doesn't show this issue.  (Seabios tries to send an
> "identify packet device" and then an "identify device" command to
> detect a drive; bochs bios looks for a signature in the ata registers
> after an ata reset.)

It looks like I spoke too soon.  It appears the SeaBIOS init can leave
the ATA controller in an interrupts disabled state.  This appears to
confuse Vista.  So, this is a SeaBIOS bug - I'll implement a fix.

The patch below enables Vista to see the cdrom (though, it's not a
real fix).

-Kevin


--- a/src/ata.c
+++ b/src/ata.c
@@ -237,6 +237,7 @@ send_cmd(struct drive_s *drive_g, struct ata_pio_command *cmd)
         return -4;
     }
     if (!(status & ATA_CB_STAT_DRQ)) {
+    outb(ATA_CB_DC_HD15, iobase2+ATA_CB_DC);
         dprintf(6, "send_cmd : DRQ not set (status %02x)\n", status);
         return -5;
     }

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: SeaBIOS cdrom regression with Vista
  2009-11-20 19:08       ` [Qemu-devel] " Kevin O'Connor
@ 2009-11-20 22:36         ` Kevin O'Connor
  -1 siblings, 0 replies; 21+ messages in thread
From: Kevin O'Connor @ 2009-11-20 22:36 UTC (permalink / raw)
  To: Avi Kivity; +Cc: qemu-devel, KVM list

On Fri, Nov 20, 2009 at 02:08:03PM -0500, Kevin O'Connor wrote:
> On Fri, Nov 20, 2009 at 01:03:51PM -0500, Kevin O'Connor wrote:
> > I've looked into this, and it looks like the cdrom is left in an odd
> > state.  At this point, I think SeaBIOS is tickling a bug outside of
> > seabios (eg, in Vista or qemu).  I would appreciate it someone with
> > cdrom knowledge of qemu could help.
> [...]
> > SeaBIOS has a different ata drive detection mechanism than bochs - it
> > needs it in order to work on real hardware.  So, this explains why
> > bochs bios doesn't show this issue.  (Seabios tries to send an
> > "identify packet device" and then an "identify device" command to
> > detect a drive; bochs bios looks for a signature in the ata registers
> > after an ata reset.)
> 
> It looks like I spoke too soon.  It appears the SeaBIOS init can leave
> the ATA controller in an interrupts disabled state.  This appears to
> confuse Vista.  So, this is a SeaBIOS bug - I'll implement a fix.

I've committed a fix to SeaBIOS - commit 42bc3940.

-Kevin

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Qemu-devel] Re: SeaBIOS cdrom regression with Vista
@ 2009-11-20 22:36         ` Kevin O'Connor
  0 siblings, 0 replies; 21+ messages in thread
From: Kevin O'Connor @ 2009-11-20 22:36 UTC (permalink / raw)
  To: Avi Kivity; +Cc: qemu-devel, KVM list

On Fri, Nov 20, 2009 at 02:08:03PM -0500, Kevin O'Connor wrote:
> On Fri, Nov 20, 2009 at 01:03:51PM -0500, Kevin O'Connor wrote:
> > I've looked into this, and it looks like the cdrom is left in an odd
> > state.  At this point, I think SeaBIOS is tickling a bug outside of
> > seabios (eg, in Vista or qemu).  I would appreciate it someone with
> > cdrom knowledge of qemu could help.
> [...]
> > SeaBIOS has a different ata drive detection mechanism than bochs - it
> > needs it in order to work on real hardware.  So, this explains why
> > bochs bios doesn't show this issue.  (Seabios tries to send an
> > "identify packet device" and then an "identify device" command to
> > detect a drive; bochs bios looks for a signature in the ata registers
> > after an ata reset.)
> 
> It looks like I spoke too soon.  It appears the SeaBIOS init can leave
> the ATA controller in an interrupts disabled state.  This appears to
> confuse Vista.  So, this is a SeaBIOS bug - I'll implement a fix.

I've committed a fix to SeaBIOS - commit 42bc3940.

-Kevin

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: SeaBIOS cdrom regression with Vista
  2009-11-20 22:36         ` [Qemu-devel] " Kevin O'Connor
@ 2009-11-22  8:56           ` Avi Kivity
  -1 siblings, 0 replies; 21+ messages in thread
From: Avi Kivity @ 2009-11-22  8:56 UTC (permalink / raw)
  To: Kevin O'Connor, Anthony Liguori; +Cc: qemu-devel, KVM list

On 11/21/2009 12:36 AM, Kevin O'Connor wrote:
>
>> It looks like I spoke too soon.  It appears the SeaBIOS init can leave
>> the ATA controller in an interrupts disabled state.  This appears to
>> confuse Vista.  So, this is a SeaBIOS bug - I'll implement a fix.
>>      
> I've committed a fix to SeaBIOS - commit 42bc3940.
>    

Many thanks.

Anthony, can you expedite this fix through qemu.git?

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Qemu-devel] Re: SeaBIOS cdrom regression with Vista
@ 2009-11-22  8:56           ` Avi Kivity
  0 siblings, 0 replies; 21+ messages in thread
From: Avi Kivity @ 2009-11-22  8:56 UTC (permalink / raw)
  To: Kevin O'Connor, Anthony Liguori; +Cc: qemu-devel, KVM list

On 11/21/2009 12:36 AM, Kevin O'Connor wrote:
>
>> It looks like I spoke too soon.  It appears the SeaBIOS init can leave
>> the ATA controller in an interrupts disabled state.  This appears to
>> confuse Vista.  So, this is a SeaBIOS bug - I'll implement a fix.
>>      
> I've committed a fix to SeaBIOS - commit 42bc3940.
>    

Many thanks.

Anthony, can you expedite this fix through qemu.git?

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: SeaBIOS cdrom regression with Vista
  2009-11-20 22:36         ` [Qemu-devel] " Kevin O'Connor
@ 2009-11-26 15:31           ` Avi Kivity
  -1 siblings, 0 replies; 21+ messages in thread
From: Avi Kivity @ 2009-11-26 15:31 UTC (permalink / raw)
  To: Kevin O'Connor; +Cc: qemu-devel, KVM list

On 11/21/2009 12:36 AM, Kevin O'Connor wrote:
>
>> It looks like I spoke too soon.  It appears the SeaBIOS init can leave
>> the ATA controller in an interrupts disabled state.  This appears to
>> confuse Vista.  So, this is a SeaBIOS bug - I'll implement a fix.
>>      
> I've committed a fix to SeaBIOS - commit 42bc3940.
>    

I confirm that it works with my regression tests.  I now see no 
regressions except for gpxe/pmm (which I haven't retested yet, stay tuned).

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Qemu-devel] Re: SeaBIOS cdrom regression with Vista
@ 2009-11-26 15:31           ` Avi Kivity
  0 siblings, 0 replies; 21+ messages in thread
From: Avi Kivity @ 2009-11-26 15:31 UTC (permalink / raw)
  To: Kevin O'Connor; +Cc: qemu-devel, KVM list

On 11/21/2009 12:36 AM, Kevin O'Connor wrote:
>
>> It looks like I spoke too soon.  It appears the SeaBIOS init can leave
>> the ATA controller in an interrupts disabled state.  This appears to
>> confuse Vista.  So, this is a SeaBIOS bug - I'll implement a fix.
>>      
> I've committed a fix to SeaBIOS - commit 42bc3940.
>    

I confirm that it works with my regression tests.  I now see no 
regressions except for gpxe/pmm (which I haven't retested yet, stay tuned).

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2009-11-26 15:31 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-17 13:21 SeaBIOS cdrom regression with Vista Avi Kivity
2009-11-17 13:21 ` [Qemu-devel] " Avi Kivity
2009-11-17 17:07 ` Stefan Weil
2009-11-18  5:19 ` Kevin O'Connor
2009-11-18  5:19   ` [Qemu-devel] " Kevin O'Connor
2009-11-19  3:24   ` Kevin O'Connor
2009-11-19 10:25     ` Avi Kivity
2009-11-20 18:03   ` Kevin O'Connor
2009-11-20 18:03     ` [Qemu-devel] " Kevin O'Connor
2009-11-20 19:08     ` Kevin O'Connor
2009-11-20 19:08       ` [Qemu-devel] " Kevin O'Connor
2009-11-20 22:36       ` Kevin O'Connor
2009-11-20 22:36         ` [Qemu-devel] " Kevin O'Connor
2009-11-22  8:56         ` Avi Kivity
2009-11-22  8:56           ` [Qemu-devel] " Avi Kivity
2009-11-26 15:31         ` Avi Kivity
2009-11-26 15:31           ` [Qemu-devel] " Avi Kivity
2009-11-19 15:34 ` Avi Kivity
2009-11-19 15:34   ` [Qemu-devel] " Avi Kivity
2009-11-19 15:40   ` Alexander Graf
2009-11-19 15:40     ` [Qemu-devel] " Alexander Graf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.