Commit Graph

1635 Commits

Author SHA1 Message Date
Stanislav Shwartsman
a0e395188f Fixed merge error 2008-08-29 20:43:05 +00:00
Stanislav Shwartsman
b96f78dc0a Some kind of big change in fetchdecode tables invented in order to compress the tables for better host data cache utilization 2008-08-29 19:23:03 +00:00
Stanislav Shwartsman
a5a01c4b42 optimize LEAVE operation 2008-08-27 21:57:40 +00:00
Stanislav Shwartsman
b1da3d7d46 very slight optimization in io permissions check 2008-08-27 21:26:23 +00:00
Stanislav Shwartsman
d029823fb5 Fixed compilation error under --enable-smp 2008-08-24 17:29:17 +00:00
Stanislav Shwartsman
9a2072bba6 More fetchdecode optimization 2008-08-23 22:34:17 +00:00
Stanislav Shwartsman
d0803ebd10 branch_16 optimizations 2008-08-23 22:27:58 +00:00
Stanislav Shwartsman
991ae348cb Clean invalidate_prefetch_q when not needed 2008-08-23 13:55:37 +00:00
Stanislav Shwartsman
51cb5451d8 Apply CPUID vendor/brand string from @SF 2008-08-19 16:43:07 +00:00
Stanislav Shwartsman
5e92a1642d Fixed compilation errors, added BX_ASSERT in paging.cc 2008-08-18 05:20:23 +00:00
Stanislav Shwartsman
56504e4a67 Add some missed eflags accessors and pay more attention for special ones 2008-08-16 21:06:56 +00:00
Stanislav Shwartsman
e2fa98b629 - Fixed TLB flush on CR3 change - flush all pages is CR4.PGE is OFF 2008-08-16 15:35:35 +00:00
Stanislav Shwartsman
f275eb3e86 - CALL instructions should push old EIP to stack before checking new EIP for CS.limits 2008-08-16 15:32:44 +00:00
Stanislav Shwartsman
8107e7f084 Fixed restore of FCS field 2008-08-16 12:19:30 +00:00
Stanislav Shwartsman
edae99eb48 Revert back last commmit 2008-08-15 17:39:22 +00:00
Stanislav Shwartsman
65f3344496 Bugfix for big real mode 2008-08-15 14:31:31 +00:00
Stanislav Shwartsman
5eb845763e Fixed corner case problem cause by my prev optimization 2008-08-15 14:30:50 +00:00
Stanislav Shwartsman
460d91fc8c Added missed #GP fault when writing invalid memtype to MTRR/PAT 2008-08-15 10:59:31 +00:00
Stanislav Shwartsman
9d61bbb903 Fixed BX_ERR messages 2008-08-15 10:12:41 +00:00
Stanislav Shwartsman
aea946b4a3 One more change to speedup memory access through HostPtr check 2008-08-14 22:26:15 +00:00
Stanislav Shwartsman
dcb82ec4bf Optimize TLB flush methods 2008-08-13 21:51:54 +00:00
Stanislav Shwartsman
c9a8e4d79d Remove redundant TLB flush - it is even before TLB iniT 2008-08-13 20:54:03 +00:00
Stanislav Shwartsman
3e03443405 Fixed speed bug when alignment access is disabled 2008-08-12 20:24:24 +00:00
Stanislav Shwartsman
fa49bd17dc Fixed small performance bug in HandleAsyncEvent 2008-08-12 19:25:42 +00:00
Stanislav Shwartsman
8ecea83f02 Fixed compilation error 2008-08-12 05:03:51 +00:00
Stanislav Shwartsman
6b79e1e204 Add missed crc32.cc 2008-08-12 04:57:59 +00:00
Stanislav Shwartsman
70f363a05c Unroll back 32-bit fetchdecode displ 2008-08-11 21:06:27 +00:00
Stanislav Shwartsman
70c7c5ceca Use LOAD_Eb approach to remove duplicated GbEb methods 2008-08-11 20:34:05 +00:00
Stanislav Shwartsman
a8adb36dc2 Implemented MOVBE Intel Atom(R) instruction 2008-08-11 18:53:24 +00:00
Stanislav Shwartsman
b61017e5b6 Split more opcodes using new LOAD technique 2008-08-10 21:16:12 +00:00
Stanislav Shwartsman
cddcdccd99 Fixed paging bug 2008-08-10 20:32:00 +00:00
Stanislav Shwartsman
e5cb22772d Fixed compilation error 2008-08-10 19:40:47 +00:00
Stanislav Shwartsman
1da5943f1a More use of LOAD_Ex method 2008-08-10 19:34:28 +00:00
Stanislav Shwartsman
79cabe4bec Already first small optimization :) 2008-08-09 21:07:48 +00:00
Stanislav Shwartsman
0d90ab0478 Completely new way to handle LD+OP cases - allows to significantly reduce number of BX_CPU_C methods 2008-08-09 21:05:07 +00:00
Stanislav Shwartsman
24e0b53720 This more ellegant way to have debug info for BxError and not lose any performace 2008-08-09 19:18:09 +00:00
Stanislav Shwartsman
5dd02b26e3 Make even more efficient RmAddr calculation - good optimizing compiler could make more efficient code than it was before 2008-08-08 09:22:49 +00:00
Stanislav Shwartsman
bbf02a8bc5 More clean rewrite of the TLB access bits 2008-08-07 22:14:38 +00:00
Stanislav Shwartsman
69119be183 Fixed BX_INFO message 2008-08-07 21:07:53 +00:00
Stanislav Shwartsman
67eb13bf24 Fixed bug in PDPE cache implementation 2008-08-04 14:46:28 +00:00
Stanislav Shwartsman
4808a0d581 Fixed accessBits algebra 2008-08-04 05:30:37 +00:00
Stanislav Shwartsman
6398ebb1d4 First step of access bits cleanup and optimization - no perf gain yet 2008-08-03 19:53:09 +00:00
Stanislav Shwartsman
2e8bc558d1 Speedup SSE by introducing read/write_virtual_dqword_aligned methods 2008-08-02 10:16:47 +00:00
Stanislav Shwartsman
67f302352c Implement PDPE cache to support faster PAE paging tranlsation 2008-08-01 13:28:44 +00:00
Stanislav Shwartsman
59514dcbfb Fixed compilation err typo 2008-07-26 20:50:20 +00:00
Stanislav Shwartsman
41a4527ffd Put back optimization in pageWriteStampTable 2008-07-26 15:07:14 +00:00
Stanislav Shwartsman
f303d61cc1 Fixed 'dirty page' support in debugger 2008-07-26 14:44:26 +00:00
Stanislav Shwartsman
c388f48fff - Fixed memory bug in tripple fault detection
- Implement 16-byte memory accessor for SSEx - speedup SSE code emulation by >20%
2008-07-26 14:19:06 +00:00
Stanislav Shwartsman
8fff36b6e3 Save some time in redundant tracing 2008-07-17 17:28:25 +00:00
Stanislav Shwartsman
786edc1506 Some cleanuop changes for future 2008-07-14 14:46:45 +00:00
Stanislav Shwartsman
b0b50e942c Eliminate return statement (for future code optimization) 2008-07-13 15:52:55 +00:00
Stanislav Shwartsman
924c87e451 Delete unused code 2008-07-13 15:36:57 +00:00
Stanislav Shwartsman
709d74728d Call #UD exception directly instead of UndefinedOpcode function - for future use 2008-07-13 15:35:10 +00:00
Stanislav Shwartsman
85686db212 Removed unused methods 2008-07-13 14:22:43 +00:00
Stanislav Shwartsman
ab71c5670b removed redundant ifdefs 2008-07-13 14:01:09 +00:00
Stanislav Shwartsman
cedf6bd88a Small coding style optimization 2008-07-13 13:32:15 +00:00
Stanislav Shwartsman
6f7d39e832 Speedup port read to memory methods 2008-07-13 13:24:36 +00:00
Stanislav Shwartsman
8674659f9b - Fixed missed canonical fault when mem access split cross canonical boundary 2008-07-13 11:19:21 +00:00
Stanislav Shwartsman
e9ec4fda48 Some chnages for future use 2008-07-13 10:44:34 +00:00
Stanislav Shwartsman
3f5efb6475 Remove more duplicated methods 2008-07-13 10:06:07 +00:00
Stanislav Shwartsman
0127415ba6 Clear some duplicated arithmetic opcodes - difference only in operands order 2008-07-13 09:59:59 +00:00
Stanislav Shwartsman
380a4eaa56 Removed unused variables 2008-07-13 08:43:54 +00:00
Stanislav Shwartsman
65275ffc02 Remove repeat speedups from 16-bit address size methods - they not gonna speed up anyway because of segment limit issue 2008-06-25 10:34:21 +00:00
Stanislav Shwartsman
c1f308d80d Push error code if segment violation occurs when pushing arguments into a new stack 2008-06-25 02:28:31 +00:00
Stanislav Shwartsman
b65816a92d Fixed problem in my morning checkin + some more changes 2008-06-23 15:58:22 +00:00
Stanislav Shwartsman
a6fda9a971 Instrumentation code updated, some PANIC messages fixed 2008-06-23 02:56:31 +00:00
Stanislav Shwartsman
678ac970aa Reorganize ctrl_xfer8.cc code, allows to inline branch32 method 2008-06-22 03:45:55 +00:00
Stanislav Shwartsman
97bf141fc3 Added paramter to APIC reset method 2008-06-17 21:21:17 +00:00
Stanislav Shwartsman
5b4c29e2de Fixed warnings found by icc compiler 2008-06-17 20:23:16 +00:00
Stanislav Shwartsman
fc6671a67b Commented out assertion which doesn't work 2008-06-16 04:49:19 +00:00
Stanislav Shwartsman
9d1bc903d8 Fixed typo in MTRR, added assertions 2008-06-15 20:41:34 +00:00
Stanislav Shwartsman
a0e66d0e4c fixed variable name 2008-06-14 16:55:45 +00:00
Stanislav Shwartsman
98581c44d3 Fixed compilation when use64 is disabled 2008-06-13 08:17:52 +00:00
Stanislav Shwartsman
95fadbe96a FIxed assertion failure in recently added code 2008-06-13 08:02:22 +00:00
Stanislav Shwartsman
ecc7f33933 - fixed compilation on big endian machines (patch from @SF) 2008-06-12 20:41:48 +00:00
Stanislav Shwartsman
3504406996 optimizations with branch_near usage 2008-06-12 20:27:38 +00:00
Stanislav Shwartsman
1a355e270e split io repeat methods by address size 2008-06-12 20:12:25 +00:00
Stanislav Shwartsman
92568f7525 Faster 32-bit emulation wwith 64-bit enabled mode.
~10% speedup byu optimization of 32-bit mem access
2008-06-12 19:14:40 +00:00
Stanislav Shwartsman
607900dd4d very small cleeanup 2008-06-12 16:40:53 +00:00
Stanislav Shwartsman
7f82a536b3 Fixed code duplication during prefix decoding 2008-06-11 20:58:29 +00:00
Stanislav Shwartsman
aff775bce4 Small code optimization 2008-06-09 19:35:59 +00:00
Stanislav Shwartsman
46e9d09cbc Typo again :) 2008-06-04 16:31:03 +00:00
Stanislav Shwartsman
4c93fd4a21 Fixed typos (patch from @SF) 2008-06-04 16:27:42 +00:00
Stanislav Shwartsman
424f316e07 Fixed comment 2008-06-02 20:11:03 +00:00
Stanislav Shwartsman
3d3dba7804 - Implemented GD bit in DR7 register 2008-06-02 19:50:40 +00:00
Stanislav Shwartsman
b7480b3e6f - Fixed x86 data breakpoint match when breakpoint length is 8 bytes
- FIxed x86 data breakpoint in paging disabled mode
2008-06-02 18:41:08 +00:00
Stanislav Shwartsman
d2ba79abdd Removed PANIC in DqRq function 2008-05-31 21:17:02 +00:00
Stanislav Shwartsman
764756d74a Handle reserved bits of CR8 2008-05-31 09:26:28 +00:00
Stanislav Shwartsman
46a9524e70 Fixed commnt 2008-05-30 21:14:49 +00:00
Stanislav Shwartsman
9393cff0b9 Fixed CPU CPL restore when in v8086 mode 2008-05-30 21:10:37 +00:00
Stanislav Shwartsman
3bfcdb154c Added new file 2008-05-30 20:37:52 +00:00
Stanislav Shwartsman
7494b8823b - Support of AES CPU extensions, to enable configure with
--enable-aes option
2008-05-30 20:35:08 +00:00
Stanislav Shwartsman
5c75e54d45 cleanup and small optimization for non-paging mode 2008-05-30 16:58:47 +00:00
Stanislav Shwartsman
6c5f82c4c8 - Fixed bug in global pages TLB invalidation 2008-05-30 12:14:00 +00:00
Stanislav Shwartsman
ff332232d4 Fixed compiler warning 2008-05-26 21:51:46 +00:00
Stanislav Shwartsman
d295371450 - Correctly handle segment a byte in BIG real mode 2008-05-26 21:46:39 +00:00
Stanislav Shwartsman
aaf6b3a648 Added comments 2008-05-26 18:02:07 +00:00
Stanislav Shwartsman
77fbc2c187 Fixed LAR/LSL in 64-bit mode, compilation error fixes 2008-05-25 15:53:29 +00:00
Stanislav Shwartsman
7215607df2 - Fixed missed #DE exception in x86-64 IDIV instruction 2008-05-24 10:26:03 +00:00
Stanislav Shwartsman
d76297d01e Fixed compilation err 2008-05-23 17:58:42 +00:00