Commit Graph

6267 Commits

Author SHA1 Message Date
Volker Ruppert
5812e375a2 - added version info for wxMSW port 2008-02-10 22:03:47 +00:00
Stanislav Shwartsman
7c97f38d59 Added Bochs version info for Win32 - patch from @SF tracker 2008-02-09 07:51:15 +00:00
Stanislav Shwartsman
452d8f0ac7 Implemented "copy from little endian" macros for BIG_ENDIAN hosts.
tab2space cleanup in bochs.h
2008-02-07 21:08:55 +00:00
Stanislav Shwartsman
2730fa9583 Fixed comment - patch from @sf tracker 2008-02-07 20:46:08 +00:00
Stanislav Shwartsman
063d896226 Optimization in 16-bit resolve functions
Fixes for hosts which can't support misaligned memory access
2008-02-07 20:43:13 +00:00
Stanislav Shwartsman
965568ea88 cleanups 2008-02-07 18:28:50 +00:00
Stanislav Shwartsman
0812346655 whitespace cleanup for CHNAGES 2008-02-07 06:24:57 +00:00
Stanislav Shwartsman
55ad3e89b6 another whitespace cleanup by Sebastien 2008-02-05 22:57:43 +00:00
Stanislav Shwartsman
097febde3e added feature req closed for 2.3.6 2008-02-05 22:44:02 +00:00
Stanislav Shwartsman
eebd96e2d7 another whitespace cleanup by Sebastien 2008-02-05 22:33:35 +00:00
Stanislav Shwartsman
fb0ce45d28 Unpack more fields in bxInstruction_c -> this increase bxInstruction size by 4 bytes but I have no way but do it if want to support SSE5 dest override later 2008-02-04 21:28:53 +00:00
Stanislav Shwartsman
25a9b9fef1 whitespace cleanup again 2008-02-03 20:27:06 +00:00
Volker Ruppert
120f5a06ea - rewrite of the text_update() method based on the framework used by other guis.
This code is untested and it should add support for these features:
  * variable line offset
  * cursor color, disable and blinking
  * character blinking
  * TODO: variable cursor size, line graphics, h/v pel panning, split screen
2008-02-03 10:04:02 +00:00
Stanislav Shwartsman
a2897933a3 white space cleanup 2008-02-02 21:46:54 +00:00
Stanislav Shwartsman
a111eee1ae Merge @SF patch
[ 1881500 ] bochsrc, allow boot: network
2008-02-01 20:38:50 +00:00
Volker Ruppert
e3e3cb5bb7 - text mode character blinking feature implemented 2008-02-01 18:10:36 +00:00
Stanislav Shwartsman
032b13047c Minor fix in cpu reset, bug sometimes caused to run on garbage memory after software reset. Some small debug messages fixes 2008-02-01 13:25:23 +00:00
Stanislav Shwartsman
a3c0c4e58f Update typical IPS achived by Bochs 2.3.6 2008-02-01 09:42:25 +00:00
Volker Ruppert
42549b0160 - text mode character blinking feature implemented 2008-01-31 21:45:18 +00:00
Volker Ruppert
885fd16565 - fixed compilation error with wx debugger enabled 2008-01-31 21:44:28 +00:00
Volker Ruppert
4bcc331773 - text mode character blinking feature implemented 2008-01-30 22:06:52 +00:00
Stanislav Shwartsman
5f18ed902d fixed compilation issue 2008-01-29 22:29:48 +00:00
Stanislav Shwartsman
1a55fce072 remove staruct for eflags and use single 32-bit variable 2008-01-29 22:26:29 +00:00
Stanislav Shwartsman
f16d34c01c new file instr.h 2008-01-29 17:37:37 +00:00
Stanislav Shwartsman
b2418742c0 tab2space in unmapped.cc 2008-01-29 17:34:52 +00:00
Volker Ruppert
f735ac4f29 - implemented text mode character blinking feature and removed obsolete comments 2008-01-29 17:16:14 +00:00
Stanislav Shwartsman
37fbb82baa Cleanups. Move bxInstruction_c definition to separate file instr.h 2008-01-29 17:13:10 +00:00
Stanislav Shwartsman
9f4dd0df8a Fixed BX_ERROR message in LTR instruction 2008-01-29 06:23:49 +00:00
Volker Ruppert
5daa9c5975 - text mode character blinking feature added in the X11 and SDL guis
- fixed sdl status bar update after resize
- updated some comments
2008-01-28 21:52:09 +00:00
Stanislav Shwartsman
8653095520 small optimization in cpu_loop with trace cache 2008-01-28 20:09:40 +00:00
Stanislav Shwartsman
8aca8b4bd7 Merged @SF patch by Sebastian
1880755  Win32 version information for bochs.exe
2008-01-27 18:02:22 +00:00
Stanislav Shwartsman
3cb5a781e8 Merged BIOS @SF patches by Sebastian
1878558  SMBIOS fixes
1880471  SMBIOS fix type 0
2008-01-27 17:57:26 +00:00
Stanislav Shwartsman
ae35b0276e white space cleanups and coding style changes 2008-01-26 22:24:03 +00:00
Volker Ruppert
d770227f8f - fixed wrong variable type
- fixed MSVC warnings
2008-01-26 19:01:31 +00:00
Stanislav Shwartsman
947c7581fe whitespace cleanup 2008-01-26 09:15:27 +00:00
Volker Ruppert
4fd404b622 - get rid of text_update() parameter 'nrows' (updated remaining guis)
- text mode cursor blinking implemented
2008-01-26 00:00:31 +00:00
Stanislav Shwartsman
7b80c5f481 I merged and succeded to remove some similar execution functions - less code, less chance for branch misprediction 2008-01-25 19:34:30 +00:00
Stanislav Shwartsman
4634e2cd4d BIOS whitespace cleanup 2008-01-24 21:57:22 +00:00
Volker Ruppert
afd6348b36 - implemented screen disable bit in sequencer register #1 2008-01-23 18:10:33 +00:00
Stanislav Shwartsman
9ec2c87aaa cleanups and optimizations 2008-01-22 16:20:30 +00:00
Volker Ruppert
ec3415a7eb - applied patch from the Qemu-devel list by Filip Navara
* added generation of SSDT ACPI table that contains definitions for available
    processors
  * added basic implementation of SMBIOS
  * Added querying of BIOS UUID using VMware backdoor I/O port (enable only if
    BX_QEMU is defined)
  * Added RTC device to ACPI DSDT table
2008-01-21 21:44:29 +00:00
Stanislav Shwartsman
192f398b46 removed --enable-magic-breakpoint configure option - it is enabled by default if Bochs internal debugger compiled in. Also it always possible to switch magic break off by .bochsrc option 2008-01-21 21:36:58 +00:00
Stanislav Shwartsman
4f7d5f5e28 Clean very old deprecated optionS 2008-01-21 21:03:34 +00:00
Stanislav Shwartsman
abe7373657 Merged some BIOS patches from @SF tracker 2008-01-21 15:06:29 +00:00
Stanislav Shwartsman
63d8d50cfc code cleanup 2008-01-20 20:11:17 +00:00
Stanislav Shwartsman
932d758547 Do not try to update access/dirty bit if it was already set 2008-01-20 17:46:02 +00:00
Stanislav Shwartsman
01f75d6753 Merged patch from @SF tracker
1875414  Makefile.in - change make use  by Sebastian
2008-01-19 22:32:28 +00:00
Stanislav Shwartsman
b5cb48cae9 again compilation error fixed 2008-01-18 09:38:54 +00:00
Stanislav Shwartsman
8c9de8b4db speculative tracing on fetchdecode level 2008-01-18 09:36:15 +00:00
Stanislav Shwartsman
40ae796dfa speculative tracing config.h parameter 2008-01-18 09:35:19 +00:00
Stanislav Shwartsman
d18b90484f Added instr callbacks for sysenter/sysexit/syscall/sysret 2008-01-18 08:57:35 +00:00
Stanislav Shwartsman
b94557861f added sysenter/sysexit/syscall/sysret to far branch instr callback 2008-01-18 08:56:57 +00:00
Stanislav Shwartsman
2e07b43ac6 Fixed compilation error 2008-01-17 21:35:21 +00:00
Stanislav Shwartsman
235bca1280 dos2unix 2008-01-17 21:16:23 +00:00
Stanislav Shwartsman
88a4776244 taking all CPU icache/trace cache related stuff into separate source file from cpu.cc 2008-01-17 21:15:23 +00:00
Stanislav Shwartsman
ff0cae91c9 Fixed compilation warnings 2008-01-17 15:39:45 +00:00
Stanislav Shwartsman
e287dcd91a correctly implement CLFLUSH protection/paging checks + add instrumentation callback 2008-01-16 22:56:17 +00:00
Stanislav Shwartsman
1ff667a2d1 instrumentation updates 2008-01-16 22:54:46 +00:00
Stanislav Shwartsman
9be2d79f98 Added a parameter to INVLPD instrumentation call 2008-01-16 22:39:55 +00:00
Stanislav Shwartsman
31bab8e058 Fixed compilation error with instrumentation enabled 2008-01-16 22:20:21 +00:00
Stanislav Shwartsman
08eb75d985 Some workaround for bug report
1824189  Qemu hard disk image not reckognized
2008-01-14 20:47:11 +00:00
Volker Ruppert
0a8105e95e - implemented LBA48 support (since BIOS functions are limited to 32 bit, the
max. disk size is now 2 TB)
2008-01-14 19:11:15 +00:00
Stanislav Shwartsman
9e53b71a55 Segment base in not long mode should only 32-bit 2008-01-14 19:03:50 +00:00
Volker Ruppert
bf8296f9f4 - ACPI fixes ported from Qemu
* set revision number to 3 (older revisions are known to be buggy)
  * fixed PM and SMBus base address alignment
2008-01-14 18:39:05 +00:00
Stanislav Shwartsman
c6fd4ebf94 Split CALL_Ev and JMP_Ev methods 2008-01-12 16:40:38 +00:00
Stanislav Shwartsman
90e321469f Optimized IP-relative memory access 2008-01-10 21:32:12 +00:00
Stanislav Shwartsman
77b4b70b9b oops, revert incorrectly merged change 2008-01-10 20:32:23 +00:00
Stanislav Shwartsman
1f4608cd84 Fix for implemened 3dnow instuctions (most of them are not implemented) 2008-01-10 20:26:49 +00:00
Stanislav Shwartsman
d9984bb3a1 Eliminate BxResolve call from the heart of cpu loop and move into instructions that really require this calculation. Yes, it blows the code of EVERY CPU method but it has >15% speedup ! 2008-01-10 19:37:56 +00:00
Stanislav Shwartsman
3b53e234da Merge SF tracker BIOS patches 2008-01-06 21:00:18 +00:00
Stanislav Shwartsman
c9299c7a3d Save CPUID signature BIOS patch from @SF tracker 2008-01-06 20:57:24 +00:00
Stanislav Shwartsman
e7a45770fd More optimization for short traces 2008-01-05 10:45:05 +00:00
Stanislav Shwartsman
a9e001bd30 Optimize short traces 2008-01-05 10:21:25 +00:00
Stanislav Shwartsman
cce3699e0b Fixed warning and possible compilation error 2008-01-01 18:12:31 +00:00
Stanislav Shwartsman
f8320c4fe2 removed unused variable 2008-01-01 18:01:39 +00:00
Stanislav Shwartsman
eee1a9030d a bit simplify and optimize shift instructions
print failed segment info in check_cs - more debug info
2007-12-30 20:16:35 +00:00
Stanislav Shwartsman
72d72c92d4 Fixed warnings of VC2008 2007-12-30 18:02:22 +00:00
Stanislav Shwartsman
d891f0d8ec Fixed more VC2008 warnings - hopefully last ones 2007-12-30 17:53:12 +00:00
Stanislav Shwartsman
79fc57dec8 Fixed more VCPP2008 warnings 2007-12-26 23:07:44 +00:00
Stanislav Shwartsman
917a040cc4 Fixed more VCPP2008 warnings 2007-12-26 18:39:15 +00:00
Volker Ruppert
7d01b2f067 - regenerated after release 2.3.6 2007-12-26 13:15:02 +00:00
Volker Ruppert
040226d1d5 - added release tag for 2.3.6 to user doc
- updated version number and strings after release
2007-12-26 13:13:55 +00:00
Stanislav Shwartsman
fc159e3bcf small cleanup 2007-12-25 21:42:38 +00:00
Volker Ruppert
a33892d3cb - updates for release 2007-12-24 10:01:29 +00:00
Volker Ruppert
f937c4c076 - changes for release 2.3.6 2007-12-24 09:52:40 +00:00
Stanislav Shwartsman
80aaa8961b Update CHANGES 2007-12-23 20:02:38 +00:00
Stanislav Shwartsman
c796f7fffa Define IPL values patch from #SF tracker 2007-12-23 19:46:27 +00:00
Stanislav Shwartsman
38fb3d78be small cleanup in repeat code 2007-12-23 18:09:34 +00:00
Stanislav Shwartsman
085f408078 Fixed possible problem with repeat speedups in 64-bit mode.
Also was pointed out by MSVCPP2008 warnings
2007-12-23 17:46:44 +00:00
Stanislav Shwartsman
e4420d52c6 Emplement MASMOVDQU as RMW for efficiency (and correctness) 2007-12-23 17:39:10 +00:00
Stanislav Shwartsman
838fb2a048 Fixing V2008 warnings - they found a bug in sse_pfp.cc ! 2007-12-23 17:21:28 +00:00
Stanislav Shwartsman
948d85c24b Fixed MINGW compilation error 2007-12-22 22:02:08 +00:00
Stanislav Shwartsman
c3c9c40674 Move MaxFetch calculation into fetchdecode - simplify the logic 2007-12-22 17:17:40 +00:00
Stanislav Shwartsman
0e5859302b Avoid 64-bit calculations when checking remainingInPage bytes 2007-12-22 12:43:17 +00:00
Stanislav Shwartsman
7496ee7afa VM8086 is always ON 2007-12-21 21:16:34 +00:00
Stanislav Shwartsman
cc4a068d7b VM8086 is always ON' 2007-12-21 21:14:48 +00:00
Stanislav Shwartsman
48d56bf869 TODO update 2007-12-21 21:01:40 +00:00
Stanislav Shwartsman
e9a148f9c4 lmost last instruction split -> CMOV in 16/32 bit modes 2007-12-21 18:24:19 +00:00
Stanislav Shwartsman
d830c301cf Fixed 64-bit versions of LOOP instructions, some cleanups 2007-12-21 17:30:49 +00:00
Stanislav Shwartsman
62c098f627 Introduce new icache hash function suggested by Darek Mihocka
My studies show that in average new hash function of paddr + paddr>>4
suffers 5-10% less from aliasing in direct map cache array.
2007-12-21 12:38:57 +00:00
Stanislav Shwartsman
43e356fb60 TLB macro 2007-12-21 11:11:50 +00:00
Stanislav Shwartsman
a93b0afdbe Merge page split detection method suggested by Darek Mihocka 2007-12-21 10:33:39 +00:00
Stanislav Shwartsman
5d4e32b8da Avoid pointer params for every read_virtual_* except 16-byte SSE and 10-byte x87 reads 2007-12-20 20:58:38 +00:00
Stanislav Shwartsman
bfd2cb67f4 Add include sys/time.h to fix compilation error 2007-12-20 18:32:14 +00:00
Stanislav Shwartsman
b516589e4e Changes in write_virtual_* and pop_* functions -> avoid moving parameteres by pointer 2007-12-20 18:29:42 +00:00
Volker Ruppert
46b3ec2397 - don't abort ATA reset for not existing slave drive. The reset bit must
always be cleared to avoid blocking existing master drive.
2007-12-20 18:12:35 +00:00
Stanislav Shwartsman
6ac7fa7106 MMX - modify masked write to RMW - faster execution
CMPXCHG8B/16B - fixed possible problem. Instruction not allowed to fault after some part of it written to the memory
2007-12-19 23:21:11 +00:00
Stanislav Shwartsman
c9932e97eb Fixes in resolve.cc -> reduce amount of resolve functions even more 2007-12-18 21:41:44 +00:00
Stanislav Shwartsman
d4ee2c0a59 cleanup 2007-12-18 21:08:55 +00:00
Stanislav Shwartsman
d032a30429 Fixed a lot of code duplication and possible bug with oncorrect implementation of repeat speedup in 64-bit guest 2007-12-17 21:13:55 +00:00
Stanislav Shwartsman
fe2e0525da More optimization for string instructions 2007-12-17 19:52:01 +00:00
Stanislav Shwartsman
0af87ab63b Split string instructions according to the address size - simpler and faster 2007-12-17 18:48:26 +00:00
Volker Ruppert
afbb8fb8d4 - ATA command "execute device diagnostic" raises interrupt at completion 2007-12-17 18:08:27 +00:00
Stanislav Shwartsman
6c8241da9a Added debug prints in case of exceptions 2007-12-16 21:46:39 +00:00
Stanislav Shwartsman
a545bf63ce push_64 and pop_64 could happen only in 64-bit mode 2007-12-16 21:40:44 +00:00
Stanislav Shwartsman
4f78ff2153 Code cleanup 2007-12-16 21:21:29 +00:00
Stanislav Shwartsman
6f96b119e1 Some compile time checks for configure SSE4A and SSE5A
I don't plan configure support for them now, because the instruction actually still not implemented
2007-12-16 21:06:44 +00:00
Stanislav Shwartsman
46366b5064 Speedup simulation by eliminating CPL==3 check from read/write_virtual* functions 2007-12-16 21:03:46 +00:00
Stanislav Shwartsman
de5838ce80 cleanups and fixes for Immediate_IbIb of SSE4A 2007-12-16 20:47:10 +00:00
Stanislav Shwartsman
8b5eaa5820 Make functions inline 2007-12-16 20:37:59 +00:00
Stanislav Shwartsman
99f4c633d5 Fixed typos in CHANGES 2007-12-16 20:37:25 +00:00
Stanislav Shwartsman
1e843cb462 Decode SSE4A
Rework immediate bytes decoding to make it faster
2007-12-15 17:42:24 +00:00
Stanislav Shwartsman
76882295f7 Small preparation for SSE4A and SSE5A implementation 2007-12-15 17:35:41 +00:00
Stanislav Shwartsman
3a6d714398 Split for JMP_Ew/Ed opcodes from Grp5 2007-12-14 23:15:52 +00:00
Stanislav Shwartsman
fd73390ca5 Split 64-bit CMOVcc opcode 2007-12-14 22:41:43 +00:00
Stanislav Shwartsman
903f6dea35 Split setCC functions - makes code faster and simpler 2007-12-14 21:29:36 +00:00
Stanislav Shwartsman
d9a59c7a1f Added ability to merge traces cross JCC branch instructions
Makes traces longer -> emulation faster in average
2007-12-14 20:41:09 +00:00
Stanislav Shwartsman
db69a25c36 Trace cache instrumentation methods
Next step will be tracing cross non-taken branches
2007-12-14 11:27:44 +00:00
Stanislav Shwartsman
48d815427c According to AMD docs INVLD/WBINVLD instructions not required to flush TLBs 2007-12-14 10:15:12 +00:00
Stanislav Shwartsman
c3e5c71000 post exceptions and print BX_ERROR messages in tasking.cc 2007-12-13 23:17:50 +00:00
Stanislav Shwartsman
d82209e28d A bit speedup 'continue' debugger command 2007-12-13 22:56:35 +00:00
Stanislav Shwartsman
f57e7c4a1f Some more Bit32u -> bx_phy_address changes in the code 2007-12-13 21:53:55 +00:00
Stanislav Shwartsman
85d10e4f72 Added MWAIT callback 2007-12-13 21:41:32 +00:00
Stanislav Shwartsman
f145f4c847 Unify BX_INSTR_MEM_READ and BX_INSTR_MEM_WRITE callbacks to single callback BX_INSTR_MEM_ACCESS
Enable the callback with guest-to-host TLB enabled
Update instrumentation docs
2007-12-13 21:30:05 +00:00
Stanislav Shwartsman
05c7a1e61b Fixed problem with trace cache enabled
String instructions might confise trace cache by finishing instruction execution method without actually completing an instruction (and advancing eip)
2007-12-13 18:42:31 +00:00
Stanislav Shwartsman
05a5923971 Merged Bochs instrumentation patch by Lluis Vilanova 2007-12-13 17:16:21 +00:00
Stanislav Shwartsman
da19b9447a All Jq instructions in 64-bit mode have fixed 64-bit osize 2007-12-10 23:04:18 +00:00
Stanislav Shwartsman
82b4d95077 Fixed typo 2007-12-10 21:01:25 +00:00
Stanislav Shwartsman
e15f7445f8 Faster memory access for 4G limit cases
A bit slower for <4G but usually it is 4G
2007-12-10 19:08:13 +00:00
Stanislav Shwartsman
92f7a3a805 Fixed several compilation errors under OSX 2007-12-10 19:05:07 +00:00
Stanislav Shwartsman
83529c1dd8 Update CHANGES 2007-12-09 18:55:03 +00:00
Stanislav Shwartsman
729bdb1556 Update instrumentation notes 2007-12-09 18:47:54 +00:00
Stanislav Shwartsman
f3de7de659 Remove already merged patch 2007-12-09 18:38:54 +00:00
Stanislav Shwartsman
adda3befd3 Trace cache optimization merged 2007-12-09 18:36:05 +00:00
Stanislav Shwartsman
ee465a7714 misaligned SSE support works only for loads 2007-12-09 17:40:23 +00:00
Volker Ruppert
688cb87e98 - skip SMM init if already done at first boot time (fixes reboot failure) 2007-12-09 15:38:41 +00:00
Stanislav Shwartsman
29267577f0 Fixed HLT problem in SMP binary which runs with single processor only 2007-12-08 09:26:13 +00:00
Stanislav Shwartsman
976af56f6d Split bit.cc to 4 files - new files bit16/32/64.cc 2007-12-07 10:59:18 +00:00
Stanislav Shwartsman
4c16dd71a8 Fixed compilation error in SMP mode 2007-12-07 09:38:42 +00:00
Stanislav Shwartsman
a8169d1cc1 Bugfix from developres mailing list 2007-12-06 22:21:40 +00:00