From bc0345fd4ca78cf56e18ba622d35d0352698cf57 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Jun 29 2009 12:08:17 +0000 Subject: Cherry-pick new ppc build fix from upstream --- diff --git a/kvm-upstream-ppc.patch b/kvm-upstream-ppc.patch deleted file mode 100644 index 12382ba..0000000 --- a/kvm-upstream-ppc.patch +++ /dev/null @@ -1,72 +0,0 @@ -From d1f92ec1f31fa25b447c8c54ccb36f33da97af69 Mon Sep 17 00:00:00 2001 -From: Glauber Costa -Date: Wed, 24 Jun 2009 14:22:57 +0100 -Subject: [PATCH] use KVM_UPSTREAM for ppc. - -ppc should compile with upstream qemu code, so, put these -defines in ppc specific code that references kvm functions. - -We don put them in config.h in this case, since there are -files (like vl.c) that includes both kvm.h and qemu-kvm.h, -and would break compilation. - -Signed-off-by: Glauber Costa -Signed-off-by: Mark McLoughlin ---- - hw/ppc440.c | 1 + - hw/ppc440_bamboo.c | 1 + - hw/ppce500_mpc8544ds.c | 1 + - target-ppc/helper.c | 1 + - 4 files changed, 4 insertions(+), 0 deletions(-) - -diff --git a/hw/ppc440.c b/hw/ppc440.c -index 00d82e4..164c326 100644 ---- a/hw/ppc440.c -+++ b/hw/ppc440.c -@@ -18,6 +18,7 @@ - #include "ppc440.h" - #include "ppc405.h" - #include "sysemu.h" -+#define KVM_UPSTREAM - #include "kvm.h" - - #define PPC440EP_PCI_CONFIG 0xeec00000 -diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c -index 00aa2c7..565571d 100644 ---- a/hw/ppc440_bamboo.c -+++ b/hw/ppc440_bamboo.c -@@ -19,6 +19,7 @@ - #include "boards.h" - #include "sysemu.h" - #include "ppc440.h" -+#define KVM_UPSTREAM - #include "kvm.h" - #include "kvm_ppc.h" - #include "device_tree.h" -diff --git a/hw/ppce500_mpc8544ds.c b/hw/ppce500_mpc8544ds.c -index d9ed36c..49cc135 100644 ---- a/hw/ppce500_mpc8544ds.c -+++ b/hw/ppce500_mpc8544ds.c -@@ -16,6 +16,7 @@ - - #include - -+#define KVM_UPSTREAM - #include "config.h" - #include "qemu-common.h" - #include "net.h" -diff --git a/target-ppc/helper.c b/target-ppc/helper.c -index 5a7a935..c150432 100644 ---- a/target-ppc/helper.c -+++ b/target-ppc/helper.c -@@ -28,6 +28,7 @@ - #include "exec-all.h" - #include "helper_regs.h" - #include "qemu-common.h" -+#define KVM_UPSTREAM - #include "kvm.h" - - //#define DEBUG_MMU --- -1.6.2.2 - diff --git a/qemu-bios-bigger-roms.patch b/qemu-bios-bigger-roms.patch index aa76735..112ee92 100644 --- a/qemu-bios-bigger-roms.patch +++ b/qemu-bios-bigger-roms.patch @@ -1,4 +1,4 @@ -From f5042b31db5e1270f7bd96a6f4b20fd63dcb013b Mon Sep 17 00:00:00 2001 +From 8b08062b369c913c9b9a66c20618f9bd82a6b676 Mon Sep 17 00:00:00 2001 From: Glauber Costa Date: Wed, 24 Jun 2009 14:31:41 +0100 Subject: [PATCH] compute checksum for roms bigger than a segment @@ -76,5 +76,5 @@ index 6186199..fc289c0 100644 -- -1.6.2.2 +1.6.2.5 diff --git a/qemu-fix-ppc-softmmu-kvm-disabled-build.patch b/qemu-fix-ppc-softmmu-kvm-disabled-build.patch new file mode 100644 index 0000000..314488f --- /dev/null +++ b/qemu-fix-ppc-softmmu-kvm-disabled-build.patch @@ -0,0 +1,97 @@ +From 398e45e57ee98e9d1a7387816b53d7038d1c3283 Mon Sep 17 00:00:00 2001 +From: Anthony Liguori +Date: Wed, 24 Jun 2009 14:25:15 -0500 +Subject: [PATCH] Fix ppc-softmmu kvm-disabled build + +This gets ppc-softmmu building when KVM is not enabled. It may be enough to get +it working with KVM enabled but I haven't checked. + +(cherry picked from commit 9011bae8e2101095aae53f1f1553ca3e72919f9b) + +Signed-off-by: Anthony Liguori +Signed-off-by: Avi Kivity +Signed-off-by: Mark McLoughlin +--- + hw/ppc440.c | 1 + + hw/ppc440_bamboo.c | 1 + + hw/ppce500_mpc8544ds.c | 1 + + qemu-kvm.h | 1 + + target-ppc/helper.c | 1 + + target-ppc/machine.c | 1 + + 6 files changed, 6 insertions(+), 0 deletions(-) + +diff --git a/hw/ppc440.c b/hw/ppc440.c +index 00d82e4..c2c9e65 100644 +--- a/hw/ppc440.c ++++ b/hw/ppc440.c +@@ -19,6 +19,7 @@ + #include "ppc405.h" + #include "sysemu.h" + #include "kvm.h" ++#include "qemu-kvm.h" + + #define PPC440EP_PCI_CONFIG 0xeec00000 + #define PPC440EP_PCI_INTACK 0xeed00000 +diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c +index 00aa2c7..e4aad39 100644 +--- a/hw/ppc440_bamboo.c ++++ b/hw/ppc440_bamboo.c +@@ -22,6 +22,7 @@ + #include "kvm.h" + #include "kvm_ppc.h" + #include "device_tree.h" ++#include "qemu-kvm.h" + + #define BINARY_DEVICE_TREE_FILE "bamboo.dtb" + +diff --git a/hw/ppce500_mpc8544ds.c b/hw/ppce500_mpc8544ds.c +index d9ed36c..1099b99 100644 +--- a/hw/ppce500_mpc8544ds.c ++++ b/hw/ppce500_mpc8544ds.c +@@ -29,6 +29,7 @@ + #include "device_tree.h" + #include "openpic.h" + #include "ppce500.h" ++#include "qemu-kvm.h" + + #define BINARY_DEVICE_TREE_FILE "mpc8544ds.dtb" + #define UIMAGE_LOAD_BASE 0 +diff --git a/qemu-kvm.h b/qemu-kvm.h +index 68a5b40..9341d0c 100644 +--- a/qemu-kvm.h ++++ b/qemu-kvm.h +@@ -169,6 +169,7 @@ int kvm_has_sync_mmu(void); + void kvm_init_vcpu(CPUState *env); + void kvm_load_tsc(CPUState *env); + #else ++#define kvm_has_sync_mmu() (0) + #define kvm_enabled() (0) + #define kvm_nested 0 + #define qemu_kvm_irqchip_in_kernel() (0) +diff --git a/target-ppc/helper.c b/target-ppc/helper.c +index 5a7a935..3629c99 100644 +--- a/target-ppc/helper.c ++++ b/target-ppc/helper.c +@@ -29,6 +29,7 @@ + #include "helper_regs.h" + #include "qemu-common.h" + #include "kvm.h" ++#include "qemu-kvm.h" + + //#define DEBUG_MMU + //#define DEBUG_BATS +diff --git a/target-ppc/machine.c b/target-ppc/machine.c +index 99ba3eb..ec8e197 100644 +--- a/target-ppc/machine.c ++++ b/target-ppc/machine.c +@@ -1,6 +1,7 @@ + #include "hw/hw.h" + #include "hw/boards.h" + #include "kvm.h" ++#include "qemu-kvm.h" + + void cpu_save(QEMUFile *f, void *opaque) + { +-- +1.6.2.5 + diff --git a/qemu.spec b/qemu.spec index c052899..3822537 100644 --- a/qemu.spec +++ b/qemu.spec @@ -16,11 +16,11 @@ Source0: http://download.sourceforge.net/sourceforge/kvm/qemu-%{kvmverfull}.tar. Source1: qemu.init Source2: kvm.modules -# Hack until merge happens upstream -Patch01: kvm-upstream-ppc.patch - # Not upstream, why? -Patch02: qemu-bios-bigger-roms.patch +Patch01: qemu-bios-bigger-roms.patch + +# Fixes ppc build, cherry-picked from upstream +Patch02: qemu-fix-ppc-softmmu-kvm-disabled-build.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel @@ -202,8 +202,8 @@ such as kvmtrace and kvm_stat. %prep %setup -q -n qemu-%{kvmverfull} -%patch01 -p1 -b .kvm-upstream-ppc -%patch02 -p1 -b .bios-bigger-roms +%patch01 -p1 +%patch02 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -450,6 +450,7 @@ fi * Sat Jun 27 2009 Mark McLoughlin - 2:0.10.50-7.kvm87 - Update to kvm-87 - Drop upstreamed patches +- Cherry-pick new ppc build fix from upstream - Re-enable preadv()/pwritev() since #497429 is long since fixed * Fri Jun 5 2009 Mark McLoughlin - 2:0.10.50-6.kvm86