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
Volker Ruppert
56dd9fe3d9
- fixed several MSVC compilation warnings
...
* MSVC doesn't support localized variables (e.g. valid inside of a 'for' loop
only). So we cannot use the variable 'i' with different types (unsigned / int)
in the reset() method.
* added some conversions from Bit64s to bx_bool
2007-11-03 16:55:08 +00:00
Volker Ruppert
c73f262dc3
- fixed compilation error with raw serial enabled
...
- removed unnecessary spaces
2007-11-03 16:47:49 +00:00
Volker Ruppert
cc80157a94
- fixed compilation error
2007-11-02 23:30:07 +00:00
Volker Ruppert
018484006b
- fixed compilation errors
2007-11-02 16:58:46 +00:00
Stanislav Shwartsman
9481924b35
small bugfix in print stack command
2007-11-01 20:53:20 +00:00
Stanislav Shwartsman
5a172541e2
Small cleanup
2007-11-01 20:43:53 +00:00
Stanislav Shwartsman
b90e97858b
Update CPU TODO and CHANGES
2007-11-01 19:04:01 +00:00
Stanislav Shwartsman
aecf53ac94
Fixed compilation errors
2007-11-01 18:14:28 +00:00
Stanislav Shwartsman
e137560b14
Complete MONITOR/MWAIT implemntation (including monitoring of memory range)
...
Fixed PANIC in read/write Cr/Dr - should #UD with unkown register used
2007-11-01 18:03:48 +00:00
Stanislav Shwartsman
4c6836e383
Applied patch from #SF tracker
2007-10-31 13:10:04 +00:00
Stanislav Shwartsman
ce0e0287fb
Naturally speedup repeat execution functions, fix TLB index calculations
2007-10-30 22:15:42 +00:00
Stanislav Shwartsman
afdcadad73
Added ability to switch off bochs loging (BX_DEBUG/INFO/ERROR)
2007-10-30 18:57:46 +00:00
Stanislav Shwartsman
754e43baed
FOO is 11 bit only field
2007-10-30 18:52:25 +00:00
Stanislav Shwartsman
a83b8ae843
Slight speed improvement in string functions
2007-10-29 15:39:18 +00:00
Stanislav Shwartsman
d30a0d3699
warning fixes
2007-10-24 23:29:40 +00:00
Stanislav Shwartsman
1b8988f698
warnings fixed
2007-10-24 23:17:42 +00:00
Stanislav Shwartsman
8d44a9e355
Warnings fixed
2007-10-24 23:09:59 +00:00
Stanislav Shwartsman
a4e20e9d29
warnings fixed
2007-10-24 23:02:09 +00:00
Stanislav Shwartsman
f0cfc15656
Update CHANGES
2007-10-23 22:10:47 +00:00
Stanislav Shwartsman
7f1bdefedc
Update docs and help
2007-10-23 21:59:04 +00:00
Stanislav Shwartsman
6d7134ef99
Remove dump_cpu debugger function, CPI method and all related structures.
...
Extended 'info' command in debugger to have all functionality of dump_cpu if needed. Also param tree print always could be used !
2007-10-23 21:51:44 +00:00
Stanislav Shwartsman
292153b30e
Fixed BranchImm cases in 64-bit mode
2007-10-22 17:41:41 +00:00
Stanislav Shwartsman
68ef783632
reduce amount of used temp variables
2007-10-21 23:35:11 +00:00
Stanislav Shwartsman
42fdd8a3a1
During Bochs benchmarking I figured out that hostasm actually slow down the emulation ... so remove this ugly code which also doesn't help :)
...
speedup flags update for some instructions - idea was taken from DT patch by h.johansson
2007-10-21 22:07:33 +00:00
Stanislav Shwartsman
28a5c6741c
Fix SSE4 MOVNTDQA instruction - memory access must be always aligned
2007-10-20 17:03:33 +00:00
Stanislav Shwartsman
5445de19d1
Decoding : F2 and F2 prefix could override prefix 66 when determine SSE opcode
2007-10-20 10:56:44 +00:00
Stanislav Shwartsman
0a621e6c43
Remove out-of-date patch
2007-10-19 23:02:16 +00:00
Stanislav Shwartsman
679110caa9
fixed push to new stack for long mode
2007-10-19 12:40:19 +00:00
Stanislav Shwartsman
0f3fdaf94b
exception was suffering from the same issue - fixed with new_stack push functtions
2007-10-19 10:59:39 +00:00
Stanislav Shwartsman
14b4f66d4e
Fixed comments for bios_printf (patch from #SF tracker)
2007-10-19 10:26:49 +00:00
Stanislav Shwartsman
0fc32d3c81
Fixed except_chk issue in more clean way - added 3 new methods for pushing to new, still not loaded stack
2007-10-19 10:14:33 +00:00
Stanislav Shwartsman
4ec7f5df39
Optimize access to IP (16 bit) - made IP register similar to GPR
2007-10-18 22:44:39 +00:00
Stanislav Shwartsman
8065ada31f
Some EIP setting cleanups.
...
OK, currently I see big mess with setting of CS/EIP and SS/ESP everywhere, I have to unify it and make it easier !
2007-10-18 21:27:56 +00:00
Stanislav Shwartsman
f8317d2dcd
Unwrap all memory access functions, speed is still more important that code duplication in Bochs :)
2007-10-17 18:09:42 +00:00
Stanislav Shwartsman
52211d2e80
renew trace cache patch - update to the CVS
2007-10-16 22:03:43 +00:00
Stanislav Shwartsman
6c79b067a6
Fixed __386__ macro in guest2host memory accesses - should be LITTLE_ENDIAN instead
2007-10-16 16:17:48 +00:00
Stanislav Shwartsman
f69a21ab2b
Fix some copyright messages
2007-10-15 22:07:52 +00:00
Stanislav Shwartsman
c0640a078c
INFO message about CPU reset
2007-10-14 21:42:50 +00:00
Stanislav Shwartsman
52891b501b
Correct name for cpu param when only 1 cpu is used
2007-10-14 19:36:23 +00:00
Stanislav Shwartsman
e9801ef501
Support for restore cpu (and any other device from bochs root) from debugger
2007-10-14 19:04:51 +00:00
Volker Ruppert
834904f49b
- improved HD recognition and CD boot (patches by Myles Watson)
...
* fixed minor error from printf patch confusion (negation based on wrong word)
* added helper function await_ide
* changed lba calculation to not corrupt lba (for debugging and clarity)
* added support for partial completions of ata_cmd_packet (never happens in
the simulator, but happens all the time in hardware)
* update atapi_request_sense and atapi_is_ready - based on FILO
* correct an int 15 call that should have been int 0x15
* trivial fix when BX_PCIBIOS and BX_ROMBIOS32 not defined
- implemented %X in bios_printf (patch by Sebastian)
2007-10-14 08:11:35 +00:00
Stanislav Shwartsman
e6d13d526b
Suppory 64-=bit CR2 value in info cr command
2007-10-14 00:23:06 +00:00
Stanislav Shwartsman
c0e7c31b7d
Param name fixed to capital letters
2007-10-14 00:22:07 +00:00
Stanislav Shwartsman
d7431ca11a
Support for functionilirt of restoring/saving some single leaf insetad of all restore_hardware - will be used in debugger
2007-10-14 00:20:30 +00:00
Stanislav Shwartsman
ac272e9383
Changes breakpoints configure time enable macroses - reduce amount of compile-time parameters
2007-10-12 22:11:25 +00:00
Stanislav Shwartsman
2a1bcb3e21
Some fixes in CPUID by default
2007-10-12 21:45:41 +00:00
Stanislav Shwartsman
26848ad07d
Change ARPL error message to BX_DEBUG (happens too offen in win98)
2007-10-12 19:45:12 +00:00
Stanislav Shwartsman
082eb05b6b
First step to fully configurable CPUID
...
- put CPUID functions data into array, in future we could load this array from configure file
- cpuid initialize function is more flexible now but still reuire some work
2007-10-12 19:30:51 +00:00
Stanislav Shwartsman
be9ad60ef3
cleanups
2007-10-11 22:44:17 +00:00
Stanislav Shwartsman
8adbbcf17c
Started first implementation of MONITOR/MWAIT
2007-10-11 21:29:01 +00:00
Stanislav Shwartsman
f6ed95785f
added cpu state param - for future use and for dbg info
...
started to move debugger to info bx_param interface -> info sse and info mmx commands modified
2007-10-11 18:12:00 +00:00
Stanislav Shwartsman
fbcdfa49c2
Cleanup
2007-10-10 22:20:32 +00:00
Stanislav Shwartsman
c6efc84149
Optimize building of segment ROK/WOK cache
2007-10-10 22:00:51 +00:00
Stanislav Shwartsman
82b7eaabd5
CLFLUSH do not fault when checking execute only segment
2007-10-10 21:48:46 +00:00
Volker Ruppert
ed3fdad74d
- reverted removal of one DPTE checksum bugfix
...
- fixed %ld and %lu padding (now only using it for %lx)
2007-10-10 17:12:07 +00:00
Stanislav Shwartsman
c0d5b9040c
Prepare for 4-arg instructions (will be needed for AMD SSE5)
2007-10-09 20:24:42 +00:00
Stanislav Shwartsman
624a543c34
Fix compilation warning
2007-10-09 20:23:01 +00:00
Stanislav Shwartsman
07739173f5
add --show-ips to all configs for future releases (it is not ON by default ?)
...
Bit32u -> bx_phy_address in debugger and some other places
2007-10-09 19:49:23 +00:00
Volker Ruppert
fc6693001c
- rombios patches by Myles Watson <mylesgw@gmail.com>
...
* corrects a spelling error and removes the lba_capable comment
* moves dpte_segment after dpte_offset (endian problem) in the struct
* changes int13 0x15 to use the logical geometry instead of physical to
return sectors
* clips cylinders in Int13DPT
* fixes bit shift problem in options (parens in the wrong place)
* returns the correct offset for dpte.iobase2
* fixes a pointer arithmetic error in calculating the checksum of the dpte
* moves #if BX_SUPPORT_FLOPPY to include more floppy code
* added support for %lx %ld and %lu for bios_printf()
2007-10-09 16:49:53 +00:00
Stanislav Shwartsman
2d981562c4
changes Bit32u -> bx_phy_address in dbg paging method
2007-10-08 20:45:30 +00:00
Stanislav Shwartsman
a206d3aef6
Enable MTRRs by default for P6
2007-10-08 19:46:37 +00:00
Stanislav Shwartsman
c8b4b32826
Merged harddrive patch from #SF tracker
2007-10-08 19:33:08 +00:00
Stanislav Shwartsman
9326aa151f
Merge checksum patch from mailing list -> need to recompile BIOS
2007-10-07 21:09:15 +00:00
Stanislav Shwartsman
2548c05537
Enable SSE4_2 in CPUID
2007-10-01 21:08:26 +00:00
Stanislav Shwartsman
dbb91069f4
Added SSE4_2 instructions emulation
2007-10-01 19:59:37 +00:00
Stanislav Shwartsman
de72d9141f
Disasm updates (bugfixes) + disasm of all SSE4_2 instructions
2007-10-01 19:57:46 +00:00
Stanislav Shwartsman
a0d0de9fd4
Fixed ARPL issue mentioned in
...
Attacks on Virtual Machine Emulators
document by Symantec
2007-09-30 18:47:41 +00:00
Volker Ruppert
e48647acc1
- updates related to the save/restore changes
2007-09-29 09:01:02 +00:00
Stanislav Shwartsman
c6df131c0e
Added save/restore to deprecated options in configure script. Removed very old (more than 2 years old) depracated options
2007-09-28 20:26:33 +00:00
Stanislav Shwartsman
1a5648c269
Update major changes in CHANGES
2007-09-28 20:05:50 +00:00
Stanislav Shwartsman
9246d90989
Removed save/restore option
2007-09-28 20:03:31 +00:00
Stanislav Shwartsman
071c5c1a26
A lot of changes but everything is really trivial.
...
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
2007-09-28 19:52:08 +00:00
Volker Ruppert
1c5955c9ff
- installer now uses system variable WINDIR instead of hardcoded C:\WINDOWS
...
- uninstaller did not remove legacy BIOS file
2007-09-28 17:58:48 +00:00
Volker Ruppert
31d7fb897b
- fixed windebug feature for x86-64
2007-09-27 21:21:21 +00:00
Stanislav Shwartsman
aaf2077bf7
Enable BIOS compilation on amd64 host (patch from developers mailing list + SF tracker)
2007-09-27 20:17:05 +00:00
Stanislav Shwartsman
02b7d8b43d
Remove 'result' variable where it is definitelly not needed - simplify sse code
2007-09-27 16:23:29 +00:00
Stanislav Shwartsman
d9005b88c1
Added error code for exception debug messages - help to debug
2007-09-27 16:22:14 +00:00
Stanislav Shwartsman
deb79e9675
[Bochs-developers] [PATCH] avoid RCX without BX_SUPPORT_X86_64
2007-09-27 16:11:32 +00:00
Stanislav Shwartsman
476baaf1d8
ThiS patch makes watchpoints work even if they are triggered on CPUs other than CPU 0 during SMp.
...
Patch from developers mailing list
2007-09-27 16:10:45 +00:00
Stanislav Shwartsman
33a5305803
Fix error message when doing set cpu command
2007-09-27 07:03:11 +00:00
Stanislav Shwartsman
7e629dedad
remove dbg print
2007-09-26 19:10:41 +00:00
Stanislav Shwartsman
44a04a5fa3
readability/writeability bit should not be checked in 64-bit mode
2007-09-26 19:09:10 +00:00
Stanislav Shwartsman
dcb0335ae9
Debug first instruction in exception handler after exception
2007-09-26 18:07:39 +00:00
Stanislav Shwartsman
e812f81e7b
Fixes in zero upper ECX
2007-09-25 16:11:32 +00:00
Stanislav Shwartsman
6b86091441
Implemented new debugger 'page' command according to feature request
...
[ bochs-Feature Requests-604221 ] Debugger command: query lin<->phys mapping
2007-09-23 21:10:06 +00:00
Volker Ruppert
208caf109b
- missing 'datarootdir' variable added (fixed warning from configure script)
2007-09-23 08:45:14 +00:00
Volker Ruppert
cd3f204da9
- removed old BX_SCHEDULED_DIE_TIME code after added new benchmark option
2007-09-23 08:44:30 +00:00
Stanislav Shwartsman
f71f2712a2
Removed duplicate code
2007-09-22 16:04:47 +00:00
Stanislav Shwartsman
c719eecb8d
Implemented Bochs benchmarking mode according to feature request
...
[ 1799946 ] benchmark mode
2007-09-22 15:59:41 +00:00
Stanislav Shwartsman
f562eed497
Applied patch
...
[ 1799877 ] Fix for parallel build (make -j2)
2007-09-22 13:02:42 +00:00
Stanislav Shwartsman
ebde420f14
Fixed SMP assertion
2007-09-22 12:59:40 +00:00
Stanislav Shwartsman
3e3254ecc4
some speedup for SSE code - achived by code simplification
2007-09-20 22:55:03 +00:00
Stanislav Shwartsman
71902dc8bd
Print ACPI support indication
2007-09-20 18:50:01 +00:00
Stanislav Shwartsman
91e6ca8d5c
Implemented MTRR support
...
Fixes in #PF exception priority
2007-09-20 17:33:35 +00:00
Volker Ruppert
1db3741d56
- removed duplicate file from archive
2007-09-19 21:09:36 +00:00
Stanislav Shwartsman
8e0ddbc59b
dos2unix
2007-09-19 19:43:47 +00:00
Stanislav Shwartsman
0dc4badfbb
Added SSE4A and SSE4_2 to disassembler
...
Implemented POPCNT instruction
2007-09-19 19:38:10 +00:00
Volker Ruppert
8c80696023
- regenerated after version number update
2007-09-17 16:22:22 +00:00
Volker Ruppert
df53247fa8
- exclude statements must appear prior to the file list (expected by tar 1.15.1)
...
- added release tag for 2.3.5 to user doc
- updated version number and strings after release
2007-09-17 16:20:24 +00:00
Volker Ruppert
2fa8e4dce8
- updates for release 2.3.5
2007-09-16 07:53:00 +00:00
Volker Ruppert
20175e10dd
- updated several parts of the documentation
2007-09-15 16:00:25 +00:00
Volker Ruppert
31cf899020
- fixed the memory allocation for the ACPI tables in situations when less than
...
16MB are present (patch by Bernhard Kauer)
2007-09-15 07:24:37 +00:00