Stanislav Shwartsman
96984cb6cb
Added missed fetchdecode table entry for SYSENTER/SYSEXIT
2003-06-20 08:58:12 +00:00
Stanislav Shwartsman
58efdfb31f
An illegal lock prefix was not checked for instructions without any attributes (i.e. without immediate, modrm or any other additional bytes except prefixes).
2003-06-12 17:01:37 +00:00
Stanislav Shwartsman
8ee1b70016
Fixed compilation/linking problem
2003-06-11 14:50:09 +00:00
Volker Ruppert
2ef0c43c7d
- description of ldtr fixed
2003-06-08 09:55:50 +00:00
Volker Ruppert
d1652093ac
- applied some parts of the patch from Andrew Zabolotny <zap@cobra.ru>
...
* changed all %ll format descriptions to FMT_LL macro so that
Microsoft Visual C works correctly (it uses %I64)
* missing type conversions added
* cdrom.cc: variable types for win32 fixed
* removed some unused variables in eth_win32.cc and harddrv.cc
* added missing includes in make_cmos_image.c and niclist.c
2003-06-07 19:16:55 +00:00
Stanislav Shwartsman
3c00944998
I hope this is the last one ...
2003-05-29 19:44:59 +00:00
Stanislav Shwartsman
56cc6469e3
Ops, missed one ...
2003-05-29 17:19:38 +00:00
Stanislav Shwartsman
f933d604d3
Fixed missed BxLockable for XCHG instruction
2003-05-29 17:15:08 +00:00
Stanislav Shwartsman
1024cb16ca
Fixed denormal problem in fload64_add operation
2003-05-27 20:30:19 +00:00
Stanislav Shwartsman
b6ff1e6d9d
dos2unix for softfloat
...
fixed denormals handling for MUL/DIV instructions
2003-05-26 19:30:33 +00:00
Stanislav Shwartsman
ab3320c6eb
Fixed denormal operand handling for add/sub instructions
2003-05-26 19:00:19 +00:00
Stanislav Shwartsman
0cb847f6d3
Quite different implementation of DAZ feature
...
Fixed bugs in execution of float64 packed instructions (almost all instructions affected)
2003-05-26 18:06:09 +00:00
Stanislav Shwartsman
c82060a215
Fixed problem with compare unordered and denormals exceptions
2003-05-25 20:18:46 +00:00
Stanislav Shwartsman
39ab1d18ac
Fixed compilation error
2003-05-23 08:49:55 +00:00
Stanislav Shwartsman
777e0db06b
Fixed cpu.cc compilation error with ICache disabled
...
Added --enable-3dnow configuration option
2003-05-21 15:48:55 +00:00
Stanislav Shwartsman
140ff2541b
Ability to configure x86-64 without 3DNOW
2003-05-21 15:20:51 +00:00
Stanislav Shwartsman
04ebd29f92
dos2unix fix
2003-05-19 15:02:47 +00:00
Stanislav Shwartsman
e5c647ad01
Removed unused some unused functions from softfloat
2003-05-18 03:52:18 +00:00
Stanislav Shwartsman
36a8c8a6ac
Compare unordered relation also raises denormal
2003-05-17 18:11:22 +00:00
Stanislav Shwartsman
338e7b4fe2
DAZ support (still under validation)
2003-05-17 17:45:54 +00:00
Stanislav Shwartsman
7e7cbdba6f
Bugdfix for pfp compare operation (affected 'greater_than' relation)
2003-05-17 14:49:21 +00:00
Stanislav Shwartsman
09b987a9e8
Denormals support for all SSE instructions
2003-05-17 09:08:18 +00:00
Stanislav Shwartsman
6fdecf77a1
New dependencies for CPU directory
2003-05-15 18:46:01 +00:00
Stanislav Shwartsman
928e20bd49
Changed some BX_INFO messages to BX_DEBUG
2003-05-15 18:32:27 +00:00
Stanislav Shwartsman
1d45167e5b
Merged NEW-INSTRUCTIONS branch
2003-05-15 16:41:17 +00:00
Kevin Lawton
a17d06abcb
Optimized the main cpu loop iCache checks to remove a redundant
...
check.
Commented out a number of instances of invalidate_prefetch_q(),
for branches which do not change CS since the EIP window mechanism
takes care of validating that EIP lands in the current page or not
in the main cpu loop anyways.
Fixed a couple cases (v8086 mode and real mode) of loading CS where
the EIP page window was not invalidated in segment_ctrl_pro.cc.
That may fix some aliasing problems reported before (OS2).
2003-05-10 22:25:55 +00:00
Christophe Bothamy
091052e199
- reverting to previous revision (xfer8 1.15, xfer16 1.21, xfer32 1.21)
...
as it breaks AMD64 support.
2003-05-08 17:56:48 +00:00
Christophe Bothamy
b3d16a48ef
- apply another speedup patch from Conn Clark.
...
Notes from the author:
Here is another one of my speed up patches. Unlike my previous speedups
this one will help more platforms than just X86. It cleans up the Data
Xfer instructions. Since the Data Xfer instructions are the most often
executed instructions it gives a noticable boost in speed. The basic
optimization technique was to eliminate intermediate variables and pass
a pointer to the final destination or original source to the
read_virtual_whatever and the write_virtual_whatever functions.
2003-05-03 16:19:07 +00:00
Volker Ruppert
79b811f23f
- fixed warnings in these files:
...
cpu/fetchdecode.cc
cpu/mmx.cc
cpu/proc_ctrl.cc
iodev/virt_timer.cc
plugin.cc
2003-05-02 12:22:48 +00:00
Christophe Bothamy
83b8bbedff
- fix REX MOVB immediate for x86_64 (patch by Arnd Bergmann)
...
(bug [ 720776 ] REX MOVB immediate broken for x86_64)
2003-04-26 10:02:03 +00:00
Stanislav Shwartsman
fa623fda74
FPU tag word is 16bit only
2003-04-25 18:43:48 +00:00
Stanislav Shwartsman
88d433bb73
Implemented MASKMOVQ
2003-04-23 18:57:57 +00:00
Stanislav Shwartsman
3485368ead
Ups, forgot smth ;)
2003-04-23 18:55:25 +00:00
Stanislav Shwartsman
ba2b84e604
Implemented MASKMOVQ and MASKMOVDQU instructions
2003-04-23 18:51:37 +00:00
Stanislav Shwartsman
446fca9ed0
Superfluous braces in initializers in fetchdecode.cc
2003-04-23 17:52:59 +00:00
Stanislav Shwartsman
d1d2fb34f0
Fixed number of compilation errors for FPU disabled case
...
Transfer fpu.cc from /fpu to /cpu
2003-04-22 20:21:34 +00:00
Stanislav Shwartsman
40bd4f138b
Little style changes
...
Elliminated i387_t alimit field (not used in FPU)
2003-04-16 18:38:53 +00:00
Stanislav Shwartsman
aa9152129c
Changes in i387 register file definition. Define common FPU/MMX register file.
2003-04-12 21:02:08 +00:00
Stanislav Shwartsman
1d54caca9b
Fixed compilation error
2003-04-09 19:20:05 +00:00
Stanislav Shwartsman
7db893970c
Read attributes bits even for BxSplit11b opcodes
...
Move lock prefix check later in fetchdecode function when all attributes is ready.
2003-04-06 19:08:31 +00:00
Stanislav Shwartsman
a050c1ac7d
Reserved cpu attribute bit for 3DNOW instructions decoding
2003-04-05 16:40:55 +00:00
Stanislav Shwartsman
216124c6c3
Send #MF exception for MMX instructions if there is a pending FPU exception
2003-04-05 12:49:14 +00:00
Stanislav Shwartsman
1e71c9e56e
Merged patch-unallowed-lock-cases patch.
...
According to the Intel manuals:
The LOCK prefix can be prepended only to the following instructions
and only to those forms of the instructions where the destination
operand is a memory operand: ADD, ADC, AND, BTC, BTR, BTS, CMPXCHG,
CMPXCH8B, DEC, INC, NEG, NOT, OR, SBB, SUB, XOR, XADD, and XCHG. If
the LOCK prefix is used with one of these instructions and the source
operand is a memory operand, an undefined opcode exception (#UD) will
be generated. An undefined opcode exception will also be generated if
the LOCK prefix is used with any instruction not in the above list.
Checking of the LOCK prefix done in fetchDecode state and not overloads
Bochs's execution.
2003-04-05 12:16:53 +00:00
Stanislav Shwartsman
8193a710ad
Changed MMX/SSE/SSE2 diagnostic messages to be more informative
2003-03-21 20:33:23 +00:00
Stanislav Shwartsman
1224c2d307
#UD exception should be generated when using MOV_SwEw opcode for
...
loading CS register
2003-03-21 13:34:24 +00:00
Christophe Bothamy
1a518b81fe
- add __attribute__((regparm(X))) performance trick with gcc on x86
...
on some cpu instructions (patch from Conn Clark)
- performance improvement is 1% on win95 boot
2003-03-17 00:41:01 +00:00
Peter Tattam
752caf8e21
x86-64 emulation
...
Fixed PUSHFW/POPFW for 64 bit mode. (was doing PUSHFQ/POPFQ)
2003-03-13 00:49:20 +00:00
Peter Tattam
2f9088a223
x86-64 emulation.
...
Fixed IRETD in 64 bit mode
2003-03-13 00:45:44 +00:00
Peter Tattam
530f482c79
x86-64 Update - Fixed bad JMP far indirect
2003-03-13 00:43:00 +00:00
Peter Tattam
cb492ae7b5
x86-64 emulation.
...
Perform Canonical Address Checking.
Only does basic checking (only offset, not offset+size-1)
2003-03-13 00:37:40 +00:00