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