Commit Graph

10095 Commits

Author SHA1 Message Date
Stanislav Shwartsman
e592f81209 updates to internal disasm 2013-10-01 18:47:55 +00:00
Stanislav Shwartsman
147d788022 few fixes in new disasm module 2013-09-30 20:16:52 +00:00
Stanislav Shwartsman
fd383435f0 - Initial code for bx_Instruction_c disassembler which (together with Bochs decoder) will replace Bochs disasm module someday (very soon).
The code already knows to disasm most of the opcodes with their operands.

- Split according to OSIZE opcodes RDFSBASE/WRFSBASE / RDGSBASE/WRGSBASE both for disasm and performance

- Minimize amount of opcode forms in ia_opcodes.h again.
  For example Udq means the same as Wdq but with no memory form.
2013-09-30 19:01:42 +00:00
Volker Ruppert
a4b1c2a654 slirp / vnet: increased TFTP buffer size (max. file size 64 MB with blksize=1024) 2013-09-29 09:08:24 +00:00
Volker Ruppert
afa9226312 fixed and updated documentation for bochsrc option 'romimage' 2013-09-28 09:26:54 +00:00
Volker Ruppert
a8f1834c38 slirp / vnet TFTP support:
Detect and reply all supported TFTP extension options for both read and write
operations. Use 'blksize' value if smaller than buffer size.
TODO: increase buffer size, implement timeout mechanism
2013-09-28 08:56:54 +00:00
Volker Ruppert
4b59e6b884 slirp / vnet: added support for multiple TFTP sessions
slirp: fixed minimum eth packet size for builtin replies
2013-09-27 11:47:59 +00:00
Stanislav Shwartsman
01c0f07e4e fixed compilation error under cygwin which defines WIN32 2013-09-26 19:51:30 +00:00
Stanislav Shwartsman
fa06b26c88 Make possible to deliver instruction name for disasm directly from bx_ia_opcode_name (some opcodes were renamed).
Fixed bug in stack optimization in 64-bit mode (should result in some speedup)
ia_opcode.h - eliminate some OP_M cases when they actually meant "value of specific type in the memory"
example: "MOVBE Md, Gd" actually means "MOVBE Ed, Gd"which just not have reg/reg form.
2013-09-26 18:54:32 +00:00
Stanislav Shwartsman
9bed769cdd fixed typo in enable-evex option in configure script 2013-09-24 20:47:40 +00:00
Stanislav Shwartsman
839b841c38 added register type to register source information in decoder 2013-09-24 09:50:25 +00:00
Stanislav Shwartsman
ff79cbd596 Infrstructure change to support disasm of BxInstruction_c directly (without calling disasm)
The end goal will be also merging of disasm and cpu decoder to one module and remove the disasm.

Two bug fixes on the way:
TBM: fixed 64-bit TBM instructions with memory access (did 32-bit load instead of 64-bit)
BMI2: fixed operands order for PEXT/PDEP instructions
AVX2: fixed gather instruction decoding bug from decoder alias commit
2013-09-24 05:21:00 +00:00
Stanislav Shwartsman
f791802286 infrastructure change for several AVX handlers to support any VL and only 128/256 2013-09-21 20:40:57 +00:00
Stanislav Shwartsman
404b8b1475 move end of trace indication to separate 'flags' field of bx_ia_opcode. this saves a lot of code duplication and simplifies the decode tables. also on the way found missing SVM opcodes that missed 'end of trace' mark 2013-09-21 18:58:01 +00:00
Stanislav Shwartsman
047b17d415 fixed typo in makefile 2013-09-21 10:52:18 +00:00
Stanislav Shwartsman
cd55ace8c8 fixed compilation err, rename opcode and handler functions for PUSHA/POPA instructions 2013-09-21 10:03:49 +00:00
Stanislav Shwartsman
2526282ed9 small additions for avx512 2013-09-20 18:27:33 +00:00
Stanislav Shwartsman
3803ac7fbe fixed evex override mscsr controls 2013-09-19 21:38:25 +00:00
Stanislav Shwartsman
0441f82b02 implement more AVX512 instructions 2013-09-19 20:35:55 +00:00
Stanislav Shwartsman
55f9155bc5 add new file 2013-09-19 18:32:39 +00:00
Stanislav Shwartsman
8b3a0acde9 implement first EVEX instructions - VADDPS/PD/SS/SD 2013-09-19 18:31:30 +00:00
Stanislav Shwartsman
8e71a86542 seve vex prefix value to the indication of vex prefix used 2013-09-18 18:01:48 +00:00
Stanislav Shwartsman
da0e2baf22 avoid segfault when decoding incorrectly encoded kmask op 2013-09-17 21:01:24 +00:00
Stanislav Shwartsman
d169860f6c added masked operations to simd_pfp.h, optimize simd_int.h, rewrite dpps instr using new masked op from simd_pfp.h 2013-09-17 20:49:26 +00:00
Stanislav Shwartsman
aa25c1db6a name convention change - search and replace 2013-09-17 17:34:20 +00:00
Stanislav Shwartsman
b6c39a3176 merge AVX and SSE .bochsrc options to single SIMD option which will configure SSE and AVX together 2013-09-16 19:50:36 +00:00
Stanislav Shwartsman
1cebe5f83d rellback part of commit with xmm register access interface changes - doesn't work for big endian hosts 2013-09-16 19:10:42 +00:00
Volker Ruppert
ec4990a380 slirp / vnet: only one instance per Bochs session supported yet 2013-09-16 17:06:03 +00:00
Stanislav Shwartsman
0cb0acc30f added evex decode tables - next step to populate them :) 2013-09-15 20:48:39 +00:00
Stanislav Shwartsman
1e1fa45cac fixed makefile after file rename 2013-09-08 20:16:38 +00:00
Stanislav Shwartsman
e4a99b4294 rename avx512_mask.cc 2013-09-08 20:15:52 +00:00
Stanislav Shwartsman
132714bf29 fixed compilation w/o EVEX support enabled 2013-09-08 19:45:46 +00:00
Stanislav Shwartsman
8881800b1f enable avx-512 in init.cc 2013-09-08 19:35:37 +00:00
Stanislav Shwartsman
7297323c69 First step of AVX512 support implementation (simplest)
decode and implement KMASK manipulation instructions
disasm: coming soon
2013-09-08 19:19:16 +00:00
Stanislav Shwartsman
6ddfe5fc3b reorg avx opcodes in ia_opcodes.h. place v128 and v256 opcodes together. todo: find way to merge them sometimes 2013-09-07 18:52:31 +00:00
Stanislav Shwartsman
a6b85d9443 compress xop tables for vex.l - smaller binary size 2013-09-06 18:56:46 +00:00
Volker Ruppert
dbccb39fb7 fixed unused variable warning with BX_CPU_LEVEL <= 4 2013-09-06 06:44:05 +00:00
Stanislav Shwartsman
0fd4e3450c update (c) for few files 2013-09-05 18:40:14 +00:00
Stanislav Shwartsman
2c9cf33b2f update (c) for few files 2013-09-05 18:37:10 +00:00
Stanislav Shwartsman
69f947cef2 fixes and small optimizations for avx and xop decoding 2013-09-05 18:29:50 +00:00
Stanislav Shwartsman
f36364bc65 it doesn't matter if it was vex or xop ... 2013-09-05 17:52:47 +00:00
Volker Ruppert
d943feaf8e panic if cirrus support is requested but not available to avoid segfault 2013-09-05 07:38:22 +00:00
Volker Ruppert
7c0a261751 final fix for BX_CPU_LEVEL 4 2013-09-05 06:42:17 +00:00
Stanislav Shwartsman
897bf85494 fixed bug in fma4 decoding - found now thanks to new tables re-org 2013-09-04 18:37:49 +00:00
Stanislav Shwartsman
2f957bf142 re-arrange AVX/XOP table to avoid redundant multiplication in decode. TODO: compress the tables 2x using aliases 2013-09-04 18:36:01 +00:00
Stanislav Shwartsman
bb695fd5f5 remove redundant (and incorrect) check 2013-09-04 16:47:52 +00:00
Stanislav Shwartsman
5de4907f93 anotehr fix for Bochs compiled for cpu-level=4 2013-09-04 14:23:58 +00:00
Stanislav Shwartsman
81affbe328 fixed incorrect lock prefix detection 2013-08-30 20:08:04 +00:00
Stanislav Shwartsman
c2558f52d6 generic_cpuid: fixed xsave cpuid leaf when xsave is disabled (need to clear output) 2013-08-29 19:58:31 +00:00
Stanislav Shwartsman
59c65151f5 various fixes 2013-08-29 19:43:15 +00:00
Stanislav Shwartsman
7e2ab5ca81 decode simplification for AMD XOP prefix 2013-08-28 19:56:19 +00:00
Stanislav Shwartsman
5d61c19b0b evex support - step2 2013-08-27 20:47:24 +00:00
Stanislav Shwartsman
5fe5bf1ed6 fixed alias typo corrupting avx opcodes 2013-08-27 19:45:31 +00:00
Stanislav Shwartsman
c5f72033ad correct vzeroupper opcode 2013-08-27 06:57:48 +00:00
Stanislav Shwartsman
735154a755 oops, typo bug in prev commit 2013-08-24 19:46:04 +00:00
Stanislav Shwartsman
65e6760915 small decode optimization 2013-08-24 19:29:43 +00:00
Stanislav Shwartsman
ba317a4ce1 fixed compilation when --enable-evex is ON 2013-08-24 18:28:09 +00:00
Stanislav Shwartsman
748a0da712 one more step in the way towards avx-512 which have more vector registers 2013-08-24 12:12:10 +00:00
Stanislav Shwartsman
25f99f76c3 remove test registers from disasm as well 2013-08-23 05:54:51 +00:00
Stanislav Shwartsman
701d88388e fixed FCS/FDS deprecation 2013-08-22 20:21:36 +00:00
Volker Ruppert
5ac2776cd0 Added IP and UDP header data structure definitions and related code cleanups 2013-08-22 11:53:40 +00:00
Stanislav Shwartsman
3a7e336cb6 more opcode alias - now VEX.W alias 2013-08-21 18:45:36 +00:00
Volker Ruppert
7783e39b77 On Windows, the netmod plugin now must be linked with wsock32 2013-08-21 15:19:47 +00:00
Volker Ruppert
8ae2e48693 Some work on the log functions documentation 2013-08-21 10:23:50 +00:00
Stanislav Shwartsman
115ec37a4c make decoder tables smaller using decode aliases 2013-08-21 04:52:49 +00:00
Volker Ruppert
9ce849e742 Moved ARP processing to netmod.cc to reduce code duplication 2013-08-20 17:43:24 +00:00
Volker Ruppert
dc57eaf155 Added error handling for time0 string format 2013-08-19 06:39:07 +00:00
Volker Ruppert
9f86dbfefe Started writing log functions section and improved sound lowlevel section 2013-08-18 19:54:26 +00:00
Volker Ruppert
f46610032e Added support to specify the initial time in ctime(3) string format 2013-08-18 17:16:16 +00:00
Volker Ruppert
2f66889661 Fixed compilation of the make_cmos_image utility 2013-08-11 08:46:56 +00:00
Volker Ruppert
122249fae8 Updated sound lowlevel and harddisk redologs sections 2013-08-10 22:50:02 +00:00
Volker Ruppert
ffdb10a902 Added separate function to handle recently removed bochsrc options
- added some version info about replacement and removal
- removed 'pnic' option hack
2013-08-10 07:40:38 +00:00
Volker Ruppert
920a8d54b5 Some work on the lowlevel sound support documentation
- split lowlevel sound driver driver section from the SB16 one
- updated SB16 section and MIDI output subsection
- added new subsection about wave input (recording)
- TODO: review wave output descriptions and add more wave input details
2013-08-09 18:55:14 +00:00
Stanislav Shwartsman
33a7063e60 bug fixes 2013-08-05 15:33:41 +00:00
Stanislav Shwartsman
362b99eba0 fixed typo in last commit 2013-08-04 19:47:19 +00:00
Stanislav Shwartsman
3fabcb00b7 VMX: CMPXHG instructions should always write to the memory destination, even if the value unchanged - it affects VMEXIT conditions for the full apic virtualization
Fixed also CMPXHG16B instruction (last one, others were fixed earlier)
2013-08-04 19:37:04 +00:00
Volker Ruppert
b08cb9e9fd Regenerated after sound module changes 2013-08-04 14:35:54 +00:00
Volker Ruppert
51688143aa Some work on the lowlevel sound support
- ALSA driver is now default on Linux (if present)
- SDL sound driver is now default if no platform-specific driver is available
  and the SDL gui is enabled
- soundlnx.cc: sendwavepacket() now exits with error if device is not opened
- soundmod.cc: exit beep loop if sendwavepacket() returns error
2013-08-04 14:35:06 +00:00
Volker Ruppert
323aa782e0 Fixed $PCI service detection 2013-08-02 16:00:10 +00:00
Volker Ruppert
c4174b4691 Fixed $PCI service detection 2013-08-02 15:59:49 +00:00
Volker Ruppert
f672099b28 Some more work on the SB16 and lowlevel sound documentation
- removed SB16 section in the user doc and partly update the developer doc
- some additions in the section "Using sound"
- TODO: update the sound output classes stuff in the developer doc
2013-07-29 19:07:34 +00:00
Volker Ruppert
5990f7d583 Added new section "Using sound"
- some fixes and additions to the bochsrc section
- minor other changes
- TODO: remove SB16 section after updating related one in the developer doc
2013-07-28 20:38:55 +00:00
Volker Ruppert
b67bb74bd6 - updated VS2008 workspace files 2013-07-28 11:07:44 +00:00
Volker Ruppert
a45ec360b3 Fixed outdated documentation of the "cpu: count=" parameter 2013-07-27 15:33:52 +00:00
Volker Ruppert
36c48619d7 Added section about ROM images
- minor other changes
- TODO: write new sound documentation
2013-07-26 17:28:47 +00:00
Stanislav Shwartsman
7005afd3a8 clean up BxRepeatable attribute - not needed anymore after VL AVX field moved to new location 2013-07-26 15:42:49 +00:00
Stanislav Shwartsman
2dbe81db51 first infrastructure changes to support EVEX prefix and AVX-512 extensions recently published by Intel 2013-07-26 12:50:56 +00:00
Volker Ruppert
3e27308899 Allow to specify the platform-default sound driver directly
- driver names "oss", "osx" and "win" can now be used instead of "default"
- updated sound initialization messages
2013-07-25 18:47:11 +00:00
Stanislav Shwartsman
0da1d659d3 CMPXHG should always write to memory dest - affects APIC virtualization VMEXIT conditions 2013-07-24 21:06:24 +00:00
Stanislav Shwartsman
54d3dc4353 properly added sha.cc to the tree 2013-07-24 18:56:37 +00:00
Stanislav Shwartsman
2357dc5ccc Fixed number of invocations of the BX_INSTR_LIN_ACCESS instrumentation callback in cpu/access32.cc, cpu/access64.cc and cpu/paging.cc specify the BX_READ memory access type where BX_RW really applies.
SF Patch #1335 by Mateusz Jurczyk
2013-07-24 18:54:18 +00:00
Stanislav Shwartsman
4c7031962e added new sha.cc file 2013-07-24 18:47:28 +00:00
Stanislav Shwartsman
852b5c3749 implemented SHA new instructions announced in recent Intel SDM extensions document rev015 2013-07-24 18:44:22 +00:00
Stanislav Shwartsman
fd71b03353 add some definitions introduced in recent Intel SDM extensions document (rev015) 2013-07-23 20:51:52 +00:00
Stanislav Shwartsman
4a36fb3edc fixed debug print message for BOUND instruction 2013-07-22 18:52:15 +00:00
Volker Ruppert
3202743c31 clock option: added missing documentation for the 'rtc_sync' parameter 2013-07-22 16:30:33 +00:00
Volker Ruppert
79acd6b1ab Changed bochsrc parser order and cleanup
- moved some options to the top and some legacy ones to the end of the function
- added some info to the legacy keyboard options
- removed 'text_snapshot_check' keyword
- some coding style changes
2013-07-20 16:13:07 +00:00
Volker Ruppert
f3d3b65b19 Synced order of options in bochsrc sample, manual page and user doc 2013-07-20 14:26:41 +00:00
Volker Ruppert
5e0fe6cb5a User documentation updates
- added new gui "vncsrv" and new bochsrc options "sound" and "speaker"
- related changes in the "sb16" and "es1370" descriptions
- started update of the SB16 documentation
- changed the order of some bochsrc options
- TODO #1: sync the order of bochsrc options in all files
- TODO #2: replace SB16 section by a new one (e.g. "Using sound")
- TODO #2: update SB16 stuff in the developer doc
2013-07-18 19:09:25 +00:00
Volker Ruppert
ce4cbc4a43 Updated bochsrc manual page (vncsrv gui and sound option changes)
- fixed some partly invisible lines
- changed the order of some options in bochsrc sample and man page
- TODO: update docbook ducumentation
2013-07-15 17:16:48 +00:00
Volker Ruppert
1c7564b98e Fixed possible crash when using beep thread 2013-07-14 19:01:29 +00:00
Volker Ruppert
b2f8908588 Regenerated after ALSA sound driver changes 2013-07-14 15:16:03 +00:00
Volker Ruppert
b84b0eed52 Moved ALSA sound support to a separate sound driver object
- ALSA stuff moved from soundlnx.* to new soundalsa.* files
- SB16 / ES1370: including specific sound driver headers not necessary
- updated dependencies
2013-07-14 15:14:53 +00:00
Volker Ruppert
9a1d889359 ES1370: implemented wave output to file (raw and VOC format)
- added parameters 'wavemode' and 'wavefile' to the 'es1370' option
- ES1370: added new method sendwavepacket() (similar to SB16)
- moved VOC file methods from sb16.cc to soundmod.cc and added macros for them
- SB16: minor fixes
2013-07-13 17:37:48 +00:00
Volker Ruppert
f91aa29f2b Fixed and simplified DMA timer value calculation 2013-07-07 19:19:59 +00:00
Volker Ruppert
258505a762 Fixed wave output to VOC file
TODO: move VOC file code to soundmod.cc and use it for ES1370, too
2013-07-07 11:27:10 +00:00
Volker Ruppert
dd794d6d44 Some more work on the 'sound' bochsrc option
- added 'wavein' parameter to specify the wave input device if necessary
 - if 'wavein' is not set, Bochs uses the 'waveout' value for input, too
 - SB16: the 'wave' parameter is now only used to specify the filename (mode 2 or 3)
 - TODO: implement 'wavemode' feature for ES1370 similar to SB16
2013-07-06 15:12:04 +00:00
Volker Ruppert
2e993f4a84 Some work on the 'sound' bochsrc option
- forgot to save 'sound' bochsrc line
 - renamed wave output parameter to 'waveout'
 - simplified sound option parsing
2013-06-30 08:21:26 +00:00
Stanislav Shwartsman
148cb1aee0 Thanks to avanced trace linking 256K entries ICache is not needed anymore.
Reduce to 64K entries and save memory.
2013-06-29 10:25:56 +00:00
Stanislav Shwartsman
ef0d2142ab Allow cross-page trace linking again.
The SMC problem was solved in following manner:

 - Every trace linked to another remembers when it was linked (a special timestamp value called traceLinkTimeStamp)
 - When true SMC happens it incremements the traceLinkTimeStamp
 - Jump to the linked trace won't be allowed if traceLinkTimeStamp in the link doesn't match traceLinkTimeStamp

So SMC effectively breaks all trace links and therefore I should not care for them anymore

5%-10% speedup on OS boot benchamarks observed
2013-06-29 10:16:28 +00:00
Stanislav Shwartsman
0276bdfb3e still not allow cross page linking until SMC issue will be solved - cause Win98 crash 2013-06-28 07:51:42 +00:00
Stanislav Shwartsman
40f02e0bfb fixed msdev warnings, update msdev workspaces - add vapic.cc and cpudb new defs 2013-06-26 19:03:00 +00:00
Stanislav Shwartsman
0c570ecb6a clean symbols code a little 2013-06-26 18:07:01 +00:00
Stanislav Shwartsman
74c2cb0127 fixed compilation warning 2013-06-25 17:32:33 +00:00
Volker Ruppert
192aa1f369 Added global sound control option in bochsrc and config interface
- added 'sound' option to select the driver and the wave output device
  (see bochsrc sample for details)
- the wave device option of sb16 and es1370 is now only used to set up the
  wave input device (if necessary)
- cleaned up the speaker code to initialize the 'sound' case correctly
2013-06-24 19:19:12 +00:00
Stanislav Shwartsman
c42afb0a2d allow linking of traces cross 4K page boundary 2013-06-23 21:12:03 +00:00
Stanislav Shwartsman
91b3417e57 small bugfix 2013-06-23 15:45:25 +00:00
Stanislav Shwartsman
d30d1ac93a small bugfix 2013-06-21 14:12:46 +00:00
Stanislav Shwartsman
c7698a5589 implemented fcs/fds deprecation. added haswell to cpudb.h as well 2013-06-20 20:12:53 +00:00
Stanislav Shwartsman
b335f472bd Added Haswell configuration to CPUDB 2013-06-20 19:33:30 +00:00
Volker Ruppert
c3740c0e6e Added new bochsrc option to control the speaker output mode. The choices 'sound'
(lowlevel sound output), 'system' (system beep on Linux and Windows) and 'gui'
(forward beep to related gui methods) are available.
2013-06-16 18:52:34 +00:00
Volker Ruppert
f1c6be0bc8 Serial mouse detection fixes (required for CTMOUSE.EXE)
- added support for 16 bit access to serial port registers
- fixed entering mouse detection mode with DTR/RTS
- report serial port mode in log file
2013-06-16 08:36:47 +00:00
Volker Ruppert
0658109479 Recompiled after PS/2 mouse function change 2013-06-15 21:49:10 +00:00
Volker Ruppert
53cb107dbf PS/2 mouse function: allow setting mouse packet size to 4 for wheel support
TODO: make driver CTMOUSE.EXE also work with mouse type 'serial_wheel'
2013-06-15 21:48:23 +00:00
Stanislav Shwartsman
769d35b06c remove debug print from Sandy Bridge CPUID wrongly commited 2013-06-15 17:57:03 +00:00
Stanislav Shwartsman
edc3003f35 do not use cpuid:level param when it doesn't exists 2013-06-15 17:53:49 +00:00
Volker Ruppert
50190829e9 Some PC speaker output fixes
- change beep frequency only if the new counter value is completely written
- turn off beep on exit
2013-06-14 19:08:51 +00:00
Volker Ruppert
c5ca69da5e Added support for changing speaker frequency while output is enabled 2013-06-11 21:04:07 +00:00
Volker Ruppert
3193de9516 Minor fixes in rfbSetPixelFormat message handling
- fixed error message for unsuported pixel format
- removed useless assignments
2013-06-09 17:16:16 +00:00
Volker Ruppert
c0d3cdb5c5 Set the initial status of removable devices to BX_EJECTED (fixes headerbar buttons) 2013-06-09 10:27:43 +00:00
Volker Ruppert
38e292a261 Make shared data access thread-safe
- use LibVNCServer macros for pthread mutex support in the keyboard / mouse code
- workaround for WIN32: use critical section stuff instead (not yet present in
  LibVNCServer)
2013-06-08 06:47:52 +00:00
Volker Ruppert
9cb610464d Several RFB changes
- don't quit simulation on client disconnect (reverted to original behavior)
- don't wait for client connection on startup if timeout is set to 0
- RFB color handling rewritten to fix headerbar and statusbar colors in 8 bpp
  graphics modes (they no longer depend on VGA palette)
- set maximum resolution to 1280x1024 (same as vncsrv)
- minor other changes
2013-06-05 20:25:44 +00:00
Stanislav Shwartsman
9651b5d53c bugfix: vmx preemption timer vmexit should not wakeup CPU from sleep state. cpuid: added definitions from recently published intel SDM rev047 2013-06-04 20:28:27 +00:00
Volker Ruppert
e824499639 Removed recently added "noclient" code to let vncsrv always work this way
TODO: Fix RFB gui to make work the same again
2013-06-04 19:10:40 +00:00
Volker Ruppert
e06b44c866 minor fixes in dimension_update(): snapshot.bmp now correctly saved on server 2013-06-03 21:27:22 +00:00
Volker Ruppert
e276742d56 vncsrv "noclient" mode and some vncsrv / rfb fixes and cleanups
- vncsrv: noclient mode: simulation run even without client connected
- vncsrv / rfb: parse specific options before starting server thread
- vncsrv / rfb: panic on invalid timeout value
- vncsrv: don't wait for client connection if timeout value is 0
- vncsrv / rfb: removed unnecessary newlines
2013-06-02 20:56:46 +00:00
Volker Ruppert
536887aee2 vncsrv gui code cleanup with small addition
- quit simulation if the client has disconnected
- changed the order of methods and function in the file
2013-06-02 14:32:45 +00:00
Volker Ruppert
9325db1b55 RFB code cleanup and small additions
- quit simulation if the client has disconnected
- moved update region checks to new function rfbAddUpdateRegion
- changed the order of methods and function in the file
2013-06-02 09:21:11 +00:00
Volker Ruppert
5aa2a2d50f regenerated after vncsrv changes 2013-05-31 16:47:15 +00:00
Volker Ruppert
21feca3767 Some work on the new 'vncsrv' gui
- use the CXXFLAGS and link options provided by the libvncserver-config script
- added Windows support for MinGW/MSYS (compiles fine, but crashes sometimes)
2013-05-31 16:46:15 +00:00
Volker Ruppert
5618cea18b regenerated after adding 'vncsrv' gui 2013-05-30 17:21:10 +00:00
Volker Ruppert
17b7b87a61 Added new experimental gui 'vncsrv" using the LibVNCServer library. It supports
higher resolutions and > 8 bpp graphics modes. The RFB gui with limited
capabilities is still available.
TODO:
- fix random segfaults in dimension_update()
- Windows (MinGW) support
- fixes for clients not supporting 'rfbEncodingNewFBSize'
- fix cursor shape after dimension update()
2013-05-30 17:18:30 +00:00
Volker Ruppert
dc1dd06794 Prepare the RFB sources for the implementation of a new gui based on the
LibVNVServer library. The include files will be used for both guis.
2013-05-30 09:31:21 +00:00
Volker Ruppert
0f2e7ec578 regenerated after release 2013-05-29 17:35:58 +00:00
Volker Ruppert
b04df59367 RFB code cleanup (no functional changes)
Updated version strings after release
TODO: implement new RFB(VNC) gui using LibVNCServer
2013-05-29 17:35:19 +00:00
Volker Ruppert
7162aeba05 regenerated for release 2013-05-26 07:18:08 +00:00
Volker Ruppert
64190fea62 - preparing release 2.6.2 2013-05-26 07:17:33 +00:00
Volker Ruppert
f38ba1e15c - mention FreeDOS in the "guest-dos" section 2013-05-26 06:51:28 +00:00
Stanislav Shwartsman
c1df9425f5 update changes for coming 2.6.2 patch release 2013-05-24 18:29:21 +00:00
Volker Ruppert
800da0f390 some fixes for Bochs on MorphOS (based on a patch by Thore Sittly)
- byte-swapping stuff fixed
- TODO: gui fixes in the amigaos.cc code
2013-05-24 17:58:49 +00:00
Stanislav Shwartsman
b950de7155 add more vmx capabilities to generic cpu 2013-05-20 18:18:52 +00:00
Stanislav Shwartsman
964583a40f Added X2APIC support to Ivy Bridge configuration 2013-05-20 18:15:35 +00:00
Stanislav Shwartsman
2bca9b8273 updates in CPUID defines after new published AMD SDM 2013-05-17 19:41:57 +00:00
Stanislav Shwartsman
1304b3fb4b Do not report Architectural Performance Monitoring in CPUID
Reporting true capabilities breaks Win7 x64 installation
2013-05-07 15:34:58 +00:00
Stanislav Shwartsman
694dc8a0e1 fixed generic cpuid leafs - all std leafs > 2 were corrupted 2013-05-06 20:33:27 +00:00
Stanislav Shwartsman
b2b42dd714 small fix for LOAD_SS interrupts inhibit 2013-05-04 19:10:50 +00:00
Stanislav Shwartsman
05c711b2b5 Create initial interrupt vector offsets. Change based on sf patch #507. 2013-04-21 20:09:49 +00:00
Stanislav Shwartsman
139ec7d538 PANIC on options which require P6 when CPU_LEVEL is set to 5 instead of ignoring them 2013-04-17 20:24:12 +00:00
Stanislav Shwartsman
3fbdf7ff03 do not recognize MTRR MSRs when mtrr is not enabled 2013-04-17 19:59:56 +00:00
Stanislav Shwartsman
9b958b3a05 allow to select CPU level = 5 from .bochsrc even when Bochs is compiled with CPU_LEVEL=6 2013-04-17 19:46:11 +00:00
Volker Ruppert
bb9eaec2dc some fixes for Bochs on MorphOS (based on a patch by Thore Sittly)
- missing functions fseeko() and localtime_r() implemented in osdep.cc
- updated cdrom_amigaos.cc code
2013-04-12 17:26:27 +00:00
Stanislav Shwartsman
025fb15461 properly handle RDMSR/WRMSR of MSR_PAT when PAT feature is disabled 2013-04-11 19:41:54 +00:00
Stanislav Shwartsman
f1c7d163a1 activity state is ignored when vmenter injecting event 2013-04-09 20:36:02 +00:00
Stanislav Shwartsman
401bae4501 fixed unused var warning 2013-04-09 20:35:24 +00:00
Stanislav Shwartsman
a277d60d89 implemented vmentering to non-active cpu state 2013-04-09 15:43:15 +00:00
Stanislav Shwartsman
58f4a0994e configure with VMX=2 for future releases 2013-04-08 18:31:25 +00:00
Volker Ruppert
fa058a9e2d regenerated after release 2013-04-08 18:00:54 +00:00
Volker Ruppert
96ae009372 updated version strings after release 2013-04-08 17:59:55 +00:00
Stanislav Shwartsman
6a8357105b fix for guest segment AR field size 2013-04-08 17:29:00 +00:00
Volker Ruppert
64f9c3130d regenerated for release 2013-04-07 15:28:07 +00:00
Volker Ruppert
cb32223a6a preparing release 2.6.1 2013-04-07 15:27:37 +00:00
Volker Ruppert
7f01e3064c enabled USB xHCI support for release 2.6.1 2013-04-07 15:13:45 +00:00
Volker Ruppert
f8075e0ed2 - added support for converting flat to growing mode images
- TODO: rewrite bximage / bxcommit stuff and use hdimage C++ classes to support
  more commit / conversion types and to get rid of this code duplication.
2013-04-07 07:54:52 +00:00
Volker Ruppert
e2c49cf534 updated workspace files and changes 2013-03-23 13:10:51 +00:00
Volker Ruppert
180d8a295e initialize scroll position in WM_CREATE
reduce virtual window height
2013-03-19 19:26:04 +00:00
Volker Ruppert
900ac609c7 fixed disabling of dialog items in a scroll window
added mouse wheel support to the scroll window
minor cleanups
TODO: update workspace files, scroll window support for wx
2013-03-19 17:44:19 +00:00
Stanislav Shwartsman
25733b4387 added scrollwin.o in configure scripts for mingw 2013-03-18 20:47:08 +00:00
Stanislav Shwartsman
2bb620844f added scrollwin.cc into Makefile 2013-03-18 20:40:21 +00:00
Volker Ruppert
d6e6bf217b regenerated after adding scrollwin files 2013-03-18 19:09:30 +00:00
Volker Ruppert
a4a275848f initial implementation of scrollable dialog items on WIN32
- scroll window has 16 visible items and the virtual size is not limited
- CPUID parameter list now using this feature
- FIXME #1: scroll window is not resized if browse button column is present
- FIXME #2: only one scroll window per dialog is supported
2013-03-18 19:08:26 +00:00
Volker Ruppert
0dfd73dd15 added bx_list_c flag USE_SCROLL_WINDOW for scrollable dialog items (needed by CPUID)
TODO: implement this feature in the win32 and wx dialog code
2013-03-17 17:16:45 +00:00
Stanislav Shwartsman
13a6524acb hw task switch tempdr6 hanlding fix 2013-03-15 08:26:22 +00:00
Stanislav Shwartsman
913e3defd1 fixed SIPI delivery bug from one the latest checkins 2013-03-13 19:06:55 +00:00
Volker Ruppert
b532cad1d1 - changes updated 2013-03-11 19:12:00 +00:00
Volker Ruppert
d8c55883a2 added example patch that shows how to write the VDISK.DLL source 2013-03-11 18:08:42 +00:00
Stanislav Shwartsman
b6852ba027 Update CHANGES. Add --enable-voodoo to all configure samples (which are also used to build Bochs releases) 2013-03-10 20:42:46 +00:00
Volker Ruppert
674447c186 DLL HD support rewritten and enabled for WIN32
TODO: put sample code for VDISK.DLL into the patches directory
2013-03-08 18:25:32 +00:00
Stanislav Shwartsman
53d14c01b5 correctly signal bit 12 (nmi unblocking by iret) in vmx interruption info. todo: find how to implement it clean way 2013-03-06 21:11:23 +00:00
Stanislav Shwartsman
1a770dd260 implementation of virtual NMI 2013-03-05 21:12:43 +00:00
Volker Ruppert
e9a8ef1d65 removed flag USE_SPIN_CONTROL from the memory size parameters to fix the gui
configuration in Windows (up-down control only accepts 16-bit values)
2013-03-04 17:33:08 +00:00
Stanislav Shwartsman
39ae66b5a3 Suppress 'entering paged real mode' CR0 check for SVM guest
After a lot of thinking and browsing in the SVM arch forums I assume now that it shold be fine to enter to paged real mode under SVM guest.
The test case to consider:

  (paged) real mode guest -> entering Pmode (not paged) -> disabling the Pmode back

Ths assumption still should be validated with real AMD hardware

Context: AMD's manual about CR0 intercept priority :
	"Checks non-memory exceptions (CPL, illegal bit combinations, etc.) before the intercept"

The check for 'paged real mode' suposed to be illegal bit combination ...
2013-02-27 19:11:28 +00:00
Volker Ruppert
b81622cf31 added default DRB address setup for the i440FX chipset 2013-02-27 17:21:29 +00:00
Stanislav Shwartsman
ab63b22a68 SVM: implemented missed RSM, LDTR READ/WRITE, TR READ/WRITE and IRET intercepts 2013-02-25 19:36:41 +00:00
Volker Ruppert
70884d3cec updated documentation of the memory options 2013-02-24 21:06:26 +00:00
Stanislav Shwartsman
8708d05bea rename some VMX controls to match intel docs. added missed VMX consistency check 2013-02-24 20:22:22 +00:00
Volker Ruppert
b0d8d898c0 wx second run fix: fixed width of list views 2013-02-24 12:12:11 +00:00
Volker Ruppert
745b1bef84 wx second run fix: clear LOGFONT structure before losing it
fixed some warnings
2013-02-23 20:27:07 +00:00
Volker Ruppert
37b1f11fa6 cleaned up serial mode handling and some other minor changes 2013-02-23 15:15:59 +00:00
Volker Ruppert
ab57c1fb2f found a better solution to fix the power_handler() deadlock
fixed bx_dbg_exit() handling for shutting down second simulation correctly
2013-02-20 18:51:39 +00:00
Volker Ruppert
209b8c9ff8 fixed deadlock in second simulation after exiting the first one with the power button 2013-02-19 19:12:44 +00:00
Volker Ruppert
9c3d374e6a continued work for "wx second run" support
- memory: initialize ISA and PCI ROM variables in init_memory()
- sb16: remove items from runtime menu in destructor
- gui debugger: show dialog contents (TODO: fix remaining display issues)
- TODO: fix deadlock in bx_wx_gui::handle_events()
2013-02-18 20:52:19 +00:00
Volker Ruppert
910774513b some work for "wx second run" support (not yet complete)
- bx_list_c: added support for removing parameter with other parent list
- USB HC's: remove item from runtime config on simulation exit
- initialize bx_user_quit in bx_begin_simulation()
- only remove optional plugin from list if alrady unloaded
2013-02-17 08:27:43 +00:00
Volker Ruppert
058c0e05fb - removed wx debugger dialogs (enhanced gui debugger now almost stable with wx) 2013-02-16 12:22:13 +00:00
Volker Ruppert
a6bce2031c two important fixes for the gui debugger in wx (GTK)
- fixed closing the debugger window from wx (power button / ask dialog)
- OnKillSim(): bx_user_quit must be set to 1 to exit the debugger wait loop
2013-02-15 22:22:51 +00:00
Volker Ruppert
638a1a2157 fixed stepN command in SMP mode 2013-02-15 20:06:09 +00:00
Volker Ruppert
e44176f597 run stepN command in the simulation thread to avoid deadlock in wxBochs
GTK init is not required in the wxGTK case
removed unnecessary include
2013-02-15 15:47:16 +00:00
Volker Ruppert
5416e462e9 moved debugger notify callback functions to enh_dbg.cc 2013-02-14 21:06:20 +00:00
Stanislav Shwartsman
e43ac349a6 fixed injected exception err code check for unrestricted guests 2013-02-14 19:31:42 +00:00
Stanislav Shwartsman
40669115e1 use different formatter for printing phy address in paging dbg messages 2013-02-14 19:30:59 +00:00
Volker Ruppert
98598e4da9 some fixes for the GTK debugger window for the wx case (to be continued)
- run GTK main loop only if wx (wxGTK) is not active
- don't try to destroy debugger window twice
2013-02-14 08:36:52 +00:00
Volker Ruppert
3109ad3d87 minor fixes for the gui debugger with wx on Windows 2013-02-13 11:13:28 +00:00
Stanislav Shwartsman
7188166653 added more FMT_PHY_ADDRX64 cases definition 2013-02-12 21:33:00 +00:00
Stanislav Shwartsman
66c9274bdb max physical addr size is 48 bit so print less characters 2013-02-12 21:26:23 +00:00
Volker Ruppert
97de484efb use enhanced gui debugger instead of classic wx debugger if BX_DEBUGGER_GUI == 1
The Windows version looks almost stable, but the GTK version fails in some cases.
That's why the classic wx debugger is still available if BX_DEBUGGER_GUI is set to 0.
- added function close_debug_dialog() to handle the simulation stop case in wx
- disable all the wx debugger related code if BX_DEBUGGER_GUI is set to 1
- added enhanced debugger specific init code similar to the code in sdl.cc
- include debugger related resources on Windows
- TODO: make the GTK / wxGTK case stable and remove the wx debugger
2013-02-12 21:08:35 +00:00
Stanislav Shwartsman
9c8c25b7ef warning fix 2013-02-12 16:36:49 +00:00
Volker Ruppert
7eda0feb6f fixed some compiler warnings 2013-02-12 13:31:40 +00:00
Volker Ruppert
3822dc7692 fixed critical GTK warning if only one cpu is present
fixed some compiler warnings
2013-02-12 11:15:05 +00:00
Volker Ruppert
f37d6e676f removed duplicate comment, updated / added copyright and added license
TODO: remove wx debugger and use enhanced gui debugger instead
2013-02-10 21:26:51 +00:00
Volker Ruppert
88e1033b90 the "show keyboard" dialog has been removed some time ago 2013-02-10 16:39:58 +00:00
Volker Ruppert
f314df2d1b use bx_dbg_exit() for a correct simulation shutdown if gui debugger is closed
use usleep() if available in the debug command wait loop
2013-02-10 13:37:25 +00:00
Volker Ruppert
de4a5ecd79 fixed segfault when closing debugger gui window while simulation is running 2013-02-10 08:47:17 +00:00
Volker Ruppert
e9302f4c13 don't execute hdimage save functions if the save/restore path is empty
reset save/restore path after completing save or restore process
2013-02-09 14:21:58 +00:00
Volker Ruppert
addd85e408 don't overwrite log actions per device if default is unchanged
- after parsing command line only update actions if default has changed
- bx_init_hardware(): extra update of log actions in quick start mode not needed
2013-02-05 20:57:40 +00:00
Volker Ruppert
7d32178e72 full support for saving log options per device (from bochsrc and config interface)
simplified setting up log options per device after parsing bochsrc / command line
2013-02-04 18:51:07 +00:00
Volker Ruppert
48b345d06f save log options per device (from original bochsrc - runtime changes not handled yet)
code cleanup in bx_write_param_list() and other parts of the bochsrc save code
2013-02-03 18:28:25 +00:00
Volker Ruppert
0821a9027c use the new bx_param_string_c method isempty() in bx_write_configuration()
the screenmode, fullscreen and disk_win32  parameters are platform-dependent
2013-02-03 12:14:29 +00:00
Volker Ruppert
2d552af7a2 fixed possibly wrong raw byte string after simply pressing the enter key 2013-02-02 16:52:54 +00:00
Volker Ruppert
0fbd1b3eff now using new bx_param_string_c method sprint() in enhanced debugger
skip special value "none" in display library options
2013-02-02 16:02:08 +00:00
Volker Ruppert
b6f9c738fd simplified code using new bx_param_string_c method sprint()
TODO: use sprint() in enhanced debugger
2013-02-02 08:49:55 +00:00
Volker Ruppert
17970857b8 added new bx_param_string_c methods isempty() and sprint()
- isempty() returns 1 if string length is 0 or string has special value "none"
- sprint() copies the formatted / converted string into a buffer
- use new methods in some parts of the code (TODO: win32 dialogs)
- check for the special value "none" to avoid failures
2013-02-01 19:13:58 +00:00
Volker Ruppert
8a15e3ae59 Removed disabled bochsrc parser code that checked the parameter enable flag.
Renamed symbol BOCHSRC_HIDDEN to CI_ONLY for parameters that appear in the CI,
but not in bochsrc. The parser no longer fails if this flag is set.
2013-01-30 16:43:58 +00:00
Stanislav Shwartsman
59f0445699 simplify dump .bochsrc for clock sync option 2013-01-28 20:49:24 +00:00
Stanislav Shwartsman
af65d7e953 remove parsing of deprecated vga_update_interval .bochsrc option - it will produce an error now
allow parsing of disabled options via param tree to avoid parse error
2013-01-28 20:29:12 +00:00
Stanislav Shwartsman
ec971d0ce8 add #VE exception specific VMCS fields into VMCS bitmap 2013-01-28 20:20:54 +00:00
Stanislav Shwartsman
863e1a0f8a fixed compilation with debugger enabled 2013-01-28 18:26:56 +00:00
Volker Ruppert
ecd07ae76b update generated files 2013-01-28 17:53:50 +00:00
Stanislav Shwartsman
64df073617 implemented virtualization exception feature 2013-01-28 16:30:25 +00:00
Stanislav Shwartsman
d38fce8218 preparation for future extension in translate_linear - I would like to return data to caller through tlbEntry 2013-01-27 19:27:30 +00:00
Volker Ruppert
f9dca3c76b some keyboard bochsrc option changes
- moved 'user_shortcut' option to the keyboard option
- added new bx_param_c option value BOCHSRC_HIDDEN for parameters that should
  only be available in the config interface. The new bochsrc option save and
  parser function skip parameters with this flag set. This is useful for
  parameters that will be set from the parser in a different way.
- save keyboard bochsrc line using the parameter list directly
- parse keyboard bochsrc options (except 'keymap') using the parameter list
- user shortcut: old-style syntax has already been removed
- increased minimum value for the keyboard's 'serial_delay'
2013-01-27 19:09:24 +00:00
Volker Ruppert
a86b91d7a1 parse cpu bochsrc options (except 'count') using the parameter list
- fixed small bugs in the new parser code
2013-01-27 12:11:19 +00:00
Volker Ruppert
2daadfcd85 parse serial, parallel and sound bochsrc options using the parameter list
- fixed small bug in the ne2k parser code
- added warnings to the new parser code
2013-01-26 18:17:23 +00:00
Volker Ruppert
b1cc217ea8 parse mouse and ata resource bochsrc options using the parameter list
- fixed possible segfaults in the new parser code
- use the new parser code partly for the ata device and nic options
2013-01-26 13:32:28 +00:00
Volker Ruppert
1365e2fbe0 parse cpuid bochsrc options using the parameter list
- TODO: use this feature for some other bochsrc options
2013-01-26 07:52:14 +00:00
Volker Ruppert
0ae6a3f6f0 save the optional plugin control bochsrc line using the parameter tree 2013-01-25 18:37:03 +00:00
Volker Ruppert
8e4e08cad7 changed USB cdrom media status parameter type to bx_param_enum_c
- moved media status names to the siminterface code
- textconfig: fixed possible segfault in runtime options prompt
2013-01-25 17:56:40 +00:00
Volker Ruppert
42cd945c35 i430FX: set up DRB address registers depending on memory size
- TODO #1: do the same for the i440FX chipset
- TODO #2: implement DRAM module detection mode in the memory code
2013-01-25 15:52:39 +00:00
Stanislav Shwartsman
016e112ac2 fixed compilation err with vmx=1 2013-01-23 19:04:53 +00:00
Volker Ruppert
b5dd859da8 changed floppy media status parameter type to bx_param_enum_c 2013-01-23 17:56:57 +00:00
Stanislav Shwartsman
a0c9522fef fix compilation with no vmx enabled 2013-01-22 19:06:20 +00:00
Volker Ruppert
c2b57c5a56 save the ata device options using the parameter tree
- removed parameter "present" and use the new drive type "none" instead
- re-implemented cdrom media status parameter as a bx_param_enum_c
- TODO: change floppy media status parameter type to be consistent
2013-01-22 18:26:49 +00:00
Stanislav Shwartsman
8865df606a fixed typo bug in VMX code 2013-01-22 08:39:41 +00:00
Stanislav Shwartsman
608775cd5a vmread/vmwrite should always check for CPL, also when in vmx guest 2013-01-21 20:20:14 +00:00
Stanislav Shwartsman
3ab0331307 implemented VMCS shadowing (Intel SDM rev045) 2013-01-21 19:55:00 +00:00
Stanislav Shwartsman
9e896ce0bf SFENCE instruction doesn't require SSE2 2013-01-20 17:56:08 +00:00
Volker Ruppert
34dbbe1c74 save the mouse, serial, parallel and ata resource options using the parameter tree 2013-01-19 22:37:15 +00:00
Stanislav Shwartsman
4bed791ccb Added year 2013 to Copyright in all files already modified in new year 2013-01-19 20:45:03 +00:00
Stanislav Shwartsman
05d36f0acc fixed performance bug in smap/smep fix - tlb never had user executable page permission 2013-01-19 20:14:44 +00:00
Volker Ruppert
a54f50e4f2 save the sound configuration using the parameter tree 2013-01-19 15:18:07 +00:00
Volker Ruppert
a5e5ac69b0 save the network configuration lines using the parameter tree
- fixed bochsrc line after a "raw byte" string parameter
- changed parameter name "macaddr" to "mac" (same as bochsrc option parameter)
- skip disabled parameters when building the bochsrc line
- added "multiline" switch to select the output format (one or multiple lines)
- renamed siminterface method and use it in the network devices code
2013-01-19 12:25:53 +00:00
Volker Ruppert
daf92361fe save cpuid bochsrc line using the parameter list directly
TODO #1: use bx_write_param_list() for other Bochs feature settings
TODO #2: use the parameter list in the bochsrc parser
2013-01-18 17:11:23 +00:00
Stanislav Shwartsman
168bfc6ab1 fixed typo caused compilation err 2013-01-18 08:12:36 +00:00
Stanislav Shwartsman
eda28b95f4 unfortunately this change is rquired to make SMAP and SMEP features to work.
I observed ~5% emulation slowdown ... thinking about possible mitigations

this fixes TLB issue with SMAP and SMEP features.
these features introduce a new behavior when page can be inaccessible by System (CPL=0).
Current behavior is accessBits was not supporting it but legacy (from Bochs 2.3.6) was.
The wrong behavior can be observed if user access a user page and system access the same page later.
user access is fine and pass SMEP/SMA checks and stores the translation in TLB.
the system access will hit the TLB and nobody could detect that system cannot access that page.
2013-01-16 17:28:20 +00:00
Stanislav Shwartsman
c337b7babb Intel Software Developers Manual rev45 was released
Added CPUID bits and preparations for newly documented VMX features
2013-01-16 16:57:48 +00:00
Stanislav Shwartsman
c96f5e27a9 flush tlb also when cr4.smap changes 2013-01-14 17:02:51 +00:00
Stanislav Shwartsman
a8068812df add 'tlb' command to debugger to do TLB lookup 2013-01-14 17:02:07 +00:00
Stanislav Shwartsman
d93607cfe6 implemented pause threshold count in SVN + bugfix in SMAP 2013-01-08 21:03:22 +00:00
Stanislav Shwartsman
77cd8f862d Move BIOS_COPYRIGHT_STRING to gain space at 0xfef3. Sebastian 2013-01-08 18:12:14 +00:00
Stanislav Shwartsman
93d6c2e1fc added AMD Bulldozer architecture CPU (Zambezi) to CPUDB 2013-01-07 19:33:04 +00:00
Stanislav Shwartsman
df7ba90704 Set INT vector 77h and below to dummy iret handler.
Change based on sf patch #507.

Sebastian
2012-12-31 06:33:01 +00:00
Stanislav Shwartsman
c6b1f6c22b fixed IsValidPageAlignedPhyAddr check for VMX/SVM 2012-12-30 19:49:20 +00:00
Stanislav Shwartsman
685e0091b4 fixed decoding of RDRAND/RDSEED with 0x66 prefix 2012-12-27 19:31:21 +00:00
Stanislav Shwartsman
48d7fa3786 fixed code duplication, mainly in vmx/svm code 2012-12-26 21:59:16 +00:00
Stanislav Shwartsman
6e5a934eea XSAVE: Fixed XCR0 reserved combination checking in XSETBV instruction 2012-12-23 16:54:18 +00:00
Stanislav Shwartsman
ce2751a13c move misaligned_sse from compile time to .bochsrc option 2012-12-20 19:43:11 +00:00
Stanislav Shwartsman
979aa0c877 added svm into .bochsrc example 2012-12-19 19:17:14 +00:00
Volker Ruppert
56a7dfea8a always load and enable USB UHCI if the i440FX chipset (PIIX3) is selected 2012-12-14 16:10:25 +00:00
Stanislav Shwartsman
db4d75317a fixed small avx issues 2012-12-11 21:01:05 +00:00
Stanislav Shwartsman
318ad5e26d optimize avx stores 2012-12-10 14:43:21 +00:00
Stanislav Shwartsman
182ad65ea3 changes in avx emulation code 2012-12-09 16:42:48 +00:00
Volker Ruppert
2ea45c0e4d implemented volatile BIOS memory write support (controlled by PIIX/PIIX3 XBCS register) 2012-12-02 19:59:23 +00:00
Stanislav Shwartsman
574b69c81e fixed MSDEV warnings 2012-11-27 15:40:45 +00:00
Stanislav Shwartsman
68c5312ee1 fixed gcc warning - array index out of bounds 2012-11-26 18:43:19 +00:00
Volker Ruppert
2f036fe5ca added IOAPIC control from the PIIX3 (enable /disable and address relocation) 2012-11-25 19:06:03 +00:00
Stanislav Shwartsman
7efd6866ce Set int vector 1Fh to zero; Character Font for upper 128 characters is not available. Sebastian 2012-11-23 20:16:19 +00:00
Volker Ruppert
033af3734c PCI register behaviour fixes (PIIX/PIIX3) 2012-11-16 16:59:58 +00:00
Volker Ruppert
9c5e2565ca fixed most of the MSVC warnings 2012-11-13 20:28:36 +00:00
Volker Ruppert
38addf037f PCI register behaviour fixes, updated messages and comments 2012-11-12 18:56:07 +00:00
Volker Ruppert
6787d3b629 some PCI register behaviour fixes 2012-11-11 16:55:59 +00:00
Volker Ruppert
f0a3679e34 moved function is_pci_device() to the siminterface class 2012-11-11 12:21:09 +00:00
Volker Ruppert
e415cb9db8 recompiled after PCI changes 2012-11-11 09:10:28 +00:00
Volker Ruppert
cc56245407 started implementing the i430FX chipset
- renamed config parameter "i440fx_support" to "enabled"
- new config parameter "chipset" added (current choices "i430FX" and "i440FX")
- don't load ACPI support if the i430FX chipset is selected
- select register values for the core PCI devices depending on the chipset
- USB UHCI must be connected to a PCI slot if the i430FX chipset is used
- rombios changes to make the i430FX chipset work
- TODO #1: implement limitation to 1 cpu and 128 MB RAM for the i430FX chipset
- TODO #2: verify register behaviour of both chipsets
2012-11-11 08:11:17 +00:00
Stanislav Shwartsman
64f9c12bbc name new CPUID bits from AMD 2012-11-10 11:00:09 +00:00
Volker Ruppert
ab57eb3615 fixed compilation error with debugger enabled
- read PCI confAddr value from the devices code for debugger output
- PCI confData value isn't needed at all (changes by each read / write access)
- PCI framework methods don't need to be virtual
2012-11-09 13:30:52 +00:00
Volker Ruppert
b63d835b30 - regenerated after the PCI changes 2012-11-08 19:20:46 +00:00
Volker Ruppert
46d09f3852 moved PCI framework to the common devices code
- PCI slot configuration, memory and i/o BAR registration, PCI i/o space
  handlers now present in devices.cc
- configure: E1000 emulation and USB support need PCI
- vga: fixes for the non-PCI case
2012-11-08 19:12:26 +00:00
Stanislav Shwartsman
29d5f4149b correct typo 2012-11-07 04:41:30 +00:00
Stanislav Shwartsman
34b5044e06 added back set for compatibility 2012-11-06 20:10:32 +00:00
Stanislav Shwartsman
edf4ea4c74 fixed SF bug #1318 dbg: several issues with 'set' command 2012-11-06 20:01:02 +00:00
Stanislav Shwartsman
110fd4b92a Fixed issue with configure script with debugger enabled.
I am copiling using Cygwin+mingw and cnfigure script by default doesn't find and GUI library and therefore I supply --with-win32.
But seems it is not enough to get GUI debugger compiled - Makefile was missing win32_enh_dbg_osdep.cc
2012-11-06 19:59:18 +00:00
Stanislav Shwartsman
b9d3d3f3cd Set INT vector 1Dh to zero; MDA/CGA Video Parameter Table is not available. 2012-11-05 11:10:07 +00:00
Stanislav Shwartsman
7bace61c12 fixed compilation issue 2012-11-05 06:41:10 +00:00
Volker Ruppert
6cc92b1e2c recompiled after ACPI changes 2012-11-04 18:25:54 +00:00
Volker Ruppert
58b94d8f32 applied two old ACPI BIOS patches for Debian by Avi Kivity
- use preprocessor for pci link routing
- add 26 pci slots, bringing the total to 32
2012-11-04 18:21:06 +00:00
Volker Ruppert
4bc41a51e6 - removed unused declarations 2012-11-03 23:18:14 +00:00
Volker Ruppert
4d4dec0d62 simplified floppy dialog init code 2012-11-02 10:31:59 +00:00
Volker Ruppert
67714925c9 fixed some warnings / removed unused method 2012-11-02 08:23:09 +00:00
Stanislav Shwartsman
8a01ee1661 implemented SVM decode assists. some is still missing - coming soon 2012-11-02 07:46:50 +00:00
Volker Ruppert
9011005580 fixed some MSVC warnings in the iodev code (vgacore, voodoo, vpc-img, vvfat)
TODO: fix MSVC warnings in the voodoo rasterizer code
2012-11-01 15:43:12 +00:00
Volker Ruppert
c8012c3f1d cleaned up devices timer handler / fixed keyboard paste counter 2012-10-30 17:25:33 +00:00
Volker Ruppert
45a7020f5d recompiled BIOS after latest changes 2012-10-28 19:41:04 +00:00
Stanislav Shwartsman
a9396c3ffc Set INT vector 78h and above to zero; AWARD BIOS does this. Change based on sf patch #507. 2012-10-28 18:34:01 +00:00
Stanislav Shwartsman
8d32f2e305 fixed another compilaton err in vapic 2012-10-28 18:32:58 +00:00
Volker Ruppert
80e4fe3ec6 updated / improved Bochs code overview 2012-10-28 18:22:11 +00:00
Stanislav Shwartsman
7e663e785e fix compilation err 2012-10-28 16:34:25 +00:00
Volker Ruppert
24d9f5c194 documentation updates
- loading the 'voodoo' plugin with plugin_ctrl
- updated license sections in the manpages
- updated comments in siminterface.h
2012-10-28 15:53:06 +00:00
Volker Ruppert
f034bb5479 improved information related to SVN write access 2012-10-28 12:48:06 +00:00
Volker Ruppert
9933ffa3d9 vga refresh framework changes
- renamed trigger_timer() methods to refresh_display()
- new argument 'redraw' added to force a refresh of the entire screen
  (used in snapshot mode)
- siminterface method refresh_vga() now checks if the Bochs gui init is complete
- use SIM->refresh_vga() in some more cases
2012-10-28 08:23:39 +00:00
Volker Ruppert
f122549153 documentation updates
- Voodoo Graphics emulation
- PCI support available by default
- undoable / volatile mode with other types of base images
2012-10-27 07:33:09 +00:00
Volker Ruppert
78e29cc7eb - recompiled after latest changes 2012-10-27 06:40:21 +00:00
Stanislav Shwartsman
744001e35e Implemented VMX APIC Registers Virtualization and VMX Virtual Interrupt Delivery emulation
Bugfix: VMX: VmEntry should do TPR Virtualization (TPR Shadow + APIC Access Virtualization case is affected) and even could possibly cause TPR Threshold VMEXIT
2012-10-26 18:43:53 +00:00
Volker Ruppert
6276173b85 - updated SVN URLs in the Bochs documentation
- TODO #1: update links on the website
- TODO #2: add some information about SVN hook scripts and SVN backups with
  rsync to the developer doc
2012-10-26 16:43:19 +00:00
Volker Ruppert
4d870e3f4c changed another SVN URL (next test commit) 2012-10-26 15:50:21 +00:00
Volker Ruppert
9595689b54 - next test commit (updated SVN URL) 2012-10-26 12:43:20 +00:00
Volker Ruppert
7469df3c56 - updated Bochs SVN URL (test commit, some more changes are required 2012-10-26 12:28:24 +00:00
Stanislav Shwartsman
9b65cae026 make WRMSR end-of-trace instruction 2012-10-25 16:49:22 +00:00
Stanislav Shwartsman
4273b41d00 fixed write to apicbase when in x2apic mode 2012-10-25 16:09:34 +00:00
Stanislav Shwartsman
7e1b67f91e fixed bugs in vmx code 2012-10-25 16:08:28 +00:00
Stanislav Shwartsman
e4d659c54d fix compilation err 2012-10-25 16:07:11 +00:00
Volker Ruppert
eac784c0bb - regenerated after 'configure --help' changes 2012-10-25 16:03:11 +00:00
Volker Ruppert
699eabbac8 Enable PCI support by default / better text formatting for 'configure --help'
and added default values
2012-10-25 16:02:03 +00:00
Volker Ruppert
4eae421272 Graphics snapshot feature re-implemented for the new graphics API
- graphics_tile_info() split into a common and specific part
- store snapshot mode in structure bx_svga_tileinfo_t
- in snapshot mode, display adapters copy raw data to buffer
- rewrite of the trigger_timer() code to make it work in all cases
- added new class bx_nonvga_device_c to make forwarding refresh requests to the
  Voodoo adapter possible
2012-10-25 15:53:04 +00:00
Stanislav Shwartsman
d43bf74aa3 post_init_ivt change based on sf patch #3567829 2012-10-16 10:39:52 +00:00
Volker Ruppert
bdf28d89dd Graphics snapshot handling for standard VGA and compatible modes (old graphics
API) moved to the gui code. Splitted graphics_tile_update() in a common and a
specific part. The common part handles the snapshot case if active. As a side
effect, the snapshot feature now works for CGA modes, too. Fixed palette colors
in 8 bpp snapshots.
2012-10-15 19:43:06 +00:00
Volker Ruppert
1fd6745aea Started rewrite of the gui code to make the graphics snapshot independent from
the display adapter code. When ready, the common gui code should handle it
completely. The snapshot handler should set a flag 'snapshot_mode' and then it
should force a display update. The graphics update code should be redirected to
some code that 'draws' to a snapshot buffer. These first steps are done:

- store some guest display settings in the gui code (text / graphics switch,
  x / y resolution and bpp)
- split 8 bpp palette update code in a common and a specific part and store the
  palette values in the gui code
2012-10-14 18:29:44 +00:00
Stanislav Shwartsman
75908a2985 add comment 2012-10-14 15:58:10 +00:00
Volker Ruppert
26659d5667 - some more work on save/restore support (now almost usable)
- TODO: add graphics snapshot support
2012-10-12 15:14:30 +00:00
Stanislav Shwartsman
45d5d690d7 initialize random generator for RDRAND/RDSEED 2012-10-09 20:53:50 +00:00
Stanislav Shwartsman
2044b6c7ea add rdrand.cc to MSDEV workspace files 2012-10-09 16:50:45 +00:00
Stanislav Shwartsman
2638c1136a Add RDRAND/RDSEED instructions support (+ disasm)
Of course no true random numbers will be generated - use standard "C" rand() function as stub.
In future it will be possible to improve (using another random generator) or even use real rdrand/rdseed intrinsics
2012-10-09 15:16:48 +00:00
Volker Ruppert
1f7aa18003 implemented log action exclude checks in textconfig 2012-10-08 18:44:26 +00:00
Volker Ruppert
698afee9aa undoable / volatile mode: added support for other types of r/o base images.
These hdimage modes are now supported: flat, sparse, growing, vmware3, vmware4
und vpc. The image mode is auto-detected, so no change of configuration syntax
is necessary (TODO: documentation update). Example:

ata0-master: type=disk, mode=volatile, path=vmware4-test.img
2012-10-07 18:36:22 +00:00
Volker Ruppert
9f21d56c9d - vmware3: implemented check_format() for image mode autodetection
- vmware3: coding style changes
- vmware4: fixed endianness before version check
2012-10-07 11:38:55 +00:00
Stanislav Shwartsman
e7a2c9892c re-implement VTPF write using event handling interface as trap event (in preparation to more apic virtualization features) 2012-10-07 09:16:13 +00:00
Volker Ruppert
67e2610870 vmware4: implemented check_format() for image mode autodetection 2012-10-06 10:12:36 +00:00
Stanislav Shwartsman
b0edc32f4c fixed compilation with VMX 2012-10-06 09:13:41 +00:00
Volker Ruppert
e2a1e8192d - moved the logic to exclude log level / log action combinations that don't
make sense to siminterface.h and use it in the win32 dialog and for
  bochsrc parsing
2012-10-05 21:36:49 +00:00
Stanislav Shwartsman
c48e516386 implemented injection of MTF event. The MTF VMexec control is still not implemented yet 2012-10-05 20:48:22 +00:00
Volker Ruppert
d0a545c010 - moved log action definitions to siminterface.h
- wxdialog: use symbols and allow log action ACT_IGNORE for LOGLEV_ERROR
- wxdialog: removed obsolete pass event
- TODO: fix win32dialog stuff in a similar way
2012-10-05 16:04:40 +00:00
Stanislav Shwartsman
3cd11b02ee optimization and bugfix for prev commit 2012-10-04 21:30:50 +00:00
Stanislav Shwartsman
1b228aec32 Fixed double and triple fault detection in exception.cc. Remove errorno variable from CPU (redundant now) 2012-10-04 20:52:27 +00:00
Volker Ruppert
fb778e706c - sparse: simplified restore code
- redolog class: added support for opening redolog file in read-only mode
- open backups for header check in read-only mode (growing, undoable, volatile, vpc)
2012-10-04 17:01:17 +00:00
Stanislav Shwartsman
f69bc016d2 vmx: nmi blocking after NMI event injection. better dbg print for VMEXIT 2012-10-04 16:15:58 +00:00
Volker Ruppert
d6bdc0c18f vpc-img: implemented check_format() for image autodetection 2012-10-03 21:25:20 +00:00
Stanislav Shwartsman
be1642e02e fixed compile with debugger enabled 2012-10-03 20:32:02 +00:00
Stanislav Shwartsman
2ca0c6c677 Move INTR, Local APIC INTR and SVN VINTR into new event interface (hardest part)
Minor speedup (of 1-2%) was observed due to new implementation
Remove obsolete dbg_take_irq function and dbg_force_interrupt function from CPU code, the functions were not working properly anyway
2012-10-03 20:24:29 +00:00
Volker Ruppert
961a88ab43 - started implementation of hdimage mode autodetection and use it to check the
type of the r/o disk for the undoable / volatile mode. The format check code
  is currently written for flat, sparse and growing images. The undoable and
  volatile mode now cause a panic if the r/o image mode is unsupported.
- TODO #1: rewrite the header checks for vmware3, vmware4 and vpc images to make
  them usable for autodetection.
- TODO #2: add support for other types of r/o disks in undoable/volatile mode.
- TODO #3: add an image mode 'auto' for the supported types (NOTE: unknown images
  can be treated as flat ones if their size is multiple of 512).
2012-10-03 16:17:37 +00:00
Stanislav Shwartsman
49bb3ba8f5 some cleanups and optimizations with new event interface 2012-10-03 15:49:45 +00:00
Volker Ruppert
16ee7f8936 - turn on status bar LEDs after restore if necessary 2012-10-03 09:09:04 +00:00
Volker Ruppert
a0852c83b9 - continued work on save/restore support (still incomplete) 2012-10-03 08:12:35 +00:00
Stanislav Shwartsman
ae06a0825b svm virq - move to new event interface 2012-10-02 20:49:16 +00:00
Stanislav Shwartsman
9132c29280 optimization and code duplication cleanup in event handling code 2012-10-02 20:07:26 +00:00
Stanislav Shwartsman
5247dfb709 added some debug log messages when cannot open VPC image 2012-10-02 20:06:31 +00:00
Stanislav Shwartsman
0ee8af67c3 Partial undo of sf patch #3540389 to keep more "natural" argument order.
Sebastian
2012-10-01 20:41:11 +00:00
Stanislav Shwartsman
dbb23aed43 close another SMC hole 2012-10-01 18:19:09 +00:00
Volker Ruppert
54063b3e0b - skip screen update if video is unchanged
- some work on save/restore support (not yet complete)
- changed some variable types to bx_bool
2012-10-01 17:02:18 +00:00
Stanislav Shwartsman
3a6f649b18 fixed comment 2012-10-01 12:08:23 +00:00
Stanislav Shwartsman
e3c5f9027d exclude code based on uninitialized variables used only for DEBUG 2012-10-01 09:50:33 +00:00
Volker Ruppert
0611793f4c - enable Voodoo clock in init()
- don't enable Voodoo mode if hSync or vSync are still 0 to avoid Bochs crash
  (division by zero error)
- handle PCI register 0x40 (initEnable)
- fixed reported display size
2012-09-30 12:11:01 +00:00
Volker Ruppert
74dc4fc37a - replaced empty LOG_VOODOO function by BX_DEBUG 2012-09-30 10:33:51 +00:00
Volker Ruppert
05ae9fadae updated VS2008Ex workspaces files 2012-09-29 20:57:52 +00:00
Stanislav Shwartsman
e397a86ce0 fixed code duplication related to EXT field 2012-09-29 09:31:34 +00:00
Volker Ruppert
2d4f9009cd - save/restore documentation updates
- removed obsolete comment
2012-09-28 21:13:46 +00:00
Volker Ruppert
b142dbcc2c - add new function hdimage_open_file() that returns file size and modification
time if requested (reduces code duplication)
- 'vpc' image mode: moved header check to a separate function that opens the
  file, checks header/footer and returns disk type (if requested)
- implemented restore function for 'vpc' mode images
- gui: updated yes/no dialog message after saving state
- save/restore documentation update (TODO: developer doc)
2012-09-27 18:38:30 +00:00
Stanislav Shwartsman
dc369d831f small cleanup 2012-09-27 07:03:25 +00:00
Volker Ruppert
35ec96f740 - implemented restore function for 'vmeare3' mode images
- 'vmware4' image mode: handle restore failure
2012-09-26 16:20:38 +00:00
Stanislav Shwartsman
8189a5ed20 fixed compilation with SMP 2012-09-26 16:00:49 +00:00
Stanislav Shwartsman
42a460638e don't allow voodoo configure with no PCI 2012-09-26 13:40:37 +00:00
Stanislav Shwartsman
b2afa834c5 fixed compilation with intrumentation w/o x86-64 2012-09-25 20:48:46 +00:00
Stanislav Shwartsman
66a9a769fc fixed nmi window exiting 2012-09-25 20:00:33 +00:00
Volker Ruppert
176121dd2b - implemented restore function for 'volatile' mode images 2012-09-25 20:00:26 +00:00
Volker Ruppert
c06e02f9f0 - fixed uninitialized variable warning and BX_INFO output 2012-09-25 18:32:38 +00:00
Volker Ruppert
84cfd36d38 - implemented restore function for 'vmware4' mode images
- fixed restore function for 'sparse' mode images
- prepared restore functions for 'vmware3' and 'vpc' mode images
2012-09-25 16:24:19 +00:00
Stanislav Shwartsman
08d0ef6dbf fixes for new event handling code 2012-09-25 13:53:26 +00:00
Stanislav Shwartsman
d5f858d100 transfer VMX NMI window exiting into event vector infrastructure 2012-09-25 10:21:29 +00:00
Stanislav Shwartsman
40ba9c8d7b introducing new interface for handling CPU events based on vector of events and not on many not related variables. this is very initial implementation which takes into new interface only few events, more will code soon 2012-09-25 09:35:38 +00:00
Volker Ruppert
d29fb9a592 - implemented restore function for 'concat' mode images
- always use 'pathname' for the full path of the original image
2012-09-25 05:12:46 +00:00
Stanislav Shwartsman
3855c9c2fe fixed warning 2012-09-24 20:11:50 +00:00
Stanislav Shwartsman
f0c153e550 fixed warning 2012-09-24 19:53:49 +00:00
Volker Ruppert
723dfc2ad7 - improved packet logging function (added ASCII dump to hexdump) 2012-09-24 19:32:57 +00:00
Volker Ruppert
7ca95178b0 - fixed save/restore in VBE mode. The class bx_shadow_bool_c expects bit #0 to
be set for "true", but variable "lfb_enabled" wasn't correctly set up.
- TODO: check the whole Bochs code for the correct usage of variables saved
  with bx_param_bool_c.
2012-09-24 15:40:50 +00:00
Stanislav Shwartsman
da150bc163 small optimization in icache 2012-09-23 19:35:46 +00:00
Volker Ruppert
5d562a7830 - implemented restore function for 'growing' mode images
- fixes and cleanups in the restore functions
2012-09-23 19:28:28 +00:00
Volker Ruppert
b560c72b52 - added check for overlapping memory regions using a Bit16u bitmap (each bit
represents a 64k block in the 1M page)
- fixed some format warnings
2012-09-23 19:09:20 +00:00
Volker Ruppert
7fff912faf - implemented restore function for 'sparse' mode images
- fixed restore function for 'flat' mode images
2012-09-23 11:03:52 +00:00
Stanislav Shwartsman
fe327394c7 fix gcc 4.7 warnings in voodoo code 2012-09-22 19:59:40 +00:00
Volker Ruppert
31461c26fb - added helper function hdimage_copy_file() for the hdimage restore functions.
On win32 the native CopyFile() function is used. The restore function should
  work this way: coherency check (if necessary), close current image, copy saved
  image from restore path (overwrites existing one), finally re-open image.
- implemented restore function for 'flat' and 'undoable' mode images
2012-09-22 10:04:28 +00:00
Volker Ruppert
28bc5e4bc2 - moved coherency check for r/o disk and journal to a separate function to
make it usable for the required check before restoring journal file
- prepared restore function of undoable and volatile images
2012-09-21 20:25:23 +00:00
Stanislav Shwartsman
eb348992c2 optimize POPCNT implementation 2012-09-21 14:56:56 +00:00
Stanislav Shwartsman
74f5bb1934 WBINVD not necessary havw to flush ICACHE 2012-09-21 08:55:10 +00:00
Stanislav Shwartsman
cc5f8d12d1 fixed unused var warning 2012-09-20 21:14:13 +00:00
Volker Ruppert
bcd0a58537 - simplified save_state() method of 'sparse' mode images (saving parent images
not necessary, since all changes go to the toplevel image)
2012-09-20 20:41:14 +00:00
Stanislav Shwartsman
fe727d12e3 fixed uninitialized variable warning in vga.cc 2012-09-20 19:33:39 +00:00
Volker Ruppert
50482a9f2b - implemented save state function for the disk image modes 'vmware3', 'vmware4'
and 'vpc'
- prepared hdimage restore support
- vmware4: code cleanup
2012-09-19 21:05:18 +00:00
Volker Ruppert
5cbf0894ac - implemented save state function for the disk image modes 'concat' and 'sparse'
- set timestamp of r/o disk in volatile mode, too (for save/restore support)
- TODO: save state function for the remaining image modes, restore support
2012-09-18 19:00:25 +00:00
Volker Ruppert
7da5057be5 - implemented save state function for redolog_t based disk image modes (growing,
undoable, volatile)
- TODO: save state function for the remaining image modes, restore support
- save/restore: when saving binary data to a file, use the full parameter path
  (except "bochs." prefix) as the file name to avoid overwriting duplicates
2012-09-17 19:30:40 +00:00
Stanislav Shwartsman
6682d019e3 remove inline asm code which doesn't compile for MSDEV 64-bit. compiler knows to generate code not worse than this inline asm 2012-09-17 07:57:07 +00:00
Volker Ruppert
9ee5a77747 - started implementation of sav/restore support for hard disk images using a
dummy parameter and it's save/restore handlers. Currently only the save
  support is implemented and the specific save function is only written for
  flat mode images (copies whole disk image file to the save/restore folder).
- TODO #1: implement save function for the other disk image modes
- TODO #2: add restore support (replace disk image file with the one from the
           save/restore folder)
2012-09-16 19:51:30 +00:00
Volker Ruppert
54a637a431 - indent changes 2012-09-16 10:59:15 +00:00
Volker Ruppert
b3478cf57b - bochsrc include directive now supports 2 include levels 2012-09-16 08:55:59 +00:00
Volker Ruppert
35f97235ed - fixed compilation error in MinGW/MSYS and some warnings 2012-09-16 07:52:55 +00:00
Stanislav Shwartsman
f419798ca5 fixed reset value for mtrr 2012-09-15 19:52:11 +00:00
Volker Ruppert
c8907855c2 - remove spaces from short filename (otherwise long name is ignored) 2012-09-15 13:15:30 +00:00
Stanislav Shwartsman
e0aea74693 code indent 2012-09-15 10:03:22 +00:00
Stanislav Shwartsman
4eaa72a32f small coding style changes + warning fixes in voodoo code 2012-09-15 09:47:31 +00:00
Volker Ruppert
c7b33ec742 - regenerated after adding Voodoo Graphics support 2012-09-14 21:55:43 +00:00
Volker Ruppert
5f5d8e2c33 Applied initial version of the 3dfx Voodoo Graphics emulation. The Voodoo core
is based on a patch originally designed for DOSBox. Currently only the Voodoo1
adapter model can be emulation. The emulation is currently slow, but we intend
to clean up and optimize the code. Running the 3D engine in a separate thread
is also planned. To compile with Voodoo support the configure option
"--enable-voodoo" must be used. Then the device can be activated with
"plugin_ctrl: voodoo=1" in bochsrc or on the command line. The device will be
assigned automatically to a PCI slot unless you do that manually. A specific bochsrc
option to select the adapter model will be added when the code has support for it.
2012-09-14 21:50:50 +00:00
Stanislav Shwartsman
f151463f0f removed old deprecated options from the code 2012-09-14 13:32:54 +00:00
Stanislav Shwartsman
4f6557697b small comments updates in vmx code 2012-09-13 05:33:05 +00:00
Volker Ruppert
125c6f0bde - refenerated after fpu -> cpu/fpu change 2012-09-12 21:10:55 +00:00
Volker Ruppert
c2560a8d44 - fpu directory is now a subdirectory in 'cpu' 2012-09-12 21:08:40 +00:00
Stanislav Shwartsman
2c5165bc06 fix check of error_code feild on event injection 2012-09-12 04:12:58 +00:00
Volker Ruppert
25518fe172 - added save/restore support for the VGA override mode
- store update interval in the vga object
2012-09-11 06:52:11 +00:00
Volker Ruppert
4de921f1b6 - fixed copy and paste error 2012-09-10 20:54:15 +00:00
Volker Ruppert
1af2fb6a92 - regenerated after adding iodev/display folder 2012-09-10 20:50:46 +00:00
Volker Ruppert
c340da84dd - moved the display adapter emulation to the new subdirectory iodev/display
- TODO #1: update MSVC workspace files
- TODO #2: add Voodoo Graphics emulation
2012-09-10 20:49:29 +00:00
Stanislav Shwartsman
2f3c7ff8e4 implemented SMAP (Supervisor Mode Access Protection) from [Intel Architecture Instruction Set Extensions Programming Reference] rev14
fixed enabling of ADX extensions in generic CPUID when enabled through .bochsrc

Small code cleanups on the way to implementation of APIC Registers Virtualization features disclosed in recent Intel SDM rev043
2012-09-10 15:22:26 +00:00
Stanislav Shwartsman
0386f49e03 fixed comments for SHLD/SHRD instructrions and make code a little more clear 2012-09-09 17:44:42 +00:00
Volker Ruppert
d2aaa00336 - dimension_update() must be called when leaving VGA override mode
- Cirrus adapter needs to set the last resolution and BPP for VGA override
- TODO #1: move display adapter code to iodev subdirectory 'display'
- TODO #2: add 3dfx Voodoo Graphics emulation
2012-09-09 15:44:20 +00:00
Stanislav Shwartsman
7e48b30b5d fixed random freeze issues caused by commit rev11402 2012-09-06 19:51:33 +00:00
Stanislav Shwartsman
bff3ba1535 small optimization in lazy flags code 2012-09-06 19:49:14 +00:00
Stanislav Shwartsman
f1fd44b2cf preparations for apic regs virtualization feature described in SDM rev044 2012-09-06 15:21:08 +00:00
Volker Ruppert
8aac6ac761 - some fixes and updates related to the release process 2012-09-04 18:33:37 +00:00
Stanislav Shwartsman
8044a2bda6 rename i->execute field in the instruction
move victim cache lookup into cache lookup so traces could be linked with victim cache hits directly
2012-09-04 15:45:05 +00:00
Stanislav Shwartsman
90f544d307 after release 2.6 2012-09-02 18:43:27 +00:00
Stanislav Shwartsman
295e3ab8db fixed compilation warning 2012-09-02 18:38:04 +00:00
Volker Ruppert
8bc7213d9d - forgot to add release date 2012-09-02 11:24:32 +00:00
Volker Ruppert
1b21d26930 - regenerated for release 2012-09-02 11:11:54 +00:00
Volker Ruppert
39e41ac312 - preparing release 2.6 2012-09-02 11:11:00 +00:00
Volker Ruppert
8863056b7a - documentation updates (iodev subdirectories) 2012-09-02 10:51:47 +00:00
Volker Ruppert
de34274fcb - parts of the USB keypad code are still based on Ben's code, so we need to
add the LGPL to usb_hid.cc
- moved Ben's comment to usb_uhci.cc, since this file contains most of his
  initial pciusb patch
- TODO: implement full USB keyboard support (port from QEMU)
2012-09-02 09:37:47 +00:00
Stanislav Shwartsman
d1879b839e increase icache size 2012-09-01 19:13:01 +00:00
Volker Ruppert
f4622e3fbd - added documentation for some configure options
- use the <option> tag for configure options
- use the <anchor> tag for internal links into lists and tables
- some other updates related to configure options
2012-09-01 10:50:03 +00:00
Volker Ruppert
b9446cba4f - updated license information in the docs 2012-08-31 20:57:11 +00:00
Stanislav Shwartsman
ca720c40b8 Inte SDM rev44 was published, the rev043 is not the latest published one anyore 2012-08-31 16:01:41 +00:00
Stanislav Shwartsman
86a06ff9f6 more new vmx defines 2012-08-31 15:38:28 +00:00
Volker Ruppert
62a568c131 - changed license headers from LGPL to MIT for all devices / drivers that have
been ported from QEMU and originally have this license
- TODO: The QEMU people should verify the changes and tell us if something is
  missing. Bochs 2.6 will be released after everything has been confirmed to
  be okay.
2012-08-31 12:08:19 +00:00
Stanislav Shwartsman
2a459fb9be add more disclosed VMCS fields and vmexit codes to enums (from rev44 published today) 2012-08-31 09:25:13 +00:00
Volker Ruppert
48042499cf - added original authors on top of LGPL'd sources ported from Qemu
- added LICENSE file to clarify the Bochs license
- TODO: fix source files ported from Qemu with MIT license
2012-08-30 20:41:25 +00:00
Volker Ruppert
4e878a1ef9 - implemented "hideIPS" option in the win32 gui 2012-08-29 20:36:12 +00:00
Stanislav Shwartsman
1e752a1c34 fixed compilation error in rfb.cc (definition of TIMERPROC function) 2012-08-28 19:37:40 +00:00