Commit Graph

5968 Commits

Author SHA1 Message Date
Stanislav Shwartsman
1af7010e50 Optimized memory access for 64-bit mode
Starting convergence to new lazy flags scheme by Darek Mihocka (www.emulators.com). The new flags code is still being validated and perfected but I try to minimize the diff between 2 versionS
2007-11-20 17:15:33 +00:00
Stanislav Shwartsman
2bd8958783 Change force_flags() implementation and make lazy flags a bit more lazy :) 2007-11-19 19:55:09 +00:00
Stanislav Shwartsman
d75a69fd2e Remove BxResolve tables 2007-11-18 22:14:39 +00:00
Stanislav Shwartsman
fb61418307 optimize modrm/sib decoding 2007-11-18 21:38:58 +00:00
Stanislav Shwartsman
dfb3685c46 Fixed memory bug in disasm code 2007-11-18 21:29:17 +00:00
Stanislav Shwartsman
0732e744bb again debug print in main.cc :) 2007-11-18 21:09:09 +00:00
Stanislav Shwartsman
30f42d74f1 make sreg index tables static in fetchdecode and remove them from init.cc/cpu.h 2007-11-18 21:07:40 +00:00
Stanislav Shwartsman
1e0db62984 bit.cc speedup (small) 2007-11-18 20:21:34 +00:00
Stanislav Shwartsman
6d65c2701a Merged Intel Macintosh build patch 2007-11-18 19:53:43 +00:00
Stanislav Shwartsman
bcaba54489 Merge resolve functions for 32 and 64-bit 2007-11-18 19:46:14 +00:00
Stanislav Shwartsman
090dd61a1e code cleanup in stack16/32.cc 2007-11-18 18:52:44 +00:00
Stanislav Shwartsman
57d2d14865 Split POP_Ev opcodes 2007-11-18 18:49:19 +00:00
Stanislav Shwartsman
e1496bb9e0 Small optimization 2007-11-18 18:40:38 +00:00
Stanislav Shwartsman
b75a1d9ea5 Remove debug print 2007-11-18 18:27:09 +00:00
Stanislav Shwartsman
cdc9a09090 Split more opcodes 2007-11-18 18:24:46 +00:00
Volker Ruppert
570e87733c - updated after latest changes 2007-11-18 10:21:51 +00:00
Stanislav Shwartsman
83f6eb6945 Changes copyrights for the files I wrote :)
Also split EqId G1 group for x86-64
2007-11-17 23:28:33 +00:00
Stanislav Shwartsman
613bad34ee split MOVZX/MOVSX opcodes 2007-11-17 18:29:00 +00:00
Stanislav Shwartsman
5ec15df46d Split more opcodes EbIb opcodes 2007-11-17 18:08:46 +00:00
Stanislav Shwartsman
d5a58e1df2 Split more opcodes - G3 group 2007-11-17 16:20:37 +00:00
Stanislav Shwartsman
033150c7e6 According to AMD docs opcodes 0f 19...0f 1f are multibyte NOP 2007-11-17 16:19:14 +00:00
Stanislav Shwartsman
d9e58bd598 split11b on opcode tables level - split almost eevery splittable instruction
will be continued
2007-11-17 12:44:10 +00:00
Stanislav Shwartsman
abe3f4c5c2 Split one more opcode 2007-11-16 21:43:23 +00:00
Stanislav Shwartsman
b4b922809a Move 3byte opcode decoding under Modrm condition 2007-11-16 20:49:51 +00:00
Stanislav Shwartsman
d4db077e48 Fixed MSVCPP warning/error 2007-11-16 20:33:21 +00:00
Stanislav Shwartsman
565e7f9868 Merge common fetchdecode groups. Add more comments to fetchdecode tables 2007-11-16 18:34:14 +00:00
Stanislav Shwartsman
393018cdf8 More split11b 2007-11-16 17:45:58 +00:00
Stanislav Shwartsman
351244d1ea Rename splitmod11b methods 2007-11-16 08:30:22 +00:00
Stanislav Shwartsman
db02731cbf Replace BxAnother attribute in fetchdecode by table lookup like it is done in disasm. This is done in preparation to feature huge fetchdecode change - all fethdecode tables will be duplicated and made separatate table for ModC0 and others.
So ALL instructions will emjoy SplitMod11b automatically (if they want).
After splitting ALL instruction I hope to get 20% speedup at least.
2007-11-15 17:57:56 +00:00
Stanislav Shwartsman
9da22f9b65 Remove redundant BxAnother attr from prefixes
The meaning of BxAnother attr - instryction has modrm byte
2007-11-14 22:52:16 +00:00
Stanislav Shwartsman
b1984282b2 simplify disasm resolve function 2007-11-14 22:49:51 +00:00
Stanislav Shwartsman
dc5c25133f Fixes in registers read/write -> fixed zero upper of register in POP_Ed 2007-11-13 21:07:08 +00:00
Stanislav Shwartsman
0fa82afe1f Bugfix and optimize BxResolve calls - bugfix in 64-bit mode 2007-11-13 17:30:54 +00:00
Stanislav Shwartsman
72af550a0f Some indent fixes + speed up hardware read by using inline functions 2007-11-12 21:04:17 +00:00
Stanislav Shwartsman
90721b75f6 Merge patch from #SF patches tracker:
1830658  Fix >32GB disk banner
2007-11-12 20:58:37 +00:00
Stanislav Shwartsman
edfff23ca0 Split JCC methods to 16 different methods per branch condition 2007-11-12 18:20:15 +00:00
Stanislav Shwartsman
aed6640ef4 speedup JCC for 64-bit -> separate JZ/JNZ for single faster methods 2007-11-11 21:26:10 +00:00
Stanislav Shwartsman
7648101f28 Optimize metainfo data - ilen() and b1() methods get speedup 2007-11-11 21:14:24 +00:00
Stanislav Shwartsman
eea5023da8 small simplification for fetchdecode 2007-11-11 20:56:22 +00:00
Stanislav Shwartsman
9dc471bbe5 Simplify Guest2HostTLB code
Fixed APIC CPUID bit
2007-11-11 20:44:07 +00:00
Stanislav Shwartsman
5fd21257de Remove qick TLBN invalidation code - it actually only could slow down emulation 2007-11-09 21:14:56 +00:00
Stanislav Shwartsman
ce295f7d69 Update save/restore TODO 2007-11-09 12:08:30 +00:00
Stanislav Shwartsman
24e1936fbb Fixed compilation warning when compiling with no x86-64 2007-11-09 12:06:34 +00:00
Stanislav Shwartsman
2653d54e96 split 32-bit modermdata variable in BxInstruction_c to 4 Bit8u variables
this way it is possible to save shifts and masking when accessing modrm fields
2007-11-08 18:21:37 +00:00
Stanislav Shwartsman
2f5fa07af3 small speedups 2007-11-07 10:40:40 +00:00
Stanislav Shwartsman
cfca3fdb8b merge gate286 and gate386 in descriptor.h 2007-11-06 19:17:42 +00:00
Stanislav Shwartsman
494189e822 Small optimization for ADD lazy flags calculations.
Because most likely flags are not needed after ADD instruction - it is better to store less data for lazy flags and reconstruct it if needed
2007-11-06 08:39:25 +00:00
Stanislav Shwartsman
6629f6dea3 Fixed macro redefinition 2007-11-05 16:36:37 +00:00
Stanislav Shwartsman
44e49f2fe2 Fixed CPU state print in debug dump 2007-11-05 16:28:03 +00:00
Volker Ruppert
cd0e516962 - applied rombios patches from SF patches section by Sebastian
* save PnP Option ROM Product Name string in IPL Boot Table
  * move the #define IPL_* lines to top of the file and change
    struct ipl_entry to ipl_entry_t by using typedef
2007-11-04 15:40:20 +00:00