Volker Ruppert
9e084b8898
- use new log function name for the listbox contents and adjust listbox size
2012-02-21 19:50:56 +00:00
Volker Ruppert
b45077ac82
- moved optional plugin control item to the top of the list, since it's now
...
important for using network, sound and usb devices.
2012-02-21 16:15:39 +00:00
Volker Ruppert
e63948434a
- class bx_list_c size limit has been removed, so the "log action by device"
...
feature no longer needs a limit.
2012-02-21 15:56:18 +00:00
Volker Ruppert
e29c25d389
- implemented optional plugin control dialog
2012-02-21 12:00:54 +00:00
Volker Ruppert
b0afd56048
- changed checks for MinGW target cases to '*-mingw32*' (should fix WIN64 build)
...
- skip libtool creation and several checks for the MSVC target
2012-02-20 14:29:10 +00:00
Volker Ruppert
91fe8b99e6
- changed checks for MinGW target cases to '*-mingw32*' (should fix WIN64 build)
...
- skip libtool creation and several checks for the MSVC target
2012-02-20 14:27:45 +00:00
Stanislav Shwartsman
45b6eae291
updated fix for SF bug 3459998
2012-02-20 06:43:53 +00:00
Stanislav Shwartsman
1599031869
changed BX_INFO back to BX_DEBUG
2012-02-19 20:16:10 +00:00
Stanislav Shwartsman
f48317affc
SVM: Added EXITINFO2 write on VMEXIT (missed in prev commit)
...
Added phenom_8650_toliman <AMD Phenom X3 8650 (Toliman)> comment into .bochsrc example with all other supported CPU configs.
Added missed SVM definitions into Toliman CPUDB module
2012-02-19 20:15:23 +00:00
Volker Ruppert
0e186e8ba1
- fixed autoconf 2.68 warnings
2012-02-19 19:50:56 +00:00
Stanislav Shwartsman
92376fb693
svm updates
2012-02-19 12:16:58 +00:00
Stanislav Shwartsman
c70a42c5d7
merged patch ftom SF bug 3459998 Bochs cannot be compiled outside the source tree
2012-02-19 12:16:14 +00:00
Volker Ruppert
d3a9768f14
- missing config dialog for CPUID options added
...
- prepared wx plugin control dialog
2012-02-18 16:25:10 +00:00
Volker Ruppert
c85fe6afcc
- enable CPUID subtree only for CPU model choice #0
2012-02-18 10:50:14 +00:00
Volker Ruppert
a3441c8e55
- fixed memory leaks
2012-02-18 08:52:25 +00:00
Volker Ruppert
891051ac83
- don't compile library if subsystem is not enabled (network, sound, usb)
...
- fixed autoconf warnings
2012-02-17 19:09:33 +00:00
Volker Ruppert
92bb663381
- don't compile library if subsystem is not enabled (network, sound, usb)
...
- fixed autoconf warnings
2012-02-17 19:08:58 +00:00
Volker Ruppert
6079d4b2c0
- implemented optional plugin control dialog (TODO: do the same for wx)
2012-02-17 17:23:57 +00:00
Volker Ruppert
e30e6a9808
- moved optional plugin load / unload code to the siminterface
...
- implemented optional plugin control in textconfig
- TODO: implement this feature in the win32 and wx gui configuration
2012-02-16 18:06:03 +00:00
Stanislav Shwartsman
c2670b40d5
small cleanup in paging code
2012-02-15 19:49:35 +00:00
Stanislav Shwartsman
2f7e5ab3a3
fixed bugs in toliman configuration
2012-02-14 22:01:50 +00:00
Volker Ruppert
55854afa86
- calculate horizontal and vertical frequency from CRT for more accurate retrace
...
timing (TODO: length of retrace signals should be calculated, too)
2012-02-14 20:56:42 +00:00
Volker Ruppert
2f5be164d2
- reverted part of rev. 11031: for dependent lists the check 'param->get_parent() == this'
...
also works and no deplist trick is required
- bx_param_c destructor now deletes the dependent list if it exists (memory leak)
- bx_list_c::clear() only deletes the parameter if the list is it's parent
- added new method cleanup_save_restore() to free memory on simulator shutdown
2012-02-14 18:13:54 +00:00
Stanislav Shwartsman
5c02e7cebd
do not need to load PAE PDPTRs if going to nested paging mode
2012-02-14 12:36:39 +00:00
Stanislav Shwartsman
bb7a648d91
Major commit !
...
------------
Implemented SVN nested paging support - the Virtual Box boots perfectly with Nested Paging guest !
A lot of code duplication was added for now - major cleanup will follow later.
! Added AMD Phenom X3 8650 (Toliman) configuration to the CPUDB - this configuration has Nested Paging enabled.
Some CPUID modules rework done to enable Toliman configuration.
Ckean up 'executable' attribute from all CPU source files.
2012-02-13 23:29:01 +00:00
Stanislav Shwartsman
deaf58b130
read from CPUDB svm extensions
2012-02-13 21:55:27 +00:00
Volker Ruppert
8bb206ccdf
- added special flag for dependent lists
...
- bx_list_c: don't accept duplicate param names in list (except dependent lists
and special menus)
- added BX_PANIC for malloc() failure
- harddrv: fixed wrong variable found with bx_list_c changes
2012-02-13 20:58:26 +00:00
Stanislav Shwartsman
813fe4e6b9
reduce code duplication - continue preparing for nested paging implementation
2012-02-13 20:06:04 +00:00
Stanislav Shwartsman
4d0a5c1b07
- VMX: EPT misconfiguration should always take priority above EPT permissions violation (translate_guest_physical corner case bug)
...
- VMX: EPT reserved bits set should cause EPT misconfiguration and not EPT violation
- VMX: EPT walk for guest CR3 address should be considered as 'page walk'
2012-02-12 21:30:22 +00:00
Stanislav Shwartsman
0b5f798af1
re-commit changes from SVN rev11026 which were accidentially undo'ed by last Volker's commit
2012-02-12 19:13:57 +00:00
Volker Ruppert
de94b08a1a
- class bx_list_c now contains a chained list of parameters. Removed the now
...
obsolete maxsize parameter from all lists.
2012-02-12 18:43:20 +00:00
Stanislav Shwartsman
855d2adece
cleanups in paging code
2012-02-12 16:09:35 +00:00
Volker Ruppert
1df471dc82
- fixed line offset change in case VBE is disabled or in 4bpp mode
2012-02-12 13:14:38 +00:00
Volker Ruppert
8ada8d66ff
- simplyfied unloading of core plugins
2012-02-12 08:37:42 +00:00
Volker Ruppert
47c68a2f04
- fixed possible crash on Windows
2012-02-11 17:11:58 +00:00
Stanislav Shwartsman
fa182e96b5
for future nested paging: under NP PDPTR CACHE will contain NP PDPTR entries
2012-02-10 20:39:46 +00:00
Volker Ruppert
f5ca539534
- fixed some uninitialized values found with valgrind
2012-02-10 18:08:17 +00:00
Stanislav Shwartsman
a304bd5fd7
update user docs too
2012-02-10 16:08:01 +00:00
Stanislav Shwartsman
37af2eb6e4
update README file with newest Bochs CPU emulation caps
2012-02-10 16:02:22 +00:00
Stanislav Shwartsman
421170b2b9
applied SF patch
2012-02-10 15:15:31 +00:00
Stanislav Shwartsman
b497077b70
intel disclosed more cpuid bits
2012-02-08 19:54:22 +00:00
Volker Ruppert
47f2137edf
- set device state structure to 0 with memset() for some devices
...
- cleaned up vga core init code after adding memset()
- floppy: removed structures that had been used for win95 direct access
2012-02-05 10:08:56 +00:00
Volker Ruppert
90e6c88c55
- limit physical head and sectors per track parameters to the values
...
supported by hardware and BIOS
2012-02-04 16:39:59 +00:00
Stanislav Shwartsman
9bebe91826
eliminate duplicated cpu methods by adding extra param to opcodes with no modrm
2012-02-03 10:24:59 +00:00
Stanislav Shwartsman
14ec87768e
expand FCMOV function to 8 different functions - each one is much simpler to implement and understand
2012-02-01 12:07:53 +00:00
Volker Ruppert
b7333b7f3e
- removed definitions that already exist in the vgacore files
...
- minor fixes and cleanups
2012-01-31 18:53:02 +00:00
Stanislav Shwartsman
2e44613032
dos2unix for avx_pfp.cc
2012-01-30 15:29:22 +00:00
Volker Ruppert
825edc4c64
- blinking in VGA graphics mode implemented (undocumented feature???)
...
- prepared function to override the VGA output (stops the update timer)
- minor cleanups the update() code
2012-01-27 18:50:07 +00:00
Volker Ruppert
35f89eeefb
- regenerated after the pcivga changes
2012-01-26 16:37:00 +00:00
Volker Ruppert
ca2e44c0c4
- moved the pcivga code to vga.cc and removed the now obsolete plugin device
2012-01-26 16:35:38 +00:00
Volker Ruppert
da42a100eb
- major rewrite of the vga / cirrus code
...
- added new class bx_vgacore_c containing the core of the standard VGA
emulation. This is now the base class for both vga and cirrus.
- created 2 separate plugins 'vga' (for standard VGA and VBE) and 'svga_cirrus'
(Cirrus emulation). The vga extension option is used to select which plugin
should be loaded.
- TODO: move the pcivga code to the VGA/VBE code, add subdirectory for display
adapters, severak improvements and cleanups
2012-01-24 21:58:24 +00:00
Stanislav Shwartsman
56ff41bcd5
removed unused token from internal debugger command line parser
2012-01-24 21:42:04 +00:00
Volker Ruppert
ac08e89e94
- void gui init code to a new method and call it after the extension init
...
- added last maximum scan line to the bx_vga_c object
2012-01-23 22:16:08 +00:00
Stanislav Shwartsman
e42008a79a
fixed uninitialized variable usage
2012-01-23 16:51:00 +00:00
Stanislav Shwartsman
457c56c822
fixup for EPT paging
2012-01-22 18:39:15 +00:00
Volker Ruppert
709dc30cf4
- changed the maximum x/y resolution and the resulting number of x/y tiles
...
from constant to variable
2012-01-22 16:13:45 +00:00
Volker Ruppert
a34cf1bcd5
- changes in the text update interface code
...
- changed argument for the text mode info structure to a pointer
- added attribute controller palette to bx_vga_tminfo_t and removed the
previous implementation
- carbon.cc: attempt to fix the text mode colors (untested)
- x.cc: fixed warnings
2012-01-22 12:22:03 +00:00
Volker Ruppert
63ab13fe09
- store max. x / y resolution in the gui object and use it in win32.cc. Now it
...
no longer needs to incluse vga.h
2012-01-22 09:08:59 +00:00
Stanislav Shwartsman
795a21ec6d
change type of the bx_list_c::choice var to Bit32u to make in compatible with ask_uint function
2012-01-21 20:54:55 +00:00
Stanislav Shwartsman
2e32bf2d84
for bx_list param - convert 'choise' variable to regular integer
...
also for textconfig - fix operation under cygwin
under cygwin it is not guaranteed that any printf is printed on the screen under you flush the FILE stream.
2012-01-21 20:36:32 +00:00
Volker Ruppert
500ad37191
- added arguments for x/y resolution to the gui init() and store x/y tilesize
...
in the gui object. Now the gui doesn't need to include vga.h.
- TODO #1 : win32.cc also shouldn't include vga.h
- TODO #2 : replace BX_MAX_XRES / BX_MAX_YRES by variables that can be set
depending on the configuration
2012-01-21 12:15:10 +00:00
Volker Ruppert
3ec77e9372
- store config parameter values in local variables to avoid searching for
...
parameters at simulation time
2012-01-20 15:56:17 +00:00
Stanislav Shwartsman
fc6712e3a3
undo part of prev paging commit
2012-01-19 20:01:32 +00:00
Volker Ruppert
ed669adfd1
- rewrite of the PCI memory management code for the expansion ROM and BIOS area
...
- store memory type array in the memory object to avoid calling the pci plugin
frequently. The pci code calls a memory method to change the memory type in
case the PAM registers are modified.
- removed now obsolete code and minor cleanups
2012-01-19 18:32:11 +00:00
Stanislav Shwartsman
12afed23a1
small fix and cleanups in paging code
2012-01-19 06:38:22 +00:00
Stanislav Shwartsman
d69f845cc6
fixed compilation with debugger
2012-01-17 22:02:19 +00:00
Stanislav Shwartsman
9461797886
added extra param to debugger phy access callback + cleanup in vmexit functions
2012-01-17 21:50:15 +00:00
Stanislav Shwartsman
f4b49633d4
paging code rework (cont)
2012-01-17 18:20:55 +00:00
Volker Ruppert
0711276b3f
- updated VS2008 workspace file (plugin version)
2012-01-17 18:03:55 +00:00
Stanislav Shwartsman
b52c36d8c8
regenerated configure script
2012-01-16 18:43:48 +00:00
Volker Ruppert
ec464f6f17
- fixed sector count to support > 32GB virtual disk size (patch by soynor)
2012-01-16 17:27:37 +00:00
Volker Ruppert
a700d33e9f
- call functions for config and bochsrc parameter handling used by plugins
...
from the siminterface (required by MSVC and maybe others)
2012-01-16 17:11:16 +00:00
Alexander Krisak
4a146456c6
fixed compilation in cygwin
...
fixed rfb under windows
2012-01-16 15:39:43 +00:00
Stanislav Shwartsman
0d64a6cb92
fixed paging bug in previous commit
2012-01-16 15:26:25 +00:00
Volker Ruppert
1b50a7f941
- updated default VS2008 workspace file (plugin version requires some source
...
code modifications)
2012-01-15 20:26:09 +00:00
Stanislav Shwartsman
7d641450ec
remove param from check_entry_PAE function - it is always the same for all calls
2012-01-15 20:25:39 +00:00
Stanislav Shwartsman
c7cb99787e
rework in paging code before nested paging implementation for SVM - step 2
...
optimize TLB flush code
2012-01-15 19:38:00 +00:00
Stanislav Shwartsman
4db23355cd
rework in paging code before nested paging implementation for SVM - step 1
2012-01-15 17:54:13 +00:00
Volker Ruppert
8d7954e576
- another iodev cleanup: renamed pit_wrap files to 'pit'
...
- updated devices.txt
2012-01-15 08:50:20 +00:00
Volker Ruppert
6fe909393b
- regenerated after moving sound stuff to new subdirectory
2012-01-15 07:56:11 +00:00
Volker Ruppert
c6bd3fb60c
- moved the sound stuff to the new subdirectory iodev/sound
...
- TODO #1 : update MSVC workspace files
- TODO #2 : these 'device classes' could be moved to subdirectories, too:
- pci (when we have more than one chipset)
- display (when we have one more device and vga / cirrus cleaned up)
2012-01-15 07:52:04 +00:00
Volker Ruppert
a1a2ca1f55
- regenerated after moving networking stuff to new subdirectory
2012-01-14 17:12:27 +00:00
Volker Ruppert
50de0a12cd
- moved the networking stuff to the new subdirectory iodev/network
...
- TODO: do the same with the sound code and update MSVC workspace files
2012-01-14 17:03:00 +00:00
Volker Ruppert
a207f9b94d
- regenerated after moving usb stuff to new subdirectory
2012-01-14 12:39:16 +00:00
Volker Ruppert
b72d603d83
- forgot to remove this file
2012-01-14 12:37:58 +00:00
Volker Ruppert
68b49ba42d
- moved the USB stuff to the new subdirectory iodev/usb
...
- TODO #1 : do the same with the network and sound code
- TODO #2 : update MSVC workspace files
2012-01-14 12:36:32 +00:00
Volker Ruppert
e4570a0939
- added special linked list for core plugins and manage them with the device
...
plugin system.The load order is important for these devices!
- load support plugins for networking, sound and usb only if at least one of the
related plugin devices is loaded.
- plugin_ctrl: added missing devices to the list in bochsrc sample
2012-01-13 17:04:47 +00:00
Volker Ruppert
fb9401c3b0
- devices 'ne2k' and 'sb16': moved config parameter creation and bochsrc option
...
parsing to the plugin device code
- sb16: modified misc runtime menu creation to make the sb16 parameters optional
- ne2k: changed location of the init() method in file (now matches coding style
of other device plugins)
2012-01-12 18:03:20 +00:00
Stanislav Shwartsman
f5d55f5eb6
- Implemented Task Switch intercept in SVM, cleanup in task switch handling code
...
- Changed (c) year in several cpu files
- Cleanup and indent fixes in VMX code
2012-01-11 20:21:29 +00:00
Stanislav Shwartsman
039326d0c9
always return const pointer from functions - these strings are not planned to be modified
2012-01-11 19:57:38 +00:00
Stanislav Shwartsman
cb366e00c5
fixed code duplication in exceptions
2012-01-11 06:27:35 +00:00
Volker Ruppert
5c49e2458f
- added new plugin type PLUGTYPE_STANDARD for optional plugins which are used in
...
nearly all cases and plugins that depend on others. These plugins cannot be
managed with 'plugin_ctrl' (e.g. keyboard, harddrv, pci_ide). Store the plugin
type in the divice structure for compatiblity with the "no-plugin" compilation.
Call the device methods init(), reset() and after_restore_state() for each type
separately in the order: stanard, optional, user. This also affects the status
bar LED feature: now the keyboard and harddrv LEDs are always visible, but
those of optional plugins may be invisible if there is no space left.
- TODO #1 : add the devices 'ne2k' and 'sb16' to 'plugin_ctrl'
- TODO #2 : manage core plugins with the device plugin system
2012-01-10 17:45:18 +00:00
Stanislav Shwartsman
ba7887f31c
fixed code duplication with v86 interrupt redirection
2012-01-10 08:13:34 +00:00
Stanislav Shwartsman
8d698c7087
fixed compilation err ith cpu-level=5 and cleanups
2012-01-09 20:52:15 +00:00
Stanislav Shwartsman
87b1c31495
fixed SVM VmEXIT on #PF error code
2012-01-09 20:24:23 +00:00
Stanislav Shwartsman
f64c38dfaf
fix in SVM event injection
2012-01-09 20:15:15 +00:00
Volker Ruppert
db4520f778
- devices 'pcidev' and 'pcipnic': moved config parameter creation and bochsrc
...
option parsing to the plugin device code
2012-01-09 17:15:03 +00:00
Stanislav Shwartsman
2900956327
Split back some frequently used arithmetic and logic opcodes (which were done as Load+Op before).
2012-01-09 13:09:59 +00:00
Stanislav Shwartsman
35bfe11c3d
SVM: forgot to save RFLAGS in guest state
2012-01-08 19:46:38 +00:00
Stanislav Shwartsman
a531f8081c
fixed compilation with cpu-level=5
2012-01-08 16:58:14 +00:00