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
Stanislav Shwartsman
76ee7b499b
svm updates
2012-01-08 14:09:51 +00:00
Volker Ruppert
c403b4b699
- devices 'usb_ohci' and 'usb_uhci': moved config parameter creation and bochsrc
...
option parsing to the plugin device code
- added function bx_init_usb_options() to reduce code duplication
- added log function names for 'usb_ohci' and 'usb_uhci'
- documentation updates
2012-01-08 12:43:46 +00:00
Stanislav Shwartsman
9261b2fa14
removed param_names.h include where not needed anymore
2012-01-07 17:54:19 +00:00
Stanislav Shwartsman
7defa74261
cleaned up code duplication in CPUDB classes
2012-01-07 17:06:03 +00:00
Stanislav Shwartsman
a804adac46
fixed compilation err with SMP enabled
2012-01-07 16:45:25 +00:00
Volker Ruppert
a48ef5f719
- added check for bochsrc options of optional plugins that have been moved to
...
the device code. Added panic message to force the user to enable the plugin
with 'plugin_ctrl'.
- moved config parameter creation and bochsrc option parsing for device
'usb_xhci' to the plugin device code
- added minimal documentation for the "log action per device" feature
- added log function name for 'usb_xhci'
2012-01-07 14:14:53 +00:00
Stanislav Shwartsman
bb9a1f45da
update version number in SVN to 2.5.1
2012-01-07 14:02:38 +00:00
Volker Ruppert
ae860d3cb8
- added changes in bugfix release 2.5.1
2012-01-06 21:56:48 +00:00
Stanislav Shwartsman
edfff5bf44
fixed VMX+EPT VirtualBox failures
2012-01-06 10:30:07 +00:00
Volker Ruppert
c98decb552
- fixed copy-and-paste bug in the status bar LED init code
2012-01-05 22:31:19 +00:00
Stanislav Shwartsman
e2ff4bc6d4
clear exitinfo1/2 fields in SVM on VMENTER
2012-01-05 22:23:05 +00:00
Stanislav Shwartsman
665d4568ee
convert most popular svn/vmx msgs to bx_debug - can be used together with enabling log options per device from .bochsrc
2012-01-05 19:42:58 +00:00
Stanislav Shwartsman
fddccfb498
code cleanup + copy/paste removal
2012-01-04 21:36:39 +00:00
Volker Ruppert
e82ce9038e
- bximage / bxcommit: fixed compilation on big endian hosts by adding a new
...
header file that contains the required bswap code. This fix will be backported
for 2.5.1, but a better solution should be found for the next major release.
- bxcommit: fixed another big endian issue
2012-01-04 19:20:52 +00:00
Stanislav Shwartsman
0e17f8f195
implemented AMD APIC extensions for SVM support
2012-01-04 16:06:37 +00:00
Stanislav Shwartsman
8c8fa8ec25
vmx cleanups
2012-01-03 20:27:40 +00:00
Volker Ruppert
538ca63af4
- moved common status LED handling code to gui.cc and implemented new
...
gui-specific method statusbar_setitem_specific()
2012-01-03 20:11:12 +00:00
Volker Ruppert
fb62b657f3
- fixed "Port Status Change Event": port ID starts at index #1
...
- changed some BX_INFOs to BX_DEBUG
2012-01-03 18:08:16 +00:00
Stanislav Shwartsman
c857488ed9
Added Corei5 750 (Lynnfield) configuration to the CPUDB
2012-01-02 20:59:02 +00:00
Stanislav Shwartsman
3b98634045
show EFER in debug print outside long mode too
2012-01-02 20:06:03 +00:00
Stanislav Shwartsman
5847e772a6
set async_event when injecting virq to SVM guest
2012-01-01 21:22:56 +00:00
Stanislav Shwartsman
269d5e3443
more SVM fixes
2012-01-01 20:26:23 +00:00
Stanislav Shwartsman
810aa1b67c
fixes for SVN. also turion64_tyler supports RDTSCP - include it in CPUID
2012-01-01 17:54:41 +00:00
Volker Ruppert
ca09763e89
- documentation.dbk: added some hints for using docbook / jade
...
- updated compilation and installation transcripts
- updated / fixed docs for bxcommit and bximage
2012-01-01 17:32:36 +00:00
Stanislav Shwartsman
30d90c1dc1
more SVM fixes
2011-12-31 20:10:11 +00:00
Volker Ruppert
759f9cb0f0
- don't update the queue head if a short packet is detected (fixes UHCI on XP)
2011-12-31 17:37:30 +00:00
Stanislav Shwartsman
b97a108d93
SVM: allow entering vm8086 and also paged real mode
2011-12-31 16:33:36 +00:00
Stanislav Shwartsman
a0b5ff48ec
more SVM fixes
2011-12-31 14:22:51 +00:00
Stanislav Shwartsman
3c0d712146
SVM fixes
2011-12-31 13:58:55 +00:00
Stanislav Shwartsman
fe6741d84d
fixed SVM bug
2011-12-31 13:26:55 +00:00
Stanislav Shwartsman
fe6328d18c
correctly enable SVM support in internal CPU features list
2011-12-31 12:58:20 +00:00
Volker Ruppert
afef1e621e
- update redolog image position with lseek() if the read/write access is not
...
handled by the volatile redolog (fixes tests with Windows XP)
- allow volatile write to boot sector
2011-12-31 12:51:07 +00:00
Stanislav Shwartsman
46d8a5894e
removed bad RDMSR/WRMSR check which disabled access to AMD extended MSRs
2011-12-31 12:37:35 +00:00