Commit Graph

9757 Commits

Author SHA1 Message Date
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