kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: klondike <franxisco1988@gmail.com>
Cc: Nikola Ciprich <extmaillist@linuxbox.cz>,
	kvm@vger.kernel.org, Avi Kivity <avi@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>
Subject: [PATCH] qemu-kvm: Fix non-PCI target build
Date: Wed, 23 Feb 2011 09:28:53 +0100	[thread overview]
Message-ID: <4D64C545.3020205@siemens.com> (raw)
In-Reply-To: <4D64BFD1.2020602@gmail.com>

On 2011-02-23 09:05, klondike wrote:
> El 23/02/11 08:49, Nikola Ciprich escribió:
>> Hello Avi,
> Hi,
>> when trying to compile(link) various targets, I get:
>>   LINK  sparc-softmmu/qemu-system-sparc
>> pci-stub.o: In function `do_pci_info_print':
>> /usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:36: multiple definition of `do_pci_info_print'
>> pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1398: first defined here
>> /usr/bin/ld: Warning: size of symbol `do_pci_info_print' changed from 147 in pci.o to 50 in pci-stub.o
>> pci-stub.o: In function `do_pci_info':
>> /usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:31: multiple definition of `do_pci_info'
>> pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1560: first defined here
>> /usr/bin/ld: Warning: size of symbol `do_pci_info' changed from 150 in pci.o to 50 in pci-stub.o
>> pci.o: In function `pci_update_mappings':
>> pci.c:(.text+0xa91): undefined reference to `pci_bridge_get_base'
>> pci.c:(.text+0xaa5): undefined reference to `pci_bridge_get_limit'
>> pci.c:(.text+0xb7b): undefined reference to `pci_bridge_get_base'
>> pci.c:(.text+0xb8e): undefined reference to `pci_bridge_get_limit'
>> pci.o: In function `pci_get_devices_list':
>> pci.c:(.text+0x2024): undefined reference to `pci_bridge_get_limit'
>> pci.c:(.text+0x2036): undefined reference to `pci_bridge_get_base'
>> pci.c:(.text+0x2043): undefined reference to `pci_bridge_get_limit'
>> pci.c:(.text+0x2050): undefined reference to `pci_bridge_get_base'
>> pci.c:(.text+0x2060): undefined reference to `pci_bridge_get_limit'
>> pci.c:(.text+0x2070): undefined reference to `pci_bridge_get_base'
>> collect2: ld returned 1 exit status
>> make[1]: *** [qemu-system-sparc] Error 1
>> make: *** [subdir-sparc-softmmu] Error 2
> I hit this problem too and after a long night I tracked it back to some
> odd merge, this patch solved the issue for me.

This unfortunately breaks the build with device assignment enabled.
Patch below is required.

Generally, I would recommend to avoid using the qemu-kvm tree for
anything else than x86 with kvm support. Other use cases ought to work
but are rarely tested. Better pick upstream qemu in this case until we
reduced the diffs between both trees to a much smaller amount.
qemu-kvm-0.15 may become a milestone in this regard.

Jan

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

Replace obsolete qemu-kvm.h with kvm.h in pci.c and build that module
just like upstream does. This fixes non-x86 targets which have no PCI
support.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 Makefile.objs   |    2 +-
 Makefile.target |    2 +-
 hw/pci.c        |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile.objs b/Makefile.objs
index f5702eb..3ec7121 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -170,7 +170,7 @@ hw-obj-y =
 hw-obj-y += loader.o
 hw-obj-$(CONFIG_VIRTIO) += virtio.o virtio-console.o
 hw-obj-y += fw_cfg.o
-hw-obj-$(CONFIG_PCI) += pci_bridge.o
+hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
 hw-obj-$(CONFIG_PCI) += msix.o msi.o
 hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
 hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
diff --git a/Makefile.target b/Makefile.target
index 6e9a024..23367eb 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -195,7 +195,7 @@ endif #CONFIG_BSD_USER
 # System emulator target
 ifdef CONFIG_SOFTMMU
 
-obj-y = arch_init.o cpus.o monitor.o pci.o machine.o gdbstub.o vl.o balloon.o
+obj-y = arch_init.o cpus.o monitor.o machine.o gdbstub.o vl.o balloon.o
 # virtio has to be here due to weird dependency between PCI and virtio-net.
 # need to fix this properly
 obj-$(CONFIG_NO_PCI) += pci-stub.o
diff --git a/hw/pci.c b/hw/pci.c
index 0c44939..1f6cebe 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -29,8 +29,8 @@
 #include "net.h"
 #include "sysemu.h"
 #include "loader.h"
-#include "qemu-kvm.h"
 #include "hw/pc.h"
+#include "kvm.h"
 #include "device-assignment.h"
 #include "qemu-objects.h"
 #include "range.h"
-- 
1.7.1

  parent reply	other threads:[~2011-02-23  8:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-22 17:14 [ANNOUNCE] qemu-kvm-0.14.0 Avi Kivity
2011-02-23  7:49 ` Nikola Ciprich
2011-02-23  8:05   ` klondike
2011-02-23  8:16     ` Nikola Ciprich
2011-02-23  8:29       ` Nikola Ciprich
2011-02-23  8:39         ` klondike
2011-04-29  8:59           ` Bharat Bhushan
2011-02-23  8:28     ` Jan Kiszka [this message]
2011-02-23  8:37       ` [PATCH] qemu-kvm: Fix non-PCI target build klondike
2011-02-27 11:35       ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D64C545.3020205@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=avi@redhat.com \
    --cc=extmaillist@linuxbox.cz \
    --cc=franxisco1988@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).