From d298fd0ca46bf23157cac7d398eec15d3ab720bf Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Jun 29 2009 15:13:25 +0000 Subject: Fix hw/pcspk.c build with --disable-kvm --- diff --git a/qemu-fix-pcspk-build-with-kvm-disabled.patch b/qemu-fix-pcspk-build-with-kvm-disabled.patch new file mode 100644 index 0000000..ccf0317 --- /dev/null +++ b/qemu-fix-pcspk-build-with-kvm-disabled.patch @@ -0,0 +1,52 @@ +From 71f761fc6f6289c47fb31ed1ba192f813fb39c58 Mon Sep 17 00:00:00 2001 +From: Mark McLoughlin +Date: Mon, 29 Jun 2009 16:09:45 +0100 +Subject: [PATCH] Fix pcspk build with kvm disabled +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +Errors are: + + hw/pcspk.c:85: error: expected declaration specifiers or ‘...’ before ‘kvm_pit_state’ + hw/pcspk.c:87: error: expected declaration specifiers or ‘...’ before ‘kvm_pit_state’ + hw/pcspk.c: In function ‘pcspk_callback’: + hw/pcspk.c:114: error: too many arguments to function ‘kvm_get_pit_ch2’ + hw/pcspk.c: In function ‘pcspk_ioport_read’: + hw/pcspk.c:161: error: too many arguments to function ‘kvm_get_pit_ch2’ + hw/pcspk.c: In function ‘pcspk_ioport_write’: + hw/pcspk.c:171: error: storage size of ‘inkernel_state’ isn’t known + hw/pcspk.c:175: error: too many arguments to function ‘kvm_get_pit_ch2’ + hw/pcspk.c:185: error: too many arguments to function ‘kvm_set_pit_ch2’ + hw/pcspk.c:171: warning: unused variable ‘inkernel_state’ + +Signed-off-by: Mark McLoughlin +Cc: Jan Kiszka +--- + hw/pcspk.c | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) + +diff --git a/hw/pcspk.c b/hw/pcspk.c +index 9e1b59a..fb823d5 100644 +--- a/hw/pcspk.c ++++ b/hw/pcspk.c +@@ -80,11 +80,15 @@ static void kvm_set_pit_ch2(PITState *pit, + kvm_set_pit(kvm_context, inkernel_state); + } + } +-#else ++#elif defined(USE_KVM) + static inline void kvm_get_pit_ch2(PITState *pit, + kvm_pit_state *inkernel_state) { } + static inline void kvm_set_pit_ch2(PITState *pit, + kvm_pit_state *inkernel_state) { } ++#else ++typedef struct kvm_pit_state { char dummy; } kvm_pit_state; ++#define kvm_get_pit_ch2(p, s) do { (void)s; } while(0) ++#define kvm_set_pit_ch2(p, s) do { (void)s; } while(0) + #endif + + static inline void generate_samples(PCSpkState *s) +-- +1.6.2.5 + diff --git a/qemu.spec b/qemu.spec index 6c3fa0b..b77e0dc 100644 --- a/qemu.spec +++ b/qemu.spec @@ -25,6 +25,9 @@ Patch02: qemu-fix-ppc-softmmu-kvm-disabled-build.patch # Works around broken linux-user build on ppc Patch03: qemu-fix-broken-elf-coredump-build-on-ppc.patch +# Fix for hw/pcspk.c errors with --disable-kvm +Patch04: qemu-fix-pcspk-build-with-kvm-disabled.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -208,6 +211,7 @@ such as kvmtrace and kvm_stat. %patch01 -p1 %patch02 -p1 %patch03 -p1 +%patch04 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -456,6 +460,7 @@ fi - Drop upstreamed patches - Cherry-pick new ppc build fix from upstream - Work around broken linux-user build on ppc +- Fix hw/pcspk.c build with --disable-kvm - Re-enable preadv()/pwritev() since #497429 is long since fixed * Fri Jun 5 2009 Mark McLoughlin - 2:0.10.50-6.kvm86