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