Skip to contentSkip to conversation

buildbot failure in qemu on default_ppc

Qemu-devel New [email protected] 9 participants 15 messages Jun 4, 2012 – Jun 6, 2012

lore
Share & tools
lore
#0 lore raw

The Buildbot has detected a new failure on builder default_ppc while building qemu. Full details are available at:
http://buildbot.b1-systems.de/qemu/builders/default_ppc/builds/417

Buildbot URL: http://buildbot.b1-systems.de/qemu/

Buildslave for this Build: qemu-ppc.opensuse.org

Build Reason: The Nightly scheduler named 'nightly_default' triggered this build Build Source Stamp: [branch master] HEAD
Blamelist:

BUILD FAILED: failed compile

sincerely,
-The Buildbot

#1 lore raw

Am 05.06.2012 01:33, schrieb [email protected]:

Quoted 6 lines

The Buildbot has detected a new failure on builder default_ppc while building qemu. Full details are available at:
http://buildbot.b1-systems.de/qemu/builders/default_ppc/builds/417

Buildbot URL: http://buildbot.b1-systems.de/qemu/

Quoted 7 lines

Buildslave for this Build: qemu-ppc.opensuse.org

Build Reason: The Nightly scheduler named 'nightly_default' triggered this build Build Source Stamp: [branch master] HEAD
Blamelist:

BUILD FAILED: failed compile

CC ppc-softmmu/kvm-all.o
/home/build/qemu/default_ppc/build/kvm-all.c:66: error: field 'kroute' has incomplete type /home/build/qemu/default_ppc/build/kvm-all.c: In function 'kvm_init':
/home/build/qemu/default_ppc/build/kvm-all.c:1289: error: 'KVMState' has no member named 'direct_msi'
make[1]: *** [kvm-all.o] Error 1
make: *** [subdir-ppc-softmmu] Error 2

/-F

Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
#2 lore raw
Quoted 15 lines · Andreas Färber

Am 05.06.2012 01:33, schrieb [email protected]:

Quoted 6 lines

The Buildbot has detected a new failure on builder default_ppc while building qemu. Full details are available at:
http://buildbot.b1-systems.de/qemu/builders/default_ppc/builds/417

Buildbot URL: http://buildbot.b1-systems.de/qemu/

Quoted 7 lines

Buildslave for this Build: qemu-ppc.opensuse.org

Build Reason: The Nightly scheduler named 'nightly_default' triggered this build Build Source Stamp: [branch master] HEAD
Blamelist:

BUILD FAILED: failed compile

Quoted 8 lines

CC ppc-softmmu/kvm-all.o
/home/build/qemu/default_ppc/build/kvm-all.c:66: error: field 'kroute' has incomplete type /home/build/qemu/default_ppc/build/kvm-all.c: In function 'kvm_init':
/home/build/qemu/default_ppc/build/kvm-all.c:1289: error: 'KVMState' has no member named 'direct_msi'
make[1]: *** [kvm-all.o] Error 1
make: *** [subdir-ppc-softmmu] Error 2

Aren't GSI and even MSI very x86-centric concepts? Why is this code in kvm-all.c to begin with?

Regards,

Anthony Liguori

Quoted 3 lines

/-F

#3 lore raw
Quoted 25 lines · Anthony Liguori
Quoted 15 lines · Andreas Färber

Am 05.06.2012 01:33, schrieb [email protected]:

Quoted 6 lines

The Buildbot has detected a new failure on builder default_ppc while building qemu. Full details are available at:
http://buildbot.b1-systems.de/qemu/builders/default_ppc/builds/417

Buildbot URL: http://buildbot.b1-systems.de/qemu/

Quoted 7 lines

Buildslave for this Build: qemu-ppc.opensuse.org

Build Reason: The Nightly scheduler named 'nightly_default' triggered this build Build Source Stamp: [branch master] HEAD
Blamelist:

BUILD FAILED: failed compile

Quoted 8 lines

CC ppc-softmmu/kvm-all.o
/home/build/qemu/default_ppc/build/kvm-all.c:66: error: field 'kroute' has incomplete type /home/build/qemu/default_ppc/build/kvm-all.c: In function 'kvm_init':
/home/build/qemu/default_ppc/build/kvm-all.c:1289: error: 'KVMState' has no member named 'direct_msi'
make[1]: *** [kvm-all.o] Error 1
make: *** [subdir-ppc-softmmu] Error 2

Quoted 1 line

Aren't GSI and even MSI very x86-centric concepts? Why is this code in kvm-all.c to begin with?

Weren't GSIs a logical APIC map thing? Either way, MSI is not exactly x86-centric. You can easily do MSI on ppc as well. I'm not sure if the way it's implemented and the way we might one day expose it through an in-kernel [X|M]PIC will be identical though.

Alex

#4 lore raw
Quoted 28 lines · Alexander Graf
Quoted 25 lines · Anthony Liguori
Quoted 23 lines · Andreas Färber

Am 05.06.2012 01:33, schrieb [email protected]:

Quoted 6 lines

The Buildbot has detected a new failure on builder default_ppc while building qemu. Full details are available at:
http://buildbot.b1-systems.de/qemu/builders/default_ppc/builds/417

Buildbot URL: http://buildbot.b1-systems.de/qemu/

Quoted 7 lines

Buildslave for this Build: qemu-ppc.opensuse.org

Build Reason: The Nightly scheduler named 'nightly_default' triggered this build Build Source Stamp: [branch master] HEAD
Blamelist:

BUILD FAILED: failed compile

CC ppc-softmmu/kvm-all.o
/home/build/qemu/default_ppc/build/kvm-all.c:66: error: field 'kroute' has incomplete type /home/build/qemu/default_ppc/build/kvm-all.c: In function 'kvm_init':
/home/build/qemu/default_ppc/build/kvm-all.c:1289: error: 'KVMState' has no member named 'direct_msi'
make[1]: *** [kvm-all.o] Error 1
make: *** [subdir-ppc-softmmu] Error 2

Quoted 3 lines
Quoted 1 line

Aren't GSI and even MSI very x86-centric concepts? Why is this code in kvm-all.c to begin with?

Weren't GSIs a logical APIC map thing?

I think GSI is an ACPI concept actually.

Quoted 1 line

Either way, MSI is not exactly x86-centric. You can easily do MSI on ppc as well.

Okay.

Regards,

Anthony Liguori

#5 lore raw
Quoted 29 lines · Anthony Liguori
Quoted 28 lines · Alexander Graf
Quoted 25 lines · Anthony Liguori
Quoted 23 lines · Andreas Färber

Am 05.06.2012 01:33, schrieb [email protected]:

Quoted 6 lines

The Buildbot has detected a new failure on builder default_ppc while building qemu. Full details are available at:
http://buildbot.b1-systems.de/qemu/builders/default_ppc/builds/417

Buildbot URL: http://buildbot.b1-systems.de/qemu/

Quoted 7 lines

Buildslave for this Build: qemu-ppc.opensuse.org

Build Reason: The Nightly scheduler named 'nightly_default' triggered this build Build Source Stamp: [branch master] HEAD
Blamelist:

BUILD FAILED: failed compile

CC ppc-softmmu/kvm-all.o
/home/build/qemu/default_ppc/build/kvm-all.c:66: error: field 'kroute' has incomplete type /home/build/qemu/default_ppc/build/kvm-all.c: In function 'kvm_init':
/home/build/qemu/default_ppc/build/kvm-all.c:1289: error: 'KVMState' has no member named 'direct_msi'
make[1]: *** [kvm-all.o] Error 1
make: *** [subdir-ppc-softmmu] Error 2

Quoted 5 lines
Quoted 3 lines
Quoted 1 line

Aren't GSI and even MSI very x86-centric concepts? Why is this code in kvm-all.c to begin with?

Weren't GSIs a logical APIC map thing?

I think GSI is an ACPI concept actually.

Sorry, too many acronyms. Yeah, I meant ACPI. Though some map was ACPI and another map was Linux specific. I tend to forget which of the 50 layers between hardware and what you see are actually dictated by whom :).

Alex

#6 lore raw
In reply to Anthony Liguori
Quoted 27 lines · Anthony Liguori
Quoted 17 lines · Andreas Färber

Am 05.06.2012 01:33, schrieb [email protected]:

Quoted 7 lines

The Buildbot has detected a new failure on builder default_ppc while building qemu.
Full details are available at:
http://buildbot.b1-systems.de/qemu/builders/default_ppc/builds/417

Buildbot URL: http://buildbot.b1-systems.de/qemu/

Quoted 8 lines

Buildslave for this Build: qemu-ppc.opensuse.org

Build Reason: The Nightly scheduler named 'nightly_default' triggered this build
Build Source Stamp: [branch master] HEAD
Blamelist:

BUILD FAILED: failed compile

Quoted 8 lines

CC ppc-softmmu/kvm-all.o
/home/build/qemu/default_ppc/build/kvm-all.c:66: error: field 'kroute' has incomplete type /home/build/qemu/default_ppc/build/kvm-all.c: In function 'kvm_init':
/home/build/qemu/default_ppc/build/kvm-all.c:1289: error: 'KVMState' has no member named 'direct_msi'
make[1]: *** [kvm-all.o] Error 1
make: *** [subdir-ppc-softmmu] Error 2

Quoted 2 lines

Aren't GSI and even MSI very x86-centric concepts? Why is this code in
kvm-all.c to begin with?

MSI is a PCI thing, and GSI in the context of KVM's in-kernel irqchip is mostly a historic misnomer. It should have been called VIRQ (virtual IRQ), and I'm using this term now wherever possible. Any architecture that will also support in-kernel irqchips with line-based IRQs or irqfd will have to support this concept as well, thus will most probably use the generic code in kvm-all.c.

Jan

#7 lore raw

PATCH 1/1 kvm: Fix build for non-CAP_IRQ_ROUTING targets

In reply to Andreas Färber
Quoted 24 lines · Andreas Färber

Am 05.06.2012 01:33, schrieb [email protected]:

Quoted 6 lines

The Buildbot has detected a new failure on builder default_ppc while building qemu. Full details are available at:
http://buildbot.b1-systems.de/qemu/builders/default_ppc/builds/417

Buildbot URL: http://buildbot.b1-systems.de/qemu/

Quoted 7 lines

Buildslave for this Build: qemu-ppc.opensuse.org

Build Reason: The Nightly scheduler named 'nightly_default' triggered this build Build Source Stamp: [branch master] HEAD
Blamelist:

BUILD FAILED: failed compile

CC ppc-softmmu/kvm-all.o
/home/build/qemu/default_ppc/build/kvm-all.c:66: error: field 'kroute' has incomplete type /home/build/qemu/default_ppc/build/kvm-all.c: In function 'kvm_init':
/home/build/qemu/default_ppc/build/kvm-all.c:1289: error: 'KVMState' has no member named 'direct_msi'
make[1]: *** [kvm-all.o] Error 1
make: *** [subdir-ppc-softmmu] Error 2

Quoted 2 lines

/-F

Sorry for missing this, here is the fix:

-----8<-----

From: Jan Kiszka <[email protected]>

A type definition and a KVMState field initialization escaped the required wrapping with KVM_CAP_IRQ_ROUTING.

---
 kvm-all.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)
kvm-all.c +7 -5
index 489ee53..275dc52 100644
@@ -62,11 +62,6 @@ typedef struct KVMSlot
 
 typedef struct kvm_dirty_log KVMDirtyLog;
 
-typedef struct KVMMSIRoute {
-    struct kvm_irq_routing_entry kroute;
-    QTAILQ_ENTRY(KVMMSIRoute) entry;
-} KVMMSIRoute;
-
 struct KVMState
 {
     KVMSlot slots[32];
@@ -867,6 +862,11 @@ int kvm_irqchip_set_irq(KVMState *s, int irq, int level)
 }
 
 #ifdef KVM_CAP_IRQ_ROUTING
+typedef struct KVMMSIRoute {
+    struct kvm_irq_routing_entry kroute;
+    QTAILQ_ENTRY(KVMMSIRoute) entry;
+} KVMMSIRoute;
+
 static void set_gsi(KVMState *s, unsigned int gsi)
 {
     s->used_gsi_bitmap[gsi / 32] |= 1U << (gsi % 32);
@@ -1286,7 +1286,9 @@ int kvm_init(void)
     s->pit_state2 = kvm_check_extension(s, KVM_CAP_PIT_STATE2);
 #endif
 
+#ifdef KVM_CAP_IRQ_ROUTING
     s->direct_msi = (kvm_check_extension(s, KVM_CAP_SIGNAL_MSI) > 0);
+#endif
 
     ret = kvm_arch_init(s);
     if (ret < 0) {
Signature · 1 line
1.7.3.4
#8 lore raw

PATCH v2 1/1 kvm: Fix build for non-CAP_IRQ_ROUTING targets

A type definition and a KVMState field initialization escaped the required wrapping with KVM_CAP_IRQ_ROUTING. Also, we need to provide a dummy kvm_irqchip_release_virq as virtio-pci references (but does not use) it.

---

Changes in v2:
- include the missing kvm_irqchip_release_virq that Ben Collins found

 kvm-all.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)
kvm-all.c +11 -5
index 489ee53..4ea7d85 100644
@@ -62,11 +62,6 @@ typedef struct KVMSlot
 
 typedef struct kvm_dirty_log KVMDirtyLog;
 
-typedef struct KVMMSIRoute {
-    struct kvm_irq_routing_entry kroute;
-    QTAILQ_ENTRY(KVMMSIRoute) entry;
-} KVMMSIRoute;
-
 struct KVMState
 {
     KVMSlot slots[32];
@@ -867,6 +862,11 @@ int kvm_irqchip_set_irq(KVMState *s, int irq, int level)
 }
 
 #ifdef KVM_CAP_IRQ_ROUTING
+typedef struct KVMMSIRoute {
+    struct kvm_irq_routing_entry kroute;
+    QTAILQ_ENTRY(KVMMSIRoute) entry;
+} KVMMSIRoute;
+
 static void set_gsi(KVMState *s, unsigned int gsi)
 {
     s->used_gsi_bitmap[gsi / 32] |= 1U << (gsi % 32);
@@ -1129,6 +1129,10 @@ static void kvm_init_irq_routing(KVMState *s)
 {
 }
 
+void kvm_irqchip_release_virq(KVMState *s, int virq)
+{
+}
+
 int kvm_irqchip_send_msi(KVMState *s, MSIMessage msg)
 {
     abort();
@@ -1286,7 +1290,9 @@ int kvm_init(void)
     s->pit_state2 = kvm_check_extension(s, KVM_CAP_PIT_STATE2);
 #endif
 
+#ifdef KVM_CAP_IRQ_ROUTING
     s->direct_msi = (kvm_check_extension(s, KVM_CAP_SIGNAL_MSI) > 0);
+#endif
 
     ret = kvm_arch_init(s);
     if (ret < 0) {
Signature · 1 line
1.7.3.4
#9 lore raw

Re: [Qemu-devel] [PATCH v2] kvm: Fix build for non-CAP_IRQ_ROUTING targets

Ack: Ben Collins <[email protected]>

Confirmed that this patch does indeed fix everything for me.

Quoted 65 lines · Jan Kiszka

A type definition and a KVMState field initialization escaped the required wrapping with KVM_CAP_IRQ_ROUTING. Also, we need to provide a dummy kvm_irqchip_release_virq as virtio-pci references (but does not use) it.

---

Changes in v2:
- include the missing kvm_irqchip_release_virq that Ben Collins found

kvm-all.c | 16 +++++++++++-----

1 files changed, 11 insertions(+), 5 deletions(-)
kvm-all.c +0 -5
index 489ee53..4ea7d85 100644
@@ -62,11 +62,6 @@ typedef struct KVMSlot
 
 typedef struct kvm_dirty_log KVMDirtyLog;
 
-typedef struct KVMMSIRoute {
-    struct kvm_irq_routing_entry kroute;
-    QTAILQ_ENTRY(KVMMSIRoute) entry;
-} KVMMSIRoute;
-

struct KVMState

{
    KVMSlot slots[32];
kvm-all.c +11 -0
@@ -867,6 +862,11 @@ int kvm_irqchip_set_irq(KVMState *s, int irq, int level)
 }
 
 #ifdef KVM_CAP_IRQ_ROUTING
+typedef struct KVMMSIRoute {
+    struct kvm_irq_routing_entry kroute;
+    QTAILQ_ENTRY(KVMMSIRoute) entry;
+} KVMMSIRoute;
+
 static void set_gsi(KVMState *s, unsigned int gsi)
 {
    s->used_gsi_bitmap[gsi / 32] |= 1U << (gsi % 32);
@@ -1129,6 +1129,10 @@ static void kvm_init_irq_routing(KVMState *s)
 {
 }
 
+void kvm_irqchip_release_virq(KVMState *s, int virq)
+{
+}
+
 int kvm_irqchip_send_msi(KVMState *s, MSIMessage msg)
 {
    abort();
@@ -1286,7 +1290,9 @@ int kvm_init(void)
    s->pit_state2 = kvm_check_extension(s, KVM_CAP_PIT_STATE2);
 #endif
 
+#ifdef KVM_CAP_IRQ_ROUTING
    s->direct_msi = (kvm_check_extension(s, KVM_CAP_SIGNAL_MSI) > 0);
+#endif
 
    ret = kvm_arch_init(s);
    if (ret < 0) {
Signature · 1 line
1.7.3.4

--
Bluecherry: http://www.bluecherrydvr.com/
SwissDisk : http://www.swissdisk.com/
Ubuntu : http://www.ubuntu.com/
My Blog : http://ben-collins.blogspot.com/

Tested-by on v2 1/1
#10 lore raw

Re: [Qemu-devel] [PATCH v2] kvm: Fix build for non-CAP_IRQ_ROUTING targets

In reply to Jan Kiszka

Am 05.06.2012 21:03, schrieb Jan Kiszka:

Quoted 6 lines

A type definition and a KVMState field initialization escaped the required wrapping with KVM_CAP_IRQ_ROUTING. Also, we need to provide a dummy kvm_irqchip_release_virq as virtio-pci references (but does not use) it.

Thanks,
Andreas

Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
Applied
#11 lore raw

Re: [Qemu-devel] [PATCH v2] kvm: Fix build for non-CAP_IRQ_ROUTING targets

In reply to Jan Kiszka
Quoted 5 lines · Jan Kiszka

A type definition and a KVMState field initialization escaped the required wrapping with KVM_CAP_IRQ_ROUTING. Also, we need to provide a dummy kvm_irqchip_release_virq as virtio-pci references (but does not use) it.

Thanks, applied.

Signature · 1 line
error compiling committee.c: too many arguments to function
#12 lore raw

Re: [Qemu-devel] [PATCH v2] kvm: Fix build for non-CAP_IRQ_ROUTING targets

Quoted 8 lines · Avi Kivity
Quoted 5 lines · Jan Kiszka

A type definition and a KVMState field initialization escaped the required wrapping with KVM_CAP_IRQ_ROUTING. Also, we need to provide a dummy kvm_irqchip_release_virq as virtio-pci references (but does not use) it.

Thanks, applied.

Please send a pull soon.

Jan

Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
#13 lore raw

Re: [Qemu-devel] [PATCH v2] kvm: Fix build for non-CAP_IRQ_ROUTING targets

Quoted 11 lines · Jan Kiszka
Quoted 8 lines · Avi Kivity
Quoted 5 lines · Jan Kiszka

A type definition and a KVMState field initialization escaped the required wrapping with KVM_CAP_IRQ_ROUTING. Also, we need to provide a dummy kvm_irqchip_release_virq as virtio-pci references (but does not use) it.

Thanks, applied.

Please send a pull soon.

It was posted already, I just forgot to copy you.

Signature · 1 line
error compiling committee.c: too many arguments to function
#14 lore raw

Re: [Qemu-devel] [PATCH v2] kvm: Fix build for non-CAP_IRQ_ROUTING targets

Quoted 9 lines · Avi Kivity
Quoted 8 lines · Jan Kiszka
Quoted 7 lines · Avi Kivity
Quoted 5 lines · Jan Kiszka

A type definition and a KVMState field initialization escaped the required wrapping with KVM_CAP_IRQ_ROUTING. Also, we need to provide a dummy kvm_irqchip_release_virq as virtio-pci references (but does not use) it.

Quoted 5 lines
Quoted 3 lines
Quoted 1 line

Thanks, applied.

Please send a pull soon.

It was posted already, I just forgot to copy you.

It's being tested as we type too.

Regards,

Anthony Liguori

Quoted 2 lines