Compare commits

...

4 Commits
master ... fc6

Author SHA1 Message Date
Fedora Release Engineering 0d5f24d589 dist-git conversion 2010-07-29 10:59:35 +00:00
Bill Nottingham 0c7fca0e91 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:16:16 +00:00
Hans de Goede 6e631dc488 - Backport patch to make FC6 guests work by Kevin Kofler
<Kevin@tigcc.ticalc.org> (bz 207843).
2006-11-14 18:19:44 +00:00
Jeremy Katz f5f95fdbfb Initialize branch FC-6 for qemu 2006-10-23 18:39:02 +00:00
4 changed files with 89 additions and 22 deletions

View File

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: qemu
# $Id$
NAME := qemu
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

82
qemu-0.8.2-mb-nops.diff Normal file
View File

@ -0,0 +1,82 @@
===================================================================
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) {

View File

@ -8,7 +8,7 @@
Summary: QEMU is a FAST! processor emulator
Name: qemu
Version: 0.8.2
Release: 3%{?dist}
Release: 4%{?dist}
License: GPL/LGPL
Group: Development/Tools
URL: http://www.qemu.org/
@ -18,6 +18,7 @@ Patch0: qemu-0.7.0-build.patch
Patch1: qemu-0.8.0-sdata.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-%{gccver} zlib-devel which texi2html
Requires(post): /sbin/chkconfig
@ -44,6 +45,7 @@ As QEMU requires no host kernel patches to run, it is safe and easy to use.
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build
./configure \
@ -92,6 +94,10 @@ fi
%{_mandir}/man1/*
%changelog
* Mon Nov 13 2006 Hans de Goede <j.w.r.degoede@hhs.nl> 0.8.2-4
- Backport patch to make FC6 guests work by Kevin Kofler
<Kevin@tigcc.ticalc.org> (bz 207843).
* Mon Sep 11 2006 David Woodhouse <dwmw2@infradead.org> 0.8.2-3
- Rebuild