Ronald G. Minnich (rminnich(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1365
-gerrit
commit a408915a1c9d323a0735778ab72a0842b82c9df5
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Thu Jul 26 15:48:17 2012 -0700
x86emu: fix jump_near_IMM to handle DATA: flag correctly
Before (data flag ignored -> broken):
66 DATA:
e944f1 JMP 1ff6
After (fixed):
66 DATA:
e944f1ffff JMP 00001ff8
This subtle difference in the length of decoded instruction meant
that the VBE call jumped to the routine setting AX=0x14F (VBE Failed)
instead of the routine that set AX=0x4F (VBE success).
The ability to run the same code in vm86 significantly aided the
debugging of this issue. Those X.org developers who would like to drop
vm86 better take special care towards _all_ vesa bugs, as those will
expose further issues.
Imported from:
http://cgit.freedesktop.org/xorg/xserver/commit/hw/xfree86/x86emu?id=cc2c73…
Signed-off-by: Stefan Reinauer <reinauer(a)google.com>
Change-Id: Id08ead9b17468cf19ede45508e5dcc50e45b5acf
Signed-off-by: Luc Verhaegen <libv(a)skynet.be>
Tested-by: Luc Verhaegen <libv(a)skynet.be>
Reviewed-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Keith Packard <keithp(a)keithp.com>
---
src/devices/oprom/x86emu/ops.c | 23 ++++++++++++++++-------
1 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/src/devices/oprom/x86emu/ops.c b/src/devices/oprom/x86emu/ops.c
index 6bfc71c..e58dafb 100644
--- a/src/devices/oprom/x86emu/ops.c
+++ b/src/devices/oprom/x86emu/ops.c
@@ -4279,16 +4279,25 @@ Handles opcode 0xe9
****************************************************************************/
static void x86emuOp_jump_near_IMM(u8 X86EMU_UNUSED(op1))
{
- int ip;
+ u32 ip;
START_OF_INSTR();
DECODE_PRINTF("JMP\t");
- ip = (s16)fetch_word_imm();
- ip += (s16)M.x86.R_IP;
- DECODE_PRINTF2("%04x\n", ip);
- JMP_TRACE(M.x86.saved_cs, M.x86.saved_ip, M.x86.R_CS, ip, " NEAR ");
- TRACE_AND_STEP();
- M.x86.R_IP = (u16)ip;
+ if (M.x86.mode & SYSMODE_PREFIX_DATA) {
+ ip = (u32)fetch_long_imm();
+ ip += (u32)M.x86.R_EIP;
+ DECODE_PRINTF2("%08x\n", (u32)ip);
+ JMP_TRACE(M.x86.saved_cs, M.x86.saved_ip, M.x86.R_CS, ip, " NEAR ");
+ TRACE_AND_STEP();
+ M.x86.R_EIP = (u32)ip;
+ } else {
+ ip = (s16)fetch_word_imm();
+ ip += (s16)M.x86.R_IP;
+ DECODE_PRINTF2("%04x\n", (u16)ip);
+ JMP_TRACE(M.x86.saved_cs, M.x86.saved_ip, M.x86.R_CS, ip, " NEAR ");
+ TRACE_AND_STEP();
+ M.x86.R_IP = (u16)ip;
+ }
DECODE_CLEAR_SEGOVR();
END_OF_INSTR();
}
the following patch was just integrated into master:
commit 62b6afc5c3f8bb9bf077042b4a5fa60aaff73467
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Thu Jul 26 15:02:49 2012 -0700
x86emu: Fix BSF and BSR instructions
Patch courtesy of Michael Yaroslavtsev.
Synced from Xorg
http://cgit.freedesktop.org/xorg/xserver/commit/?id=66fa87292ef26bd0f464481…
Change-Id: I266f910d4a535eab4e2ad77f2540f2f1495bed61
Signed-off-by: Stefan Reinauer <reinauer(a)google.com>
Build-Tested: build bot (Jenkins) at Fri Jul 27 02:20:35 2012, giving +1
Reviewed-By: Ronald G. Minnich <rminnich(a)gmail.com> at Fri Jul 27 17:48:07 2012, giving +2
See http://review.coreboot.org/1360 for details.
-gerrit
the following patch was just integrated into master:
commit 5dac6d8ac870bcac7959ad24893161bf6a133ab6
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Fri Jul 27 08:42:20 2012 +0300
Intel and GFXUMA: fix MTRR and use uma_resource()
Commit 2d42b340034ff005693482ef9ca34ce3e0f08371 changed the
variable MTRR setup and removed compensation of uma_memory_size in
the cacheable memory resources.
Since the cacheable region size was no longer divisible by a large
power of 2, like 256 MB, this caused excessive use of MTRRs.
As first symptoms, slow boot with grub and poor user response.
As a solution, register the actual top of low ram with ram_resource(),
and do not subtract the UMA/TSEG regions from it.
TSEG may require further work as the original did not appear exactly
right to begin with. To have UMA as un-cacheable, use uma_resource().
Change-Id: I4ca99b5c2ca4e474296590b3d0c6ef5d09550d80
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Build-Tested: build bot (Jenkins) at Fri Jul 27 15:50:22 2012, giving +1
Reviewed-By: Anton Kochkov <anton.kochkov(a)gmail.com> at Fri Jul 27 14:08:05 2012, giving +2
See http://review.coreboot.org/1239 for details.
-gerrit
the following patch was just integrated into master:
commit 8a27000703712f31184d66f2de861a499ac5eb30
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Thu Jul 26 15:20:13 2012 -0700
x86emu: fix comment for BTS instruction
Change-Id: Iacce58945f66213e75c7aac89541e785e80664cb
Signed-off-by: Stefan Reinauer <reinauer(a)google.com>
Reviewed-By: Patrick Georgi <patrick(a)georgi-clan.de> at Fri Jul 27 14:42:05 2012, giving +2
See http://review.coreboot.org/1363 for details.
-gerrit
the following patch was just integrated into master:
commit 7e2ee67a5b61e66390413d13c7ca62daad272f02
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Thu Jul 26 15:15:38 2012 -0700
x86emu: Add an RDTSC implementation to the x86 emulator
This instruction is being used in some debug VBIOSes. This implementation
doesn't even try to be accurate. Instead, it just increments the counter by a
fixed amount every time an rdtsc instruction in encountered, to avoid divides
by zero.
Imported from:
http://cgit.freedesktop.org/xorg/xserver/commit/?id=c4b7e9d1c16797c3e4b1200…
Change-Id: I8fba1a060c57ccb7bbd44aa321dd349bc56bf574
Signed-off-by: Stefan Reinauer <reinauer(a)google.com>
Reviewed-By: Patrick Georgi <patrick(a)georgi-clan.de> at Fri Jul 27 14:41:20 2012, giving +2
See http://review.coreboot.org/1362 for details.
-gerrit
the following patch was just integrated into master:
commit 8f9c7489171d53c42ee7e9a387628c57adce8ddd
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Fri Jul 27 08:40:46 2012 +0300
Intel 82810 and 82830: always room for PCI memory
No need for the test, tomk is at most 1GB on these chipsets.
Even if there was no room, adjusting the memory resource would not
not divert accesses in the hardware from DRAM to PCI.
Change-Id: I2213b8d9d2e6ab8da8fd3e8081cc62bb05b6b316
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Build-Tested: build bot (Jenkins) at Fri Jul 27 11:44:14 2012, giving +1
Reviewed-By: Anton Kochkov <anton.kochkov(a)gmail.com> at Fri Jul 27 14:05:15 2012, giving +2
See http://review.coreboot.org/1369 for details.
-gerrit