rpms/qemu/FC-5 qemu-0.8.2-mb-nops.diff, NONE, 1.1 .cvsignore, 1.5, 1.6 qemu.spec, 1.14, 1.15 sources, 1.5, 1.6 qemu-0.8.1-syscall-macros.patch, 1.2, NONE

Hans de Goede (jwrdegoede) fedora-extras-commits at redhat.com
Tue Nov 14 18:23:41 UTC 2006


Author: jwrdegoede

Update of /cvs/extras/rpms/qemu/FC-5
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31663

Modified Files:
	.cvsignore qemu.spec sources 
Added Files:
	qemu-0.8.2-mb-nops.diff 
Removed Files:
	qemu-0.8.1-syscall-macros.patch 
Log Message:
* Mon Nov 13 2006 Hans de Goede <j.w.r.degoede at hhs.nl> 0.8.2-4
- Backport patch to make FC6 guests work by Kevin Kofler
  <Kevin at tigcc.ticalc.org> (bz 207843).


qemu-0.8.2-mb-nops.diff:

--- NEW FILE qemu-0.8.2-mb-nops.diff ---
===================================================================
RCS file: /sources/qemu/qemu/target-i386/translate.c,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- qemu/target-i386/translate.c	2006/07/10 19:53:04	1.59
+++ qemu/target-i386/translate.c	2006/09/03 17:09:02	1.60
@@ -1615,6 +1615,56 @@
     *offset_ptr = disp;
 }
 
+static void gen_nop_modrm(DisasContext *s, int modrm)
+{
+    int mod, rm, base, code;
+
+    mod = (modrm >> 6) & 3;
+    if (mod == 3)
+        return;
+    rm = modrm & 7;
+
+    if (s->aflag) {
+
+        base = rm;
+        
+        if (base == 4) {
+            code = ldub_code(s->pc++);
+            base = (code & 7);
+        }
+        
+        switch (mod) {
+        case 0:
+            if (base == 5) {
+                s->pc += 4;
+            }
+            break;
+        case 1:
+            s->pc++;
+            break;
+        default:
+        case 2:
+            s->pc += 4;
+            break;
+        }
+    } else {
+        switch (mod) {
+        case 0:
+            if (rm == 6) {
+                s->pc += 2;
+            }
+            break;
+        case 1:
+            s->pc++;
+            break;
+        default:
+        case 2:
+            s->pc += 2;
+            break;
+        }
+    }
+}
+
 /* used for LEA and MOV AX, mem */
 static void gen_add_A0_ds_seg(DisasContext *s)
 {
@@ -5791,10 +5841,15 @@
             gen_lea_modrm(s, modrm, &reg_addr, &offset_addr);
             /* nothing more to do */
             break;
-        default:
-            goto illegal_op;
+        default: /* nop (multi byte) */
+            gen_nop_modrm(s, modrm);
+            break;
         }
         break;
+    case 0x119 ... 0x11f: /* nop (multi byte) */
+        modrm = ldub_code(s->pc++);
+        gen_nop_modrm(s, modrm);
+        break;
     case 0x120: /* mov reg, crN */
     case 0x122: /* mov crN, reg */
         if (s->cpl != 0) {


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/qemu/FC-5/.cvsignore,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- .cvsignore	8 Jun 2006 00:00:44 -0000	1.5
+++ .cvsignore	14 Nov 2006 18:23:11 -0000	1.6
@@ -1 +1 @@
-qemu-0.8.1.tar.gz
+qemu-0.8.2.tar.gz


Index: qemu.spec
===================================================================
RCS file: /cvs/extras/rpms/qemu/FC-5/qemu.spec,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- qemu.spec	8 Jun 2006 10:18:31 -0000	1.14
+++ qemu.spec	14 Nov 2006 18:23:11 -0000	1.15
@@ -1,63 +1,71 @@
+# For FC >= 6 we have gcc 3.4, for FC <= 5 we have gcc 3.2
+%if %{!?fedora:6}%{?fedora} >= 6
+%define gccver 34
+%else
+%define gccver 32
+%endif
+
 Summary: QEMU is a FAST! processor emulator
 Name: qemu
-Version: 0.8.1
-Release: 3%{?dist}
-
+Version: 0.8.2
+Release: 4%{?dist}
 License: GPL/LGPL
 Group: Development/Tools
-URL: http://fabrice.bellard.free.fr/qemu
+URL: http://www.qemu.org/
 Source0: http://www.qemu.org/%{name}-%{version}.tar.gz
 Source1: qemu.init
 Patch0: qemu-0.7.0-build.patch
 Patch1: qemu-0.8.0-sdata.patch
-Patch2: qemu-0.8.1-syscall-macros.patch
+Patch2: qemu-0.8.2-kernheaders.patch
+Patch3: qemu-0.8.2-target-sparc.patch
+Patch4: qemu-0.8.2-mb-nops.diff
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: SDL-devel compat-gcc-32 zlib-devel texi2html
-PreReq: /sbin/chkconfig
-PreReq: /sbin/service
-ExclusiveArch: %{ix86} ppc alpha sparc armv4l x86_64
+BuildRequires: SDL-devel compat-gcc-%{gccver} zlib-devel which texi2html
+Requires(post): /sbin/chkconfig
+Requires(preun): /sbin/service /sbin/chkconfig
+Requires(postun): /sbin/service
+ExclusiveArch: %{ix86} x86_64 ppc alpha sparc armv4l
 
 %description
-By using dynamic translation it achieves a reasonable speed while being easy
-to port on new host CPUs. QEMU has two operating modes:
+QEMU is a generic and open source processor emulator which achieves a good
+emulation speed by using dynamic translation. QEMU has two operating modes:
 
+ * Full system emulation. In this mode, QEMU emulates a full system (for
+   example a PC), including a processor and various peripherials. It can be
+   used to launch different Operating Systems without rebooting the PC or
+   to debug system code.
  * User mode emulation. In this mode, QEMU can launch Linux processes compiled
-   for one CPU on another CPU. Linux system calls are converted because of
-   endianness and 32/64 bit mismatches. Wine (Windows emulation) and DOSEMU
-   (DOS emulation) are the main targets for QEMU.
- * Full system emulation. In this mode, QEMU emulates a full system, including
-   a processor and various peripherals. Currently, it is only used to launch
-   an x86 Linux kernel on an x86 Linux system. It enables easier testing and
-   debugging of system code. It can also be used to provide virtual hosting
-   of several virtual PC on a single server.
+   for one CPU on another CPU.
 
-As QEMU requires no host kernel patches to run, it is very safe and easy to use.
+As QEMU requires no host kernel patches to run, it is safe and easy to use.
 
 %prep
 %setup -q
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
 
 %build
-./configure --prefix=%{_prefix} --interp-prefix=%{_prefix}/qemu-%%M \
-%ifarch x86_64
-   --target-list="i386-user arm-user armeb-user ppc-user mips-user mipsel-user i386-softmmu ppc-softmmu  x86_64-softmmu mips-softmmu arm-softmmu" \
-%endif
-   --cc=gcc32 --enable-alsa
-make
+./configure \
+    --prefix=%{_prefix} \
+    --interp-prefix=%{_prefix}/qemu-%%M \
+    --cc=gcc%{gccver} \
+    --enable-alsa
+make %{?_smp_mflags}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 make prefix="${RPM_BUILD_ROOT}%{_prefix}" \
-	bindir="${RPM_BUILD_ROOT}%{_bindir}" \
-	sharedir="${RPM_BUILD_ROOT}%{_prefix}/share/qemu" \
-	mandir="${RPM_BUILD_ROOT}%{_mandir}" \
-	docdir="${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}" \
-	datadir="${RPM_BUILD_ROOT}%{_prefix}/share/qemu" install
+     bindir="${RPM_BUILD_ROOT}%{_bindir}" \
+     sharedir="${RPM_BUILD_ROOT}%{_prefix}/share/qemu" \
+     mandir="${RPM_BUILD_ROOT}%{_mandir}" \
+     docdir="${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}" \
+     datadir="${RPM_BUILD_ROOT}%{_prefix}/share/qemu" install
 
-install -D $RPM_SOURCE_DIR/qemu.init $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/qemu
+install -D -p -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/qemu
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -66,22 +74,52 @@
 /sbin/chkconfig --add qemu
 
 %preun
-if [ $1 = 0 ]; then
-        /sbin/service qemu stop > /dev/null 2>&1
+if [ $1 -eq 0 ]; then
+    /sbin/service qemu stop &>/dev/null || :
+    /sbin/chkconfig --del qemu
+fi
+
+%postun
+if [ $1 -ge 1 ]; then
+    /sbin/service qemu condrestart &>/dev/null || :
 fi
-/sbin/chkconfig --del qemu
 
 %files
 %defattr(-,root,root)
 %doc Changelog README README.distrib TODO
-%doc qemu-tech.texi qemu-doc.texi
-%doc *.html
-%{_bindir}/qemu*
-%{_prefix}/share/qemu
-%{_mandir}/man?/*
+%doc qemu-doc.html qemu-tech.html
 %config %{_sysconfdir}/rc.d/init.d/qemu
+%{_bindir}/qemu*
+%{_prefix}/share/qemu/
+%{_mandir}/man1/*
 
 %changelog
+* Mon Nov 13 2006 Hans de Goede <j.w.r.degoede at hhs.nl> 0.8.2-4
+- Backport patch to make FC6 guests work by Kevin Kofler
+  <Kevin at tigcc.ticalc.org> (bz 207843).
+
+* Mon Sep 11 2006 David Woodhouse <dwmw2 at infradead.org> 0.8.2-3
+- Rebuild
+
+* Thu Aug 24 2006 Matthias Saou <http://freshrpms.net/> 0.8.2-2
+- Remove the target-list iteration for x86_64 since they all build again.
+- Make gcc32 vs. gcc34 conditional on %%{fedora} to share the same spec for
+  FC5 and FC6.
+
+* Wed Aug 23 2006 Matthias Saou <http://freshrpms.net/> 0.8.2-1
+- Update to 0.8.2 (#200065).
+- Drop upstreamed syscall-macros patch2.
+- Put correct scriplet dependencies.
+- Force install mode for the init script to avoid umask problems.
+- Add %%postun condrestart for changes to the init script to be applied if any.
+- Update description with the latest "about" from the web page (more current).
+- Update URL to qemu.org one like the Source.
+- Add which build requirement.
+- Don't include texi files in %%doc since we ship them in html.
+- Switch to using gcc34 on devel, FC5 still has gcc32.
+- Add kernheaders patch to fix linux/compiler.h inclusion.
+- Add target-sparc patch to fix compiling on ppc (some int32 to float).
+
 * Thu Jun  8 2006 David Woodhouse <dwmw2 at infradead.org> 0.8.1-3
 - More header abuse in modify_ldt(), change BuildRoot:
 


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/qemu/FC-5/sources,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- sources	8 Jun 2006 00:00:44 -0000	1.5
+++ sources	14 Nov 2006 18:23:11 -0000	1.6
@@ -1 +1 @@
-67d924324a5ab79d017bd97a1e767285  qemu-0.8.1.tar.gz
+5b3a89eb2f256a8a6f3bb07f7b3f1b07  qemu-0.8.2.tar.gz


--- qemu-0.8.1-syscall-macros.patch DELETED ---




More information about the scm-commits mailing list