* [Qemu-devel] virtio-blk/qdev failure in the current git tree
@ 2009-08-10 23:56 Christoph Hellwig
2009-08-11 0:29 ` Anthony Liguori
0 siblings, 1 reply; 21+ messages in thread
From: Christoph Hellwig @ 2009-08-10 23:56 UTC (permalink / raw)
To: qemu-devel
Since today's merges I can't boot my virtio test setup anymore, but get
an error from the qdev code:
property "virtio-blk-pci.drive" has no parser
can't set property "drive" to "virtio0" for "virtio-blk-pci"
The qemu command line is:
/opt/qemu/bin/qemu-system-x86_64 \
-m 1000 -enable-kvm \
-kernel arch/x86/boot/bzImage \
-drive file=/dev/vg00/qemu-root,if=virtio,media=disk,cache=writeback \
-drive file=/dev/vg00/qemu-data,if=virtio,media=disk,cache=none \
-append "root=/dev/vda console=tty0 console=ttyS0,38400n8"
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-10 23:56 [Qemu-devel] virtio-blk/qdev failure in the current git tree Christoph Hellwig
@ 2009-08-11 0:29 ` Anthony Liguori
2009-08-11 16:13 ` Christoph Hellwig
0 siblings, 1 reply; 21+ messages in thread
From: Anthony Liguori @ 2009-08-11 0:29 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: qemu-devel
Christoph Hellwig wrote:
> Since today's merges I can't boot my virtio test setup anymore, but get
> an error from the qdev code:
>
> property "virtio-blk-pci.drive" has no parser
> can't set property "drive" to "virtio0" for "virtio-blk-pci"
>
I'll push a fix. I'm sure it's my fault, although I'm not exactly sure
what happened. Thanks.
Regards,
Anthony Liguori
> The qemu command line is:
>
> /opt/qemu/bin/qemu-system-x86_64 \
> -m 1000 -enable-kvm \
> -kernel arch/x86/boot/bzImage \
> -drive file=/dev/vg00/qemu-root,if=virtio,media=disk,cache=writeback \
> -drive file=/dev/vg00/qemu-data,if=virtio,media=disk,cache=none \
> -append "root=/dev/vda console=tty0 console=ttyS0,38400n8"
>
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-11 0:29 ` Anthony Liguori
@ 2009-08-11 16:13 ` Christoph Hellwig
2009-08-11 16:36 ` Christoph Hellwig
0 siblings, 1 reply; 21+ messages in thread
From: Christoph Hellwig @ 2009-08-11 16:13 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Christoph Hellwig, qemu-devel
On Mon, Aug 10, 2009 at 07:29:31PM -0500, Anthony Liguori wrote:
> Christoph Hellwig wrote:
> >Since today's merges I can't boot my virtio test setup anymore, but get
> >an error from the qdev code:
> >
> >property "virtio-blk-pci.drive" has no parser
> >can't set property "drive" to "virtio0" for "virtio-blk-pci"
> >
>
> I'll push a fix. I'm sure it's my fault, although I'm not exactly sure
> what happened. Thanks.
With the fix pulled it the guest kernel now hangs after
input: ImExPS/2 Generic Explorer Mouse as /class/input/input2
Clocksource tsc unstable (delta = -782142631 ms)
when reducing the config to just one virtio-blk device it books, but
with a longish break at the point where the original config hangs.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-11 16:13 ` Christoph Hellwig
@ 2009-08-11 16:36 ` Christoph Hellwig
2009-08-11 18:45 ` Anthony Liguori
2009-08-11 19:28 ` Gerd Hoffmann
0 siblings, 2 replies; 21+ messages in thread
From: Christoph Hellwig @ 2009-08-11 16:36 UTC (permalink / raw)
To: Anthony Liguori; +Cc: kraxel, qemu-devel
On Tue, Aug 11, 2009 at 06:13:02PM +0200, Christoph Hellwig wrote:
> With the fix pulled it the guest kernel now hangs after
>
> input: ImExPS/2 Generic Explorer Mouse as /class/input/input2
> Clocksource tsc unstable (delta = -782142631 ms)
>
> when reducing the config to just one virtio-blk device it books, but
> with a longish break at the point where the original config hangs.
The culprit is commit d176c495b6664b72dc1e595f6e89dc5648aa248b
qdev-ify virtio-blk.
reverting it (needs some manual work due to the macrofication of the
qdev attributes) fixes the boot again.
>
---end quoted text---
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-11 16:36 ` Christoph Hellwig
@ 2009-08-11 18:45 ` Anthony Liguori
2009-08-11 19:28 ` Gerd Hoffmann
1 sibling, 0 replies; 21+ messages in thread
From: Anthony Liguori @ 2009-08-11 18:45 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: kraxel, qemu-devel
Christoph Hellwig wrote:
> On Tue, Aug 11, 2009 at 06:13:02PM +0200, Christoph Hellwig wrote:
>
>> With the fix pulled it the guest kernel now hangs after
>>
>> input: ImExPS/2 Generic Explorer Mouse as /class/input/input2
>> Clocksource tsc unstable (delta = -782142631 ms)
>>
>> when reducing the config to just one virtio-blk device it books, but
>> with a longish break at the point where the original config hangs.
>>
>
> The culprit is commit d176c495b6664b72dc1e595f6e89dc5648aa248b
>
> qdev-ify virtio-blk.
>
> reverting it (needs some manual work due to the macrofication of the
> qdev attributes) fixes the boot again.
>
It should be fixed in the latest git.
Regards,
Anthony Liguori
> ---end quoted text---
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-11 16:36 ` Christoph Hellwig
2009-08-11 18:45 ` Anthony Liguori
@ 2009-08-11 19:28 ` Gerd Hoffmann
2009-08-12 9:26 ` Gerd Hoffmann
1 sibling, 1 reply; 21+ messages in thread
From: Gerd Hoffmann @ 2009-08-11 19:28 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: qemu-devel
On 08/11/09 18:36, Christoph Hellwig wrote:
> On Tue, Aug 11, 2009 at 06:13:02PM +0200, Christoph Hellwig wrote:
>> With the fix pulled it the guest kernel now hangs after
>>
>> input: ImExPS/2 Generic Explorer Mouse as /class/input/input2
>> Clocksource tsc unstable (delta = -782142631 ms)
>>
>> when reducing the config to just one virtio-blk device it books, but
>> with a longish break at the point where the original config hangs.
>
> The culprit is commit d176c495b6664b72dc1e595f6e89dc5648aa248b
>
> qdev-ify virtio-blk.
>
> reverting it (needs some manual work due to the macrofication of the
> qdev attributes) fixes the boot again.
Hmm. I suspect this is not related to qdev and virtio-blk at all. I've
noticed now and then that some pci devices don't work if you have many
of them. Didn't try (yet) to root-cause that one.
The commit changes the initialization order of the virtio-blk devices,
which probably makes them being placed in other PCI slots, which in turn
might uncover the bug mentioned above in your setup.
How are the pci devices assigned to slots with and without the patch?
Does removing the balloon device (-balloon none) change the behavior?
Does removing the nic (-net none) too change the behavior?
cheers,
Gerd
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-11 19:28 ` Gerd Hoffmann
@ 2009-08-12 9:26 ` Gerd Hoffmann
2009-08-12 10:00 ` Avi Kivity
2009-08-12 10:08 ` Gerd Hoffmann
0 siblings, 2 replies; 21+ messages in thread
From: Gerd Hoffmann @ 2009-08-12 9:26 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: qemu-devel
On 08/11/09 21:28, Gerd Hoffmann wrote:
> Hmm. I suspect this is not related to qdev and virtio-blk at all. I've
> noticed now and then that some pci devices don't work if you have many
> of them. Didn't try (yet) to root-cause that one.
More testing: Bare virtual box with just piix+vga. Then place a virtio
disk into different slots using addr=. 3,4,5 work fine. 6 gives me:
ACPI: Unable to derive IRQ for device 0000:00:06.0
ACPI: PCI Interrupt 0000:00:06.0[A]: no GSI - using IRQ 9
vda: <hangs here>
Looks like a irq routing issue ...
cheers,
Gerd
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-12 9:26 ` Gerd Hoffmann
@ 2009-08-12 10:00 ` Avi Kivity
2009-08-12 10:19 ` Gerd Hoffmann
2009-08-12 21:50 ` Christoph Hellwig
2009-08-12 10:08 ` Gerd Hoffmann
1 sibling, 2 replies; 21+ messages in thread
From: Avi Kivity @ 2009-08-12 10:00 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: Christoph Hellwig, qemu-devel
On 08/12/2009 12:26 PM, Gerd Hoffmann wrote:
> On 08/11/09 21:28, Gerd Hoffmann wrote:
>> Hmm. I suspect this is not related to qdev and virtio-blk at all. I've
>> noticed now and then that some pci devices don't work if you have many
>> of them. Didn't try (yet) to root-cause that one.
>
> More testing: Bare virtual box with just piix+vga. Then place a
> virtio disk into different slots using addr=. 3,4,5 work fine. 6
> gives me:
>
> ACPI: Unable to derive IRQ for device 0000:00:06.0
> ACPI: PCI Interrupt 0000:00:06.0[A]: no GSI - using IRQ 9
> vda: <hangs here>
>
> Looks like a irq routing issue ...
What about qemu-kvm.git (and its bios)? There was a lot of irq routing
work there, maybe not all of it made it into qemu.git.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-12 9:26 ` Gerd Hoffmann
2009-08-12 10:00 ` Avi Kivity
@ 2009-08-12 10:08 ` Gerd Hoffmann
2009-08-12 21:54 ` Christoph Hellwig
1 sibling, 1 reply; 21+ messages in thread
From: Gerd Hoffmann @ 2009-08-12 10:08 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: qemu-devel
On 08/12/09 11:26, Gerd Hoffmann wrote:
> On 08/11/09 21:28, Gerd Hoffmann wrote:
>> Hmm. I suspect this is not related to qdev and virtio-blk at all. I've
>> noticed now and then that some pci devices don't work if you have many
>> of them. Didn't try (yet) to root-cause that one.
>
> More testing: Bare virtual box with just piix+vga. Then place a virtio
> disk into different slots using addr=. 3,4,5 work fine. 6 gives me:
>
> ACPI: Unable to derive IRQ for device 0000:00:06.0
> ACPI: PCI Interrupt 0000:00:06.0[A]: no GSI - using IRQ 9
> vda: <hangs here>
>
> Looks like a irq routing issue ...
With acpi=off the box boots just fine for me with the virtio disk in
slot #6.
Also note there is
pc-bios/bios-pq/0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch
which adds slots 6 .. 32 to the acpi tables. Maybe that one is incomplete?
cheers,
Gerd
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-12 10:00 ` Avi Kivity
@ 2009-08-12 10:19 ` Gerd Hoffmann
2009-08-12 10:40 ` Gerd Hoffmann
2009-08-12 21:50 ` Christoph Hellwig
1 sibling, 1 reply; 21+ messages in thread
From: Gerd Hoffmann @ 2009-08-12 10:19 UTC (permalink / raw)
To: Avi Kivity; +Cc: Christoph Hellwig, qemu-devel
On 08/12/09 12:00, Avi Kivity wrote:
> On 08/12/2009 12:26 PM, Gerd Hoffmann wrote:
>> On 08/11/09 21:28, Gerd Hoffmann wrote:
>>> Hmm. I suspect this is not related to qdev and virtio-blk at all. I've
>>> noticed now and then that some pci devices don't work if you have many
>>> of them. Didn't try (yet) to root-cause that one.
>>
>> More testing: Bare virtual box with just piix+vga. Then place a virtio
>> disk into different slots using addr=. 3,4,5 work fine. 6 gives me:
>>
>> ACPI: Unable to derive IRQ for device 0000:00:06.0
>> ACPI: PCI Interrupt 0000:00:06.0[A]: no GSI - using IRQ 9
>> vda: <hangs here>
>>
>> Looks like a irq routing issue ...
>
> What about qemu-kvm.git (and its bios)?
Works:
ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [LNKB] -> GSI 10 (level,
high) -> IRQ 10
cheers,
Gerd
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-12 10:19 ` Gerd Hoffmann
@ 2009-08-12 10:40 ` Gerd Hoffmann
2009-08-12 10:51 ` Avi Kivity
0 siblings, 1 reply; 21+ messages in thread
From: Gerd Hoffmann @ 2009-08-12 10:40 UTC (permalink / raw)
To: Avi Kivity; +Cc: Christoph Hellwig, qemu-devel
On 08/12/09 12:19, Gerd Hoffmann wrote:
> On 08/12/09 12:00, Avi Kivity wrote:
>> What about qemu-kvm.git (and its bios)?
>
> Works:
>
> ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [LNKB] -> GSI 10 (level,
> high) -> IRQ 10
From boot log diff:
--- qemu.log 2009-08-12 12:26:30.000000000 +0200
+++ kvm.log 2009-08-12 12:20:22.000000000 +0200
@@ -26,21 +26,43 @@
ACPI: PM-Timer IO Port: 0xb008
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
-Processor #0 6:2 APIC version 17
+Processor #0 6:2 APIC version 20
Where does this come from? kernel vs. userspace apic?
+ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
+ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] disabled)
[ more of these ]
For hotplug cpus I guess?
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
+ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
+ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
+ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
+ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
+ACPI: IRQ5 used by override.
ACPI: IRQ9 used by override.
+ACPI: IRQ10 used by override.
+ACPI: IRQ11 used by override.
!!!
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
-ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 12)
-ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *9 10 11 12)
-ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 *11 12)
-ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *9 10 11 12)
+ACPI: PCI Interrupt Link [LNKA] (IRQs 5 *10 11)
+ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
+ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
+ACPI: PCI Interrupt Link [LNKD] (IRQs 5 10 *11)
!!!
That indeed looks like a bunch of changes and/or fixes did not find the
way to upstream qemu ...
cheers,
Gerd
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-12 10:40 ` Gerd Hoffmann
@ 2009-08-12 10:51 ` Avi Kivity
2009-08-12 11:45 ` Reimar Döffinger
0 siblings, 1 reply; 21+ messages in thread
From: Avi Kivity @ 2009-08-12 10:51 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: Christoph Hellwig, qemu-devel
On 08/12/2009 01:40 PM, Gerd Hoffmann wrote:
> On 08/12/09 12:19, Gerd Hoffmann wrote:
>> On 08/12/09 12:00, Avi Kivity wrote:
>>> What about qemu-kvm.git (and its bios)?
>>
>> Works:
>>
>> ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [LNKB] -> GSI 10 (level,
>> high) -> IRQ 10
>
> From boot log diff:
>
> --- qemu.log 2009-08-12 12:26:30.000000000 +0200
> +++ kvm.log 2009-08-12 12:20:22.000000000 +0200
> @@ -26,21 +26,43 @@
> ACPI: PM-Timer IO Port: 0xb008
> ACPI: Local APIC address 0xfee00000
> ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
> -Processor #0 6:2 APIC version 17
> +Processor #0 6:2 APIC version 20
>
> Where does this come from? kernel vs. userspace apic?
Likely.
>
> +ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
> +ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] disabled)
> [ more of these ]
>
> For hotplug cpus I guess?
Yes.
>
> ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> +ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
> +ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
> +ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
> +ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
> ACPI: IRQ0 used by override.
> ACPI: IRQ2 used by override.
> +ACPI: IRQ5 used by override.
> ACPI: IRQ9 used by override.
> +ACPI: IRQ10 used by override.
> +ACPI: IRQ11 used by override.
>
> !!!
The qemu ioapic doesn't implement polarity, so it happily boots with the
lines inverted.
> ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
> -ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 12)
> -ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *9 10 11 12)
> -ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 *11 12)
> -ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *9 10 11 12)
> +ACPI: PCI Interrupt Link [LNKA] (IRQs 5 *10 11)
> +ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
> +ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
> +ACPI: PCI Interrupt Link [LNKD] (IRQs 5 10 *11)
>
> !!!
>
> That indeed looks like a bunch of changes and/or fixes did not find
> the way to upstream qemu ...
Yeah.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-12 10:51 ` Avi Kivity
@ 2009-08-12 11:45 ` Reimar Döffinger
0 siblings, 0 replies; 21+ messages in thread
From: Reimar Döffinger @ 2009-08-12 11:45 UTC (permalink / raw)
To: qemu-devel
On Wed, Aug 12, 2009 at 01:51:23PM +0300, Avi Kivity wrote:
> On 08/12/2009 01:40 PM, Gerd Hoffmann wrote:
> > ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> > +ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
> > +ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
> > +ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
> > +ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
> > ACPI: IRQ0 used by override.
> > ACPI: IRQ2 used by override.
> > +ACPI: IRQ5 used by override.
> > ACPI: IRQ9 used by override.
> > +ACPI: IRQ10 used by override.
> > +ACPI: IRQ11 used by override.
> >
> > !!!
>
> The qemu ioapic doesn't implement polarity, so it happily boots with the
> lines inverted.
>
> > ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
> > -ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 12)
> > -ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *9 10 11 12)
> > -ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 *11 12)
> > -ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *9 10 11 12)
> > +ACPI: PCI Interrupt Link [LNKA] (IRQs 5 *10 11)
> > +ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
> > +ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
> > +ACPI: PCI Interrupt Link [LNKD] (IRQs 5 10 *11)
> >
> > !!!
> >
> > That indeed looks like a bunch of changes and/or fixes did not find
> > the way to upstream qemu ...
>
> Yeah.
I don't have much of a clue, but I in case it matters can say that with
qemu-kvm latest git I had quite a few issues with the eepro100 interrupts
never being processed (that was Mac OS X though), probably getting lost somewhere.
So I'd be very careful about some of those changes (I was too lazy to
investigate, since qemu --enable-kvm just worked ;-) )...
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-12 10:00 ` Avi Kivity
2009-08-12 10:19 ` Gerd Hoffmann
@ 2009-08-12 21:50 ` Christoph Hellwig
2009-08-12 22:01 ` Anthony Liguori
1 sibling, 1 reply; 21+ messages in thread
From: Christoph Hellwig @ 2009-08-12 21:50 UTC (permalink / raw)
To: Avi Kivity; +Cc: qemu-devel, Gerd Hoffmann, Christoph Hellwig
On Wed, Aug 12, 2009 at 01:00:59PM +0300, Avi Kivity wrote:
> >Looks like a irq routing issue ...
>
> What about qemu-kvm.git (and its bios)? There was a lot of irq routing
> work there, maybe not all of it made it into qemu.git.
Yeah, qemu-kvm works just fine. The amount of irq routing trouble I see
with virtio and upstream qemu is getting really annoying :P
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-12 10:08 ` Gerd Hoffmann
@ 2009-08-12 21:54 ` Christoph Hellwig
0 siblings, 0 replies; 21+ messages in thread
From: Christoph Hellwig @ 2009-08-12 21:54 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: Christoph Hellwig, qemu-devel
On Wed, Aug 12, 2009 at 12:08:53PM +0200, Gerd Hoffmann wrote:
> With acpi=off the box boots just fine for me with the virtio disk in
> slot #6.
Yes, acpi=off fixes it for me too, and I also see the changes in the
interrupt routing.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-12 21:50 ` Christoph Hellwig
@ 2009-08-12 22:01 ` Anthony Liguori
2009-08-13 9:00 ` Avi Kivity
0 siblings, 1 reply; 21+ messages in thread
From: Anthony Liguori @ 2009-08-12 22:01 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Gerd Hoffmann, Avi Kivity, qemu-devel
Christoph Hellwig wrote:
> On Wed, Aug 12, 2009 at 01:00:59PM +0300, Avi Kivity wrote:
>
>>> Looks like a irq routing issue ...
>>>
>> What about qemu-kvm.git (and its bios)? There was a lot of irq routing
>> work there, maybe not all of it made it into qemu.git.
>>
>
> Yeah, qemu-kvm works just fine. The amount of irq routing trouble I see
> with virtio and upstream qemu is getting really annoying :P
>
Where were the irq routing trouble fixes in qemu-kvm? Was it fixes in
the BIOS?
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-12 22:01 ` Anthony Liguori
@ 2009-08-13 9:00 ` Avi Kivity
2009-08-13 12:07 ` Gerd Hoffmann
2009-08-13 12:47 ` Gerd Hoffmann
0 siblings, 2 replies; 21+ messages in thread
From: Avi Kivity @ 2009-08-13 9:00 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Gerd Hoffmann, Christoph Hellwig, qemu-devel
On 08/13/2009 01:01 AM, Anthony Liguori wrote:
> Christoph Hellwig wrote:
>> On Wed, Aug 12, 2009 at 01:00:59PM +0300, Avi Kivity wrote:
>>>> Looks like a irq routing issue ...
>>> What about qemu-kvm.git (and its bios)? There was a lot of irq
>>> routing work there, maybe not all of it made it into qemu.git.
>>
>> Yeah, qemu-kvm works just fine. The amount of irq routing trouble I see
>> with virtio and upstream qemu is getting really annoying :P
>
> Where were the irq routing trouble fixes in qemu-kvm? Was it fixes in
> the BIOS?
>
I think so, but not 100% sure.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-13 9:00 ` Avi Kivity
@ 2009-08-13 12:07 ` Gerd Hoffmann
2009-08-13 12:47 ` Gerd Hoffmann
1 sibling, 0 replies; 21+ messages in thread
From: Gerd Hoffmann @ 2009-08-13 12:07 UTC (permalink / raw)
To: Avi Kivity; +Cc: Christoph Hellwig, qemu-devel
[-- Attachment #1: Type: text/plain, Size: 788 bytes --]
On 08/13/09 11:00, Avi Kivity wrote:
> On 08/13/2009 01:01 AM, Anthony Liguori wrote:
>> Christoph Hellwig wrote:
>>> On Wed, Aug 12, 2009 at 01:00:59PM +0300, Avi Kivity wrote:
>>>>> Looks like a irq routing issue ...
>>>> What about qemu-kvm.git (and its bios)? There was a lot of irq
>>>> routing work there, maybe not all of it made it into qemu.git.
>>>
>>> Yeah, qemu-kvm works just fine. The amount of irq routing trouble I see
>>> with virtio and upstream qemu is getting really annoying :P
>>
>> Where were the irq routing trouble fixes in qemu-kvm? Was it fixes in
>> the BIOS?
>>
>
> I think so, but not 100% sure.
Diffing acpi-dsdt.dsl gives a number of irq related differences which
look like we wanna have them in upstream qemu.
Complete diff attached.
cheers,
Gerd
[-- Attachment #2: fix --]
[-- Type: text/plain, Size: 7729 bytes --]
--- ./acpi-dsdt.dsl 2009-08-13 13:43:04.000000000 +0200
+++ /home/kraxel/tmp/kvm/kvm/bios/acpi-dsdt.dsl 2009-08-12 12:12:22.000000000 +0200
@@ -47,6 +47,7 @@ DefinitionBlock (
section 6.2.8.1 */
/* Note: we provide the same info as the PCI routing
table of the Bochs BIOS */
+
#define prt_slot(nr, lnk0, lnk1, lnk2, lnk3) \
Package() { nr##ffff, 0, lnk0, 0 }, \
Package() { nr##ffff, 1, lnk1, 0 }, \
@@ -57,6 +58,7 @@ DefinitionBlock (
#define prt_slot1(nr) prt_slot(nr, LNKA, LNKB, LNKC, LNKD)
#define prt_slot2(nr) prt_slot(nr, LNKB, LNKC, LNKD, LNKA)
#define prt_slot3(nr) prt_slot(nr, LNKC, LNKD, LNKA, LNKB)
+
prt_slot0(0x0000),
prt_slot1(0x0001),
prt_slot2(0x0002),
@@ -441,8 +443,8 @@ DefinitionBlock (
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 1)
Name(_PRS, ResourceTemplate(){
- IRQ (Level, ActiveLow, Shared)
- {3,4,5,6,7,9,10,11,12}
+ Interrupt (, Level, ActiveHigh, Shared)
+ { 5, 10, 11 }
})
Method (_STA, 0, NotSerialized)
{
@@ -461,14 +463,14 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- IRQ (Level, ActiveLow, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{1}
})
- CreateWordField (PRR0, 0x01, TMP)
+ CreateDWordField (PRR0, 0x05, TMP)
Store (PRQ0, Local0)
If (LLess (Local0, 0x80))
{
- ShiftLeft (One, Local0, TMP)
+ Store (Local0, TMP)
}
Else
{
@@ -478,18 +480,16 @@ DefinitionBlock (
}
Method (_SRS, 1, NotSerialized)
{
- CreateWordField (Arg0, 0x01, TMP)
- FindSetRightBit (TMP, Local0)
- Decrement (Local0)
- Store (Local0, PRQ0)
+ CreateDWordField (Arg0, 0x05, TMP)
+ Store (TMP, PRQ0)
}
}
Device(LNKB){
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 2)
Name(_PRS, ResourceTemplate(){
- IRQ (Level, ActiveLow, Shared)
- {3,4,5,6,7,9,10,11,12}
+ Interrupt (, Level, ActiveHigh, Shared)
+ { 5, 10, 11 }
})
Method (_STA, 0, NotSerialized)
{
@@ -508,14 +508,14 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- IRQ (Level, ActiveLow, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{1}
})
- CreateWordField (PRR0, 0x01, TMP)
+ CreateDWordField (PRR0, 0x05, TMP)
Store (PRQ1, Local0)
If (LLess (Local0, 0x80))
{
- ShiftLeft (One, Local0, TMP)
+ Store (Local0, TMP)
}
Else
{
@@ -525,18 +525,16 @@ DefinitionBlock (
}
Method (_SRS, 1, NotSerialized)
{
- CreateWordField (Arg0, 0x01, TMP)
- FindSetRightBit (TMP, Local0)
- Decrement (Local0)
- Store (Local0, PRQ1)
+ CreateDWordField (Arg0, 0x05, TMP)
+ Store (TMP, PRQ1)
}
}
Device(LNKC){
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 3)
Name(_PRS, ResourceTemplate(){
- IRQ (Level, ActiveLow, Shared)
- {3,4,5,6,7,9,10,11,12}
+ Interrupt (, Level, ActiveHigh, Shared)
+ { 5, 10, 11 }
})
Method (_STA, 0, NotSerialized)
{
@@ -555,14 +553,14 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- IRQ (Level, ActiveLow, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{1}
})
- CreateWordField (PRR0, 0x01, TMP)
+ CreateDWordField (PRR0, 0x05, TMP)
Store (PRQ2, Local0)
If (LLess (Local0, 0x80))
{
- ShiftLeft (One, Local0, TMP)
+ Store (Local0, TMP)
}
Else
{
@@ -572,18 +570,16 @@ DefinitionBlock (
}
Method (_SRS, 1, NotSerialized)
{
- CreateWordField (Arg0, 0x01, TMP)
- FindSetRightBit (TMP, Local0)
- Decrement (Local0)
- Store (Local0, PRQ2)
+ CreateDWordField (Arg0, 0x05, TMP)
+ Store (TMP, PRQ2)
}
}
Device(LNKD){
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 4)
Name(_PRS, ResourceTemplate(){
- IRQ (Level, ActiveLow, Shared)
- {3,4,5,6,7,9,10,11,12}
+ Interrupt (, Level, ActiveHigh, Shared)
+ { 5, 10, 11 }
})
Method (_STA, 0, NotSerialized)
{
@@ -602,14 +598,14 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- IRQ (Level, ActiveLow, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{1}
})
- CreateWordField (PRR0, 0x01, TMP)
+ CreateDWordField (PRR0, 0x05, TMP)
Store (PRQ3, Local0)
If (LLess (Local0, 0x80))
{
- ShiftLeft (One, Local0, TMP)
+ Store (Local0, TMP)
}
Else
{
@@ -619,10 +615,8 @@ DefinitionBlock (
}
Method (_SRS, 1, NotSerialized)
{
- CreateWordField (Arg0, 0x01, TMP)
- FindSetRightBit (TMP, Local0)
- Decrement (Local0)
- Store (Local0, PRQ3)
+ CreateDWordField (Arg0, 0x05, TMP)
+ Store (TMP, PRQ3)
}
}
}
@@ -703,11 +697,13 @@ DefinitionBlock (
gen_pci_hotplug(31)
Return (0x01)
-
- }
- Method(_L02) {
- Return(0x01)
}
+
+ /*
+ * Method _02 will be provided by the SSDT as it needs to call
+ * into the Processor methods (_PR.PRSC()).
+ */
+
Method(_L03) {
Return(0x01)
}
@@ -748,5 +744,4 @@ DefinitionBlock (
Return(0x01)
}
}
-
}
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-13 9:00 ` Avi Kivity
2009-08-13 12:07 ` Gerd Hoffmann
@ 2009-08-13 12:47 ` Gerd Hoffmann
2009-08-13 13:15 ` Anthony Liguori
1 sibling, 1 reply; 21+ messages in thread
From: Gerd Hoffmann @ 2009-08-13 12:47 UTC (permalink / raw)
To: Avi Kivity; +Cc: Christoph Hellwig, qemu-devel
[-- Attachment #1: Type: text/plain, Size: 355 bytes --]
On 08/13/09 11:00, Avi Kivity wrote:
>> Where were the irq routing trouble fixes in qemu-kvm? Was it fixes in
>> the BIOS?
>
> I think so, but not 100% sure.
Lets start with the attached fix. bochs build system doesn't compile
the dsdt. Which implies that the patches in pc-bios/bios-pq/ which
change the dsdt have no effect at all.
cheers,
Gerd
[-- Attachment #2: 0002-actually-compile-dsdt.patch --]
[-- Type: text/plain, Size: 777 bytes --]
>From 6f50c206451bd8454ba0c1ec72728257946de65c Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Thu, 13 Aug 2009 14:33:11 +0200
Subject: [PATCH 2/2] actually compile dsdt
---
bios/Makefile.in | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/bios/Makefile.in b/bios/Makefile.in
index 28ada75..7d8a65a 100644
--- a/bios/Makefile.in
+++ b/bios/Makefile.in
@@ -103,13 +103,11 @@ rombios32.out: rombios32start.o rombios32.o rombios32.ld
rombios32.o: rombios32.c acpi-dsdt.hex
$(GCC32) -O2 -Wall -c -o $@ $<
-ifeq ("1", "0")
acpi-dsdt.hex: acpi-dsdt.dsl
cpp -P $< $<.i
iasl -tc -p $@ $<.i
rm $<.i
sed -i -e's/^unsigned/const unsigned/' $@
-endif
rombios32start.o: rombios32start.S
$(GCC32) -c -o $@ $<
--
1.6.2.5
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-13 12:47 ` Gerd Hoffmann
@ 2009-08-13 13:15 ` Anthony Liguori
2009-08-13 13:38 ` Gerd Hoffmann
0 siblings, 1 reply; 21+ messages in thread
From: Anthony Liguori @ 2009-08-13 13:15 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: qemu-devel, Avi Kivity, Christoph Hellwig
Gerd Hoffmann wrote:
> On 08/13/09 11:00, Avi Kivity wrote:
>>> Where were the irq routing trouble fixes in qemu-kvm? Was it fixes in
>>> the BIOS?
>>
>> I think so, but not 100% sure.
>
> Lets start with the attached fix. bochs build system doesn't compile
> the dsdt. Which implies that the patches in pc-bios/bios-pq/ which
> change the dsdt have no effect at all.
When I rebuild the bios locally, I manually change this in the generated
Makefile.
But I'm going to merge a git submodule for bochs bios today into the
tree. The Makefile in that tree already has this bit removed.
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Qemu-devel] virtio-blk/qdev failure in the current git tree
2009-08-13 13:15 ` Anthony Liguori
@ 2009-08-13 13:38 ` Gerd Hoffmann
0 siblings, 0 replies; 21+ messages in thread
From: Gerd Hoffmann @ 2009-08-13 13:38 UTC (permalink / raw)
To: Anthony Liguori; +Cc: qemu-devel, Avi Kivity, Christoph Hellwig
On 08/13/09 15:15, Anthony Liguori wrote:
> Gerd Hoffmann wrote:
>> On 08/13/09 11:00, Avi Kivity wrote:
>>>> Where were the irq routing trouble fixes in qemu-kvm? Was it fixes in
>>>> the BIOS?
>>>
>>> I think so, but not 100% sure.
>>
>> Lets start with the attached fix. bochs build system doesn't compile
>> the dsdt. Which implies that the patches in pc-bios/bios-pq/ which
>> change the dsdt have no effect at all.
>
> When I rebuild the bios locally, I manually change this in the generated
> Makefile.
Hmm, strange. With the patch applied on top of the others I get a
working bios when building according to the instructions in
pc-bios/README. The prebuild bios.bin doesn't work for me though.
cheers,
Gerd
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2009-08-13 13:38 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-10 23:56 [Qemu-devel] virtio-blk/qdev failure in the current git tree Christoph Hellwig
2009-08-11 0:29 ` Anthony Liguori
2009-08-11 16:13 ` Christoph Hellwig
2009-08-11 16:36 ` Christoph Hellwig
2009-08-11 18:45 ` Anthony Liguori
2009-08-11 19:28 ` Gerd Hoffmann
2009-08-12 9:26 ` Gerd Hoffmann
2009-08-12 10:00 ` Avi Kivity
2009-08-12 10:19 ` Gerd Hoffmann
2009-08-12 10:40 ` Gerd Hoffmann
2009-08-12 10:51 ` Avi Kivity
2009-08-12 11:45 ` Reimar Döffinger
2009-08-12 21:50 ` Christoph Hellwig
2009-08-12 22:01 ` Anthony Liguori
2009-08-13 9:00 ` Avi Kivity
2009-08-13 12:07 ` Gerd Hoffmann
2009-08-13 12:47 ` Gerd Hoffmann
2009-08-13 13:15 ` Anthony Liguori
2009-08-13 13:38 ` Gerd Hoffmann
2009-08-12 10:08 ` Gerd Hoffmann
2009-08-12 21:54 ` Christoph Hellwig
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.