rpms/xorg-x11-server/FC-6 xserver-1.1.1-int10-update.patch, NONE, 1.1 xorg-x11-server.spec, 1.189, 1.190
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Wed Apr 11 17:43:42 UTC 2007
- Previous message (by thread): rpms/system-config-display/devel .cvsignore, 1.36, 1.37 sources, 1.44, 1.45 system-config-display.spec, 1.50, 1.51
- Next message (by thread): rpms/curl/devel .cvsignore, 1.23, 1.24 curl-7.15.3-multilib.patch, 1.1, 1.2 curl-7.16.0-privlibs.patch, 1.2, 1.3 curl.spec, 1.46, 1.47 sources, 1.24, 1.25
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: ajackson
Update of /cvs/dist/rpms/xorg-x11-server/FC-6
In directory cvs.devel.redhat.com:/tmp/cvs-serv11020
Modified Files:
xorg-x11-server.spec
Added Files:
xserver-1.1.1-int10-update.patch
Log Message:
* Wed Apr 11 2007 Adam Jackson <ajax at redhat.com> 1.1.1-47.9
- xserver-1.1.1-int10-update.patch: Backport various important int10 and
x86emu updates from git. (#216927, among others)
xserver-1.1.1-int10-update.patch:
int10/generic.c | 2 -
os-support/linux/int10/linux.c | 3 +
x86emu/ops2.c | 72 ++++++++++++++++++++++++++++++-----------
x86emu/prim_ops.c | 4 +-
4 files changed, 59 insertions(+), 22 deletions(-)
--- NEW FILE xserver-1.1.1-int10-update.patch ---
--- xorg-server-1.1.1/hw/xfree86/os-support/linux/int10/linux.c.jx 2006-07-05 14:31:41.000000000 -0400
+++ xorg-server-1.1.1/hw/xfree86/os-support/linux/int10/linux.c 2007-04-11 13:21:27.000000000 -0400
@@ -104,6 +104,7 @@
legacyVGARec vga;
xf86int10BiosLocation bios;
Bool videoBiosMapped = FALSE;
+ pciVideoPtr pvp;
if (int10Generation != serverGeneration) {
counter = 0;
@@ -165,6 +166,8 @@
pInt = (xf86Int10InfoPtr)xnfcalloc(1, sizeof(xf86Int10InfoRec));
pInt->scrnIndex = screen;
pInt->entityIndex = entityIndex;
+ pvp = xf86GetPciInfoForEntity(entityIndex);
+ if (pvp) pInt->Tag = pciTag(pvp->bus, pvp->device, pvp->func);
if (!xf86Int10ExecSetup(pInt))
goto error0;
pInt->mem = &linuxMem;
--- xorg-server-1.1.1/hw/xfree86/int10/generic.c.jx 2006-07-05 14:31:40.000000000 -0400
+++ xorg-server-1.1.1/hw/xfree86/int10/generic.c 2007-04-11 13:21:27.000000000 -0400
@@ -105,7 +105,7 @@
base = INTPriv(pInt)->base = xnfalloc(SYS_BIOS);
pvp = xf86GetPciInfoForEntity(entityIndex);
- if (pvp) pInt->Tag = ((pciConfigPtr)(pvp->thisCard))->tag;
+ if (pvp) pInt->Tag = pciTag(pvp->bus, pvp->device, pvp->func);
/*
* we need to map video RAM MMIO as some chipsets map mmio
--- xorg-server-1.1.1/hw/xfree86/x86emu/prim_ops.c.jx 2006-07-05 14:31:42.000000000 -0400
+++ xorg-server-1.1.1/hw/xfree86/x86emu/prim_ops.c 2007-04-11 13:21:12.000000000 -0400
@@ -2082,7 +2082,7 @@
void imul_long_direct(u32 *res_lo, u32* res_hi,u32 d, u32 s)
{
#ifdef __HAS_LONG_LONG__
- s64 res = (s32)d * (s32)s;
+ s64 res = (s64)(s32)d * (s32)s;
*res_lo = (u32)res;
*res_hi = (u32)(res >> 32);
@@ -2174,7 +2174,7 @@
void mul_long(u32 s)
{
#ifdef __HAS_LONG_LONG__
- u64 res = (u32)M.x86.R_EAX * (u32)s;
+ u64 res = (u64)M.x86.R_EAX * s;
M.x86.R_EAX = (u32)res;
M.x86.R_EDX = (u32)(res >> 32);
--- xorg-server-1.1.1/hw/xfree86/x86emu/ops2.c.jx 2006-07-05 14:31:42.000000000 -0400
+++ xorg-server-1.1.1/hw/xfree86/x86emu/ops2.c 2007-04-11 13:20:55.000000000 -0400
@@ -65,6 +65,40 @@
/****************************************************************************
REMARKS:
+Handles opcode 0x0f,0x31
+****************************************************************************/
+static void x86emuOp2_rdtsc(u8 X86EMU_UNUSED(op2))
+{
+#ifdef __HAS_LONG_LONG__
+ static u64 counter = 0;
+#else
+ static u32 counter = 0;
+#endif
+
+ counter += 0x10000;
+
+ /* read timestamp counter */
+ /*
+ * Note that instead of actually trying to accurately measure this, we just
+ * increase the counter by a fixed amount every time we hit one of these
+ * instructions. Feel free to come up with a better method.
+ */
+ START_OF_INSTR();
+ DECODE_PRINTF("RDTSC\n");
+ TRACE_AND_STEP();
+#ifdef __HAS_LONG_LONG__
+ M.x86.R_EAX = counter & 0xffffffff;
+ M.x86.R_EDX = counter >> 32;
+#else
+ M.x86.R_EAX = counter;
+ M.x86.R_EDX = 0;
+#endif
+ DECODE_CLEAR_SEGOVR();
+ END_OF_INSTR();
+}
+
+/****************************************************************************
+REMARKS:
Handles opcode 0x0f,0x80-0x8F
****************************************************************************/
static void x86emuOp2_long_jump(u8 op2)
@@ -2129,7 +2163,7 @@
uint srcoffset;
START_OF_INSTR();
- DECODE_PRINTF("BSF\n");
+ DECODE_PRINTF("BSF\t");
FETCH_DECODE_MODRM(mod, rh, rl);
switch(mod) {
case 0:
@@ -2209,25 +2243,25 @@
break;
case 3: /* register to register */
if (M.x86.mode & SYSMODE_PREFIX_DATA) {
- u32 *srcreg, *dstreg;
+ u32 srcval, *dstreg;
- srcreg = DECODE_RM_LONG_REGISTER(rl);
+ srcval = *DECODE_RM_LONG_REGISTER(rl);
DECODE_PRINTF(",");
dstreg = DECODE_RM_LONG_REGISTER(rh);
TRACE_AND_STEP();
- CONDITIONAL_SET_FLAG(*srcreg == 0, F_ZF);
+ CONDITIONAL_SET_FLAG(srcval == 0, F_ZF);
for(*dstreg = 0; *dstreg < 32; (*dstreg)++)
- if ((*srcreg >> *dstreg) & 1) break;
+ if ((srcval >> *dstreg) & 1) break;
} else {
- u16 *srcreg, *dstreg;
+ u16 srcval, *dstreg;
- srcreg = DECODE_RM_WORD_REGISTER(rl);
+ srcval = *DECODE_RM_WORD_REGISTER(rl);
DECODE_PRINTF(",");
dstreg = DECODE_RM_WORD_REGISTER(rh);
TRACE_AND_STEP();
- CONDITIONAL_SET_FLAG(*srcreg == 0, F_ZF);
+ CONDITIONAL_SET_FLAG(srcval == 0, F_ZF);
for(*dstreg = 0; *dstreg < 16; (*dstreg)++)
- if ((*srcreg >> *dstreg) & 1) break;
+ if ((srcval >> *dstreg) & 1) break;
}
break;
}
@@ -2245,7 +2279,7 @@
uint srcoffset;
START_OF_INSTR();
- DECODE_PRINTF("BSF\n");
+ DECODE_PRINTF("BSR\t");
FETCH_DECODE_MODRM(mod, rh, rl);
switch(mod) {
case 0:
@@ -2325,25 +2359,25 @@
break;
case 3: /* register to register */
if (M.x86.mode & SYSMODE_PREFIX_DATA) {
- u32 *srcreg, *dstreg;
+ u32 srcval, *dstreg;
- srcreg = DECODE_RM_LONG_REGISTER(rl);
+ srcval = *DECODE_RM_LONG_REGISTER(rl);
DECODE_PRINTF(",");
dstreg = DECODE_RM_LONG_REGISTER(rh);
TRACE_AND_STEP();
- CONDITIONAL_SET_FLAG(*srcreg == 0, F_ZF);
+ CONDITIONAL_SET_FLAG(srcval == 0, F_ZF);
for(*dstreg = 31; *dstreg > 0; (*dstreg)--)
- if ((*srcreg >> *dstreg) & 1) break;
+ if ((srcval >> *dstreg) & 1) break;
} else {
- u16 *srcreg, *dstreg;
+ u16 srcval, *dstreg;
- srcreg = DECODE_RM_WORD_REGISTER(rl);
+ srcval = *DECODE_RM_WORD_REGISTER(rl);
DECODE_PRINTF(",");
dstreg = DECODE_RM_WORD_REGISTER(rh);
TRACE_AND_STEP();
- CONDITIONAL_SET_FLAG(*srcreg == 0, F_ZF);
+ CONDITIONAL_SET_FLAG(srcval == 0, F_ZF);
for(*dstreg = 15; *dstreg > 0; (*dstreg)--)
- if ((*srcreg >> *dstreg) & 1) break;
+ if ((srcval >> *dstreg) & 1) break;
}
break;
}
@@ -2580,7 +2614,7 @@
/* 0x2f */ x86emuOp2_illegal_op,
/* 0x30 */ x86emuOp2_illegal_op,
-/* 0x31 */ x86emuOp2_illegal_op,
+/* 0x31 */ x86emuOp2_rdtsc,
/* 0x32 */ x86emuOp2_illegal_op,
/* 0x33 */ x86emuOp2_illegal_op,
/* 0x34 */ x86emuOp2_illegal_op,
Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/dist/rpms/xorg-x11-server/FC-6/xorg-x11-server.spec,v
retrieving revision 1.189
retrieving revision 1.190
diff -u -r1.189 -r1.190
--- xorg-x11-server.spec 8 Apr 2007 17:32:30 -0000 1.189
+++ xorg-x11-server.spec 11 Apr 2007 17:43:40 -0000 1.190
@@ -3,7 +3,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.1.1
-Release: 47.8%{?dist}
+Release: 47.9%{?dist}
URL: http://www.x.org
License: MIT/X11
Group: User Interface/X
@@ -64,6 +64,7 @@
Patch2006: xorg-x11-server-1.1.1-revert-xkb-change.patch
Patch2007: xorg-x11-server-1.1.1-aiglx-locking.patch
Patch2008: xorg-x11-server-1.1.1-edid-hex-dump.patch
+Patch2009: xserver-1.1.1-int10-update.patch
# autoconfiguration feature patches
Patch3001: xorg-x11-server-1.1.0-edid-mode-injection-1.patch
@@ -393,6 +394,7 @@
%patch2006 -p1 -b .revert-xkb-change
%patch2007 -p1 -b .aiglx-locking
%patch2008 -p1 -b .hexdump
+%patch2009 -p1 -b .int10-update
%patch3001 -p1 -b .edid1
%patch3002 -p1 -b .edid2
@@ -743,6 +745,10 @@
# -------------------------------------------------------------------
%changelog
+* Wed Apr 11 2007 Adam Jackson <ajax at redhat.com> 1.1.1-47.9
+- xserver-1.1.1-int10-update.patch: Backport various important int10 and
+ x86emu updates from git. (#216927, among others)
+
* Sun Apr 08 2007 Adam Jackson <ajax at redhat.com> 1.1.1-47.8
- xserver-cve-2007-1003.patch: Fix CVE 2007-1003 in XC-MISC extension.
- Previous message (by thread): rpms/system-config-display/devel .cvsignore, 1.36, 1.37 sources, 1.44, 1.45 system-config-display.spec, 1.50, 1.51
- Next message (by thread): rpms/curl/devel .cvsignore, 1.23, 1.24 curl-7.15.3-multilib.patch, 1.1, 1.2 curl-7.16.0-privlibs.patch, 1.2, 1.3 curl.spec, 1.46, 1.47 sources, 1.24, 1.25
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list