From owner-freebsd-ports Tue Apr 30 13:21:15 2002 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 39B5E37B421 for ; Tue, 30 Apr 2002 13:20:01 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g3UKK1069013; Tue, 30 Apr 2002 13:20:01 -0700 (PDT) (envelope-from gnats) Received: from lerlaptop.iadfw.net (lerlaptop.iadfw.net [206.66.13.21]) by hub.freebsd.org (Postfix) with ESMTP id 39AC237B416 for ; Tue, 30 Apr 2002 13:11:10 -0700 (PDT) Received: from lerlaptop.iadfw.net (localhost [127.0.0.1]) by lerlaptop (8.12.3/8.12.3) with ESMTP id g3UKAmsX000815 for ; Tue, 30 Apr 2002 15:10:48 -0500 (CDT) (envelope-from ler@lerlaptop.iadfw.net) Received: (from ler@localhost) by lerlaptop.iadfw.net (8.12.3/8.12.3/Submit) id g3UKAm9F000814; Tue, 30 Apr 2002 15:10:48 -0500 (CDT) Message-Id: <200204302010.g3UKAm9F000814@lerlaptop.iadfw.net> Date: Tue, 30 Apr 2002 15:10:48 -0500 (CDT) From: Larry Rosenman Reply-To: Larry Rosenman To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: ports/37610: XFree86-4 x86emu needs update for new BIOS's Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 37610 >Category: ports >Synopsis: XFree86-4 x86emu needs update for new BIOS's >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Apr 30 13:20:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Larry Rosenman >Release: FreeBSD 4.5-STABLE i386 >Organization: LERCTR Consulting >Environment: System: FreeBSD lerlaptop 4.5-STABLE FreeBSD 4.5-STABLE #24: Tue Apr 30 07:09:14 CDT 2002 ler@lerlaptop:/usr/obj/usr/src/sys/LERLAPTOP i386 >Description: With some of the newer chip sets BIOS's using extended X86 opcodes and addressing modes, the XFree86 4.2.0 x86emu needs enhancement. Steve Woodford made the following patch, which fixes this issue. can this be added to the XFree86-4-Server port as a patch to xc/extras/x86emu/src/x86emu/decode.c ? >How-To-Repeat: run on a I830MG graphics system, see the X86 ILLEGAL OPCODE (see the -STABLE and -MOBILE lists from yesterday (April 29, 2002) for example logs. This patch fixes THAT problem. >Fix: Apply this patch to xc/extras/x86emu/src/x86emu/decode.c --- decode.c.old Sat Apr 27 12:04:29 2002 +++ decode.c Sat Apr 27 13:56:06 2002 @@ -734,6 +734,10 @@ { unsigned offset; + if (M.x86.mode & SYSMODE_PREFIX_ADDR) { + u32* rp = decode_rm_long_register(rm); + return (*rp); + } switch (rm) { case 0: DECODE_PRINTF("[BX+SI]"); @@ -782,6 +786,10 @@ int rm) { int displacement = (s8)fetch_byte_imm(); + if (M.x86.mode & SYSMODE_PREFIX_ADDR) { + u32* rp = decode_rm_long_register(rm); + return (*rp + displacement); + } switch (rm) { case 0: DECODE_PRINTF2("%d[BX+SI]", displacement); @@ -830,6 +838,10 @@ int rm) { unsigned displacement = (u16)fetch_word_imm(); + if (M.x86.mode & SYSMODE_PREFIX_ADDR) { + u32* rp = decode_rm_long_register(rm); + return (*rp + displacement); + } switch (rm) { case 0: DECODE_PRINTF2("%04x[BX+SI]", displacement); >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message