[qemu/f18] add system targets that require pre-built firmware

bonzini bonzini at fedoraproject.org
Fri Oct 19 09:48:46 UTC 2012


commit c32efea44f878a4f067fea26098823619feac8c7
Author: Paolo Bonzini <pbonzini at redhat.com>
Date:   Fri Oct 19 10:14:23 2012 +0200

    add system targets that require pre-built firmware

 qemu.spec |  103 ++++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 88 insertions(+), 15 deletions(-)
---
diff --git a/qemu.spec b/qemu.spec
index 5b478e1..961a048 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -80,13 +80,16 @@
 # If not kvmonly, build all packages and give them normal names. qemu-kvm
 # is a simple wrapper package and is only build for archs that support KVM.
 %global user          user
+%global system_alpha  system-alpha
 %global system_arm    system-arm
 %global system_cris   system-cris
 %global system_lm32   system-lm32
 %global system_m68k   system-m68k
+%global system_microblaze   system-microblaze
 %global system_mips   system-mips
 %global system_or32   system-or32
 %global system_ppc    system-ppc
+%global system_s390x  system-s390x
 %global system_sh4    system-sh4
 %global system_sparc  system-sparc
 %global system_x86    system-x86
@@ -94,8 +97,8 @@
 %global system_unicore32   system-unicore32
 %endif
 
-# libfdt is only needed to build ARM and PPC emulators
-%if 0%{?system_arm:1}%{?system_ppc:1}
+# libfdt is only needed to build ARM, Microblaze or PPC emulators
+%if 0%{?system_arm:1}%{?system_microblaze:1}%{?system_ppc:1}
 %global need_fdt      1
 %endif
 
@@ -334,6 +337,9 @@ BuildRequires: libcap-devel
 %if 0%{?user:1}
 Requires: %{name}-%{user} = %{epoch}:%{version}-%{release}
 %endif
+%if 0%{?system_alpha:1}
+Requires: %{name}-%{system_alpha} = %{epoch}:%{version}-%{release}
+%endif
 %if 0%{?system_arm:1}
 Requires: %{name}-%{system_arm} = %{epoch}:%{version}-%{release}
 %endif
@@ -346,6 +352,9 @@ Requires: %{name}-%{system_lm32} = %{epoch}:%{version}-%{release}
 %if 0%{?system_m68k:1}
 Requires: %{name}-%{system_m68k} = %{epoch}:%{version}-%{release}
 %endif
+%if 0%{?system_microblaze:1}
+Requires: %{name}-%{system_microblaze} = %{epoch}:%{version}-%{release}
+%endif
 %if 0%{?system_mips:1}
 Requires: %{name}-%{system_mips} = %{epoch}:%{version}-%{release}
 %endif
@@ -355,6 +364,9 @@ Requires: %{name}-%{system_or32} = %{epoch}:%{version}-%{release}
 %if 0%{?system_ppc:1}
 Requires: %{name}-%{system_ppc} = %{epoch}:%{version}-%{release}
 %endif
+%if 0%{?system_s390x:1}
+Requires: %{name}-%{system_s390x} = %{epoch}:%{version}-%{release}
+%endif
 %if 0%{?system_sh4:1}
 Requires: %{name}-%{system_sh4} = %{epoch}:%{version}-%{release}
 %endif
@@ -505,6 +517,18 @@ machine that supports it, this package also provides the KVM virtualization
 platform.
 %endif
 
+%if 0%{?system_alpha:1}
+%package %{system_alpha}
+Summary: QEMU system emulator for Alpha
+Group: Development/Tools
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
+%description %{system_alpha}
+QEMU is a generic and open source processor emulator which achieves a good
+emulation speed by using dynamic translation.
+
+This package provides the system emulator for Alpha systems.
+%endif
+
 %if 0%{?system_arm:1}
 %package %{system_arm}
 Summary: QEMU system emulator for ARM
@@ -565,6 +589,18 @@ emulation speed by using dynamic translation.
 This package provides the system emulator for ColdFire boards.
 %endif
 
+%if 0%{?system_microblaze:1}
+%package %{system_microblaze}
+Summary: QEMU system emulator for Microblaze
+Group: Development/Tools
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
+%description %{system_microblaze}
+QEMU is a generic and open source processor emulator which achieves a good
+emulation speed by using dynamic translation.
+
+This package provides the system emulator for Microblaze boards.
+%endif
+
 %if 0%{?system_or32:1}
 %package %{system_or32}
 Summary: QEMU system emulator for OpenRisc32
@@ -577,6 +613,18 @@ emulation speed by using dynamic translation.
 This package provides the system emulator for OpenRisc32 boards.
 %endif
 
+%if 0%{?system_s390x:1}
+%package %{system_s390x}
+Summary: QEMU system emulator for S390
+Group: Development/Tools
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
+%description %{system_s390x}
+QEMU is a generic and open source processor emulator which achieves a good
+emulation speed by using dynamic translation.
+
+This package provides the system emulator for S390 systems.
+%endif
+
 %if 0%{?system_sh4:1}
 %package %{system_sh4}
 Summary: QEMU system emulator for SH4
@@ -778,10 +826,10 @@ such as kvm_stat.
 %if %{with kvmonly}
     buildarch="%{kvm_target}-softmmu"
 %else
-buildarch="i386-softmmu x86_64-softmmu arm-softmmu cris-softmmu \
-    lm32-softmmu m68k-softmmu \
+buildarch="i386-softmmu x86_64-softmmu alpha-softmmu arm-softmmu cris-softmmu \
+    lm32-softmmu m68k-softmmu microblaze-softmmu microblazeel-softmmu \
     mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu \
-    or32-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu \
+    or32-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu s390x-softmmu \
     sh4-softmmu sh4eb-softmmu sparc-softmmu sparc64-softmmu \
     xtensa-softmmu xtensaeb-softmmu unicore32-softmmu \
     i386-linux-user x86_64-linux-user alpha-linux-user arm-linux-user \
@@ -793,9 +841,6 @@ buildarch="i386-softmmu x86_64-softmmu arm-softmmu cris-softmmu \
     unicore32-linux-user"
 %endif
 
-# Targets we don't build as of qemu 1.2.0
-# alpha-softmmu microblaze-softmmu microblazeel-softmmu s390x-softmmu
-
 # --build-id option is used for giving info to the debug packages.
 extraldflags="-Wl,--build-id";
 buildldflags="VL_LDFLAGS=-Wl,--build-id"
@@ -930,19 +975,20 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/openbios-sparc64
 rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/slof.bin
 
 # remove possibly unpackaged files:
+%if 0%{!?system_alpha:1}
+rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/palcode-clipper
+%endif
+%if 0%{!?system_microblaze:1}
+rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/petalogix*.dtb
+%endif
 %if 0%{!?system_ppc:1}
 rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/bamboo.dtb
 rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/ppc_rom.bin
 rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/spapr-rtas.bin
 %endif
-
-# The following aren't provided by any Fedora package
-
-# Used by target s390/s390x
+%if 0%{!?system_s390x:1}
 rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/s390-zipl.rom
-rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/palcode-clipper
-# Binary device trees for microblaze target
-rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/petalogix*.dtb
+%endif
 
 # Provided by package ipxe
 rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/pxe*rom
@@ -1222,6 +1268,14 @@ fi
 %{_bindir}/kvm_stat
 %endif
 
+%if 0%{?system_alpha:1}
+%files %{system_alpha}
+%defattr(-,root,root)
+%{_bindir}/qemu-system-alpha
+%{_datadir}/systemtap/tapset/qemu-system-alpha.stp
+%{_datadir}/%{name}/palcode-clipper
+%endif
+
 %if 0%{?system_arm:1}
 %files %{system_arm}
 %defattr(-,root,root)
@@ -1263,6 +1317,16 @@ fi
 %{_datadir}/systemtap/tapset/qemu-system-m68k.stp
 %endif
 
+%if 0%{?system_microblaze:1}
+%files %{system_microblaze}
+%defattr(-,root,root)
+%{_bindir}/qemu-system-microblaze
+%{_bindir}/qemu-system-microblazeel
+%{_datadir}/systemtap/tapset/qemu-system-microblaze.stp
+%{_datadir}/systemtap/tapset/qemu-system-microblazeel.stp
+%{_datadir}/%{name}/petalogix*.dtb
+%endif
+
 %if 0%{?system_or32:1}
 %files %{system_or32}
 %defattr(-,root,root)
@@ -1270,6 +1334,14 @@ fi
 %{_datadir}/systemtap/tapset/qemu-system-or32.stp
 %endif
 
+%if 0%{?system_s390x:1}
+%files %{system_s390x}
+%defattr(-,root,root)
+%{_bindir}/qemu-system-s390x
+%{_datadir}/systemtap/tapset/qemu-system-s390x.stp
+%{_datadir}/%{name}/s390-zipl.rom
+%endif
+
 %if 0%{?system_sh4:1}
 %files %{system_sh4}
 %defattr(-,root,root)
@@ -1333,6 +1405,7 @@ fi
 
 %changelog
 * Fri Oct 19 2012 Paolo Bonzini <pbonzini at redhat.com> - 2:1.2.0-16
+- distribute pre-built firmware or device trees for Alpha, Microblaze, S390
 - add missing system targets
 - add missing linux-user targets
 - fix previous commit


More information about the scm-commits mailing list