Volker Ruppert
4c253c8cd6
- more accurate vertical retrace emulation (based on the DOSBox implementation)
2012-03-25 19:16:44 +00:00
Stanislav Shwartsman
d4688e8b95
- Do not compile support for alignment check (#AC exception) by default
...
for CPU emulation performance reasons, the alignment check compilation
still can be enabled using configure option --enable-alignment-check.
There is no software in the world which enable #AC exception checking, this
x86 feature is completely legacy but its emulation support costs up to 3-5%
emulation speed.
The checking for #AC exception enable still will be done, if
CPL == 3, EFLAGS.AC = 1 and CR0.AM = 1
but the alignment check is not compiled in, the Bochs will PANIC with corresponding message.
You can press 'always continue' and ignore the PANIC, the simulation will continue as if alignment checking is not enabled.
2012-03-25 19:07:17 +00:00
Stanislav Shwartsman
3ca29cbdf3
stack direct access optimization - 5% emu speedup to all 32-bit guests, for 64-bit guests speedup is less because they have less stack accesses
2012-03-25 11:54:32 +00:00
Volker Ruppert
c43cf378f4
- floppy: added debug_dump()
2012-03-23 17:22:30 +00:00
Volker Ruppert
51cba8776d
- improved debug_dump()
...
- small code cleanup
2012-03-20 18:29:49 +00:00
Stanislav Shwartsman
b5a33e82ac
fixed a lot of code duplication in debugging/instrumentation of mem access
2012-03-20 18:26:04 +00:00
Stanislav Shwartsman
e1506e3e29
some cleanup in CPU code + patch SVM SS.DPL instead of failing VMRUN
2012-03-19 19:24:15 +00:00
Stanislav Shwartsman
a8565cdfc3
added missed line in MSR fix
2012-03-17 12:07:27 +00:00
Stanislav Shwartsman
bd4aa017fe
Lazy flags improvement patch by Darek Mihocka - measured 5% speedup everywhere accross the board
...
The problem with Parity is it is generally referenced very rarely so the current lazy flags code is not efficient to updated Parify flag only (because it updates low 8 bits of .result value the existing Zero Flag has to be shadowed in .auxbits.
So I flipped it around, to make Parity be shadowed in auxbits. .result now is only needed to derive Zero Flag, and both Sign and Parify are derived from .result + .auxbits (as Zero Flag is now). For the 90% of the conditional jumps that are JZ or JNZ, this is a speedup.
Parity is now derived from 8 bits in .result and 8 bits in .auxbits, and Sign is derived from one flag in .result and 1 bit in .auxbits by XOR-ing them all together. It makes the code sequences for SAHF and POPF simpler too.
2012-03-17 08:51:52 +00:00
Stanislav Shwartsman
733dc3bb3c
dump CPUID .bochsrc options only if no CPUDB profile is selected
2012-03-15 19:55:14 +00:00
Stanislav Shwartsman
5a33b1be84
mvoed MWAIT_IS_NOP option from CPUID to CPU - it has meaning even if CPUID tree is not used because CPU is configured with CPUDB pre-defined configuration
2012-03-15 19:46:57 +00:00
Stanislav Shwartsman
1dd0500259
Merge SF patch 3505209 and update CHANGES
2012-03-15 19:34:13 +00:00
Volker Ruppert
a00bf4c01a
- pci2isa: show PCI IRQ level in debug_dump()
...
- dma: added debug_dump() with verbose output if channel is active
2012-03-15 18:12:13 +00:00
Stanislav Shwartsman
9d5d33632c
VMX: Fixed reading of VMX MSR-HI (0xC0000000 <= index <= 0xC0001FFF) bitmaps / Fixed memory overflow
2012-03-14 19:42:06 +00:00
Stanislav Shwartsman
a9d03340d6
correctly handle EFER.LMA and EFER.LME with unrestricted guests
2012-03-14 19:17:27 +00:00
Stanislav Shwartsman
a668ff9908
small code optimization
2012-03-13 19:41:10 +00:00
Volker Ruppert
3ba2751b6f
- update changes
2012-03-13 19:08:40 +00:00
Stanislav Shwartsman
406a381371
update CHANGES (not complete)
2012-03-13 15:24:47 +00:00
Stanislav Shwartsman
25ffaeeea8
fixed VMX issue + small code reorg
2012-03-13 15:18:21 +00:00
Volker Ruppert
5a9e4a98ff
- makefile fixes in the iodev subdirs related to SF bug #3459998
2012-03-12 21:10:44 +00:00
Stanislav Shwartsman
33fe397d22
Merge SF patch [3502052] Added refresh of debugger gui when stepping
2012-03-11 20:17:12 +00:00
Volker Ruppert
3f2cd2cad6
- compilation fixes for MSVC (SF bug #2905969 )
2012-03-11 18:12:50 +00:00
Volker Ruppert
4acef49a29
- improved debvug_dump() for pci, pic and vga / cirrus
...
- pci2isa: added debug_dump()
2012-03-11 12:17:41 +00:00
Volker Ruppert
3027c108a8
- update generated files
2012-03-10 17:18:43 +00:00
Volker Ruppert
086266d033
- implemented new debugger command 'info device [string]' that shows the state
...
of the device specified in 'string'. Added register mechanism and chained
list to store the device name and pointer. Replace hardcoded debug info
implementations for pic, pci and vga by the new one.
- TODO #1 : improve existing debug_dump() output and add more devices
- TODO #2 : add support for additional arguments and replace the NE2k print_info()
2012-03-10 17:14:07 +00:00
Stanislav Shwartsman
9c27d279b9
removed incorrect BX_INFO msg
2012-03-07 20:07:57 +00:00
Volker Ruppert
953cd82219
- make the PCI debug_dump() usable from the debugger
...
- TODO:
add debug info for more devices without adding them to bx_devices_c and
without a macro in plugin. A register mechanism in the debugger code would
be nice. Currently it is only possible to show the devices state by
accessing the save/restore tree. The debug_dump() output should show
the operation mode and the most important registers.
2012-03-07 18:08:35 +00:00
Volker Ruppert
50ac1483cf
- update version number in the bochs manifest
...
- mention the manifest file in the developer doc
2012-03-06 17:06:55 +00:00
Stanislav Shwartsman
562c8c91d1
fixed FMA4 instructions sources
2012-03-06 15:18:35 +00:00
Volker Ruppert
baee102fa2
- fixed common controls / manifest problem found during SDL testing
2012-03-05 21:17:34 +00:00
Stanislav Shwartsman
bde2f4d829
correctly handle #UD because of XOP.VVV
2012-03-05 19:48:55 +00:00
Volker Ruppert
3c8aecb312
- updated compilation instructions for SDL support with VS2008Ex
...
- TODO: add support for SDL with MSVC nmake
2012-03-05 17:19:42 +00:00
Volker Ruppert
f6c2f45299
- fixed compilation with MSVC
...
- TODO #1 : add instructions how to compile Bochs with SDL support on VS2008Ex to
the user doc
- TODO #2 : add MSVC nmake support
2012-03-04 21:37:49 +00:00
Stanislav Shwartsman
95e4191cd1
any vex instruction must use VEX.VVV or #UD
2012-03-04 17:56:22 +00:00
Volker Ruppert
f36536070c
- updated VS2008 workspace files
2012-03-04 17:27:05 +00:00
Volker Ruppert
9d42a3eca4
- removed x/y tile size parameters from specific_init() since the tile dimensions
...
are now members of the bx_gui_c class
2012-03-03 12:41:24 +00:00
Stanislav Shwartsman
572bd793fc
fixed compilation warning
2012-03-03 08:24:30 +00:00
Volker Ruppert
796754e942
- wait until UI init is ready before starting simulation (fixes tool bar and
...
status bar if running multiple instances of Bochs)
2012-03-03 07:44:53 +00:00
Volker Ruppert
2b4d9a26dc
- added new command line option '-noconsole' to disable the console window
...
on Windows. Added early command line check for this option to call the
console creation for sdl and wx only if required. NOTE: The console is still
needed for the config interface 'textconfig', the console debugger and log
output to stdout/stderr.
2012-03-02 16:51:45 +00:00
Stanislav Shwartsman
c52d97cb7f
fixed comments in paging.cc
2012-02-28 22:39:33 +00:00
Stanislav Shwartsman
1f14c171ed
rename some SSE handlers
2012-02-28 18:53:58 +00:00
Volker Ruppert
b45dbc15fc
- fixed SDL fullscreen mode on Windows (part of SF bug report #2988910 )
...
- fixed a warning on non-WIN32 platforms
2012-02-28 18:38:32 +00:00
Stanislav Shwartsman
d4541f1a88
removed dedicated handler for MOVNTI - can be replaced with existing handlers
2012-02-27 15:50:43 +00:00
Volker Ruppert
2d90b30b14
- attempt to fix SF bug #3493315
...
- for sequencer reg #1 a screen update is required after changing bit #0 , #3 and #5
- added new method skip_update() that checks the conditions to skip the screen update
and it is called after resizing the display
- clear screen request from the sequencer is now handled by the update() code
in the new method skip_update() instead of clearing display directly
2012-02-25 15:51:39 +00:00
Stanislav Shwartsman
75cf2e2c4a
Fix fallout from bx_list_c change
2012-02-24 21:58:41 +00:00
Stanislav Shwartsman
959ab435cf
fixed compilation err with SVM
2012-02-24 21:31:31 +00:00
Stanislav Shwartsman
b38c3e3629
Fix fallout from bx_list_c change
2012-02-24 19:40:18 +00:00
Stanislav Shwartsman
7d2e7e5245
Fix memset in pcipnic.cc
2012-02-24 19:38:10 +00:00
Volker Ruppert
1425e2370c
- fixes related to the wx 2nd run support (not yet complete)
...
- siminterface: don't create plugin parameter if it already exists
- wx: make sure all plugins are loaded when creating plugin control dialog
- USB HC's: fixed removal of parameters when unloading plugin
2012-02-23 21:26:13 +00:00
Stanislav Shwartsman
86c7033a63
name cpu log functions in lower case
2012-02-23 19:31:02 +00:00
Volker Ruppert
d74762b984
- wx: use new log function name for the table of log modules
...
- added some more log function names
2012-02-23 17:16:35 +00:00
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
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
Volker Ruppert
185490c158
- fixed possible segfault when setting up file attributes
...
- some more hidden / system directory fixes
- parse_directory() / write_file(): continue only if next cluster is valid
- TODO: fix VVFAT with Windows XP guest (unmodified FAT ?)
2011-12-30 23:23:34 +00:00
Stanislav Shwartsman
560e3ca254
compilation fix for smp=0
2011-12-30 18:55:19 +00:00
Stanislav Shwartsman
cee8a3b9ef
AMD's core has special 0x80000008.ecx value
2011-12-30 18:53:41 +00:00
Stanislav Shwartsman
088ab4832f
turion64 tyler supports cmpxchg16b
2011-12-30 18:46:46 +00:00
Volker Ruppert
5f0ec6c805
- fixed behaviour of "enable changed" port status bit
...
- improved error message
- TODO: fix UHCI with Windows XP guest (device not recognized)
2011-12-30 17:29:43 +00:00
Stanislav Shwartsman
2a0d989755
fixed compilation err with SVm w/o VMX
2011-12-30 12:24:22 +00:00
Volker Ruppert
223fe998b3
- code for setting up log actions by device rewritten
...
- unknown module names now cause a panic
- added log function names to some more devices
- TODO: find a way to configure log actions by device in the config interface
start menu (most of the devices do not exist at this point)
2011-12-30 11:13:37 +00:00
Stanislav Shwartsman
93523a657d
remove patch that always kept IF set after HLT - not needed anymore
2011-12-30 08:50:01 +00:00
Stanislav Shwartsman
3501eeceaf
updated cpudb list in .bochsrc sample
2011-12-29 22:01:51 +00:00
Volker Ruppert
b130bf671b
- initial "log action by device" implementation added (TODO: check for
...
invalid module names, save log actions to bochsrc)
- added new member 'name' to the logfunctions class for the case the prefix
is too short. Added to some devices with longer names.
2011-12-29 19:51:54 +00:00
Volker Ruppert
32f53b5151
- performance fix for the new status LED code: only call the gui specific code
...
to update the status text if there is really a change
- changed the counter resolution to 5 (auto-off still happens after 0.5 seconds)
- the element value -1 is only used to reset the LEDs, so we have to ignore the
status flags
2011-12-29 16:28:58 +00:00
Volker Ruppert
13506f74ee
- fixed handling of directories with the attributes 'hidden' and 'system'
2011-12-29 15:39:04 +00:00
Stanislav Shwartsman
abda3a967c
added two AMD CPUs to CPUDB
2011-12-29 14:23:22 +00:00
Volker Ruppert
09391fc21a
- prepared "set log action by device" feature in the parameter tree and the
...
bochsrc parser. When read it will be possible to define exceptions from the
default setting like this:
debug: action=ignore, pci=report
- TODO (almost everything)
- add a 'name' member to the logfunctions class, since the prefix might be
too short
- apply special log actions the log modules and panic on unknown modules
- support saving special log action to bochsrc
2011-12-29 12:44:38 +00:00
Stanislav Shwartsman
644c7c6289
undo bxswap change - it breaks build with bx_debugger enabled. error - multiple definition of bx_swap16 in parser.o and lexer.o
2011-12-28 22:43:18 +00:00
Stanislav Shwartsman
7cd72d6f79
remove old garbage from makefile
2011-12-28 22:35:21 +00:00
Stanislav Shwartsman
c62426145a
moved bx_bswap definition into osdep.h so bximage tool can also include them
2011-12-28 22:17:12 +00:00
Stanislav Shwartsman
5da69a6fb4
fixed typo - invalid CPUID leaf should go to max std leaf
2011-12-28 21:59:39 +00:00
Stanislav Shwartsman
2b854cb101
added basic (very basic) SVM CPUID into generic_cpuid module
2011-12-28 21:54:51 +00:00
Stanislav Shwartsman
0a14f08f16
completing SVM coding, missed - CPUID, extended APIC
2011-12-28 16:12:28 +00:00
Volker Ruppert
ea80df55e6
- implemented "auto-off" status LED feature and removed old "iolight" code
2011-12-28 14:53:05 +00:00
Stanislav Shwartsman
864ea23b5b
take events handling logic from cpu.cc to new file event.cc
2011-12-28 12:26:45 +00:00
Stanislav Shwartsman
dcfa57087f
fixed typo in configure script
2011-12-28 12:20:49 +00:00
Volker Ruppert
0b2bec6752
- implemented "auto-off" timer for the status bar LEDs that replaces the
...
existing "iolight timer" code in the hard drive code. If an LED is registered
with the "auto-off" flag, the device only needs to turn on the LED to indicate
data transfer. The LED timer in the gui code turns it off after 0.5 seconds if
it is not actived by another transfer. Added this feature to all network
devices.
- TODO #1 : implement this feature in the USB host controllers
- TODO #2 : the unused timer in the hard drive code could be used for the
emulation of seek functions
2011-12-28 11:51:42 +00:00
Stanislav Shwartsman
2b8371f2b6
implemented SVM_GIF handling
2011-12-27 20:46:15 +00:00
Stanislav Shwartsman
7f5f917a34
more SVM implementation
2011-12-27 19:42:11 +00:00
Volker Ruppert
3e65692e40
- some progress for making the E1000 work with Windows XP
...
- allow to set the PCI busmaster bit
- implement byte read access for the status register
2011-12-27 16:39:31 +00:00
Volker Ruppert
8ef4c8abaa
- removed plugins 'acpi' and 'ioapic' from the optional plugin control to avoid
...
trouble. In the future they may depend on the selected PCI chipset.
2011-12-27 13:02:35 +00:00
Stanislav Shwartsman
c32eaa5d05
added more svm intercepts
2011-12-26 20:51:57 +00:00
Volker Ruppert
0de2516d05
- fixes to avoid crash after unloading plugins before simulation
...
- small cleanups
2011-12-26 20:32:56 +00:00
Stanislav Shwartsman
6ae86a059b
firt cleanup in SVM code. added intercept check for MSR and IO
2011-12-26 19:57:39 +00:00
Volker Ruppert
046b74d94c
- devices 'e1000' and 'es1370': moved config parameter creation and bochsrc
...
option parsing to the plugin device code
- TODO: some more optional device plugins could be modified this way
2011-12-26 17:32:57 +00:00
Stanislav Shwartsman
8b4a2c2034
implemented some more intercepts.
...
fixed compilation without SVM
2011-12-26 16:33:13 +00:00
Volker Ruppert
add7af8c13
- added support for converting growing to flat mode images
...
- added command line arguments and non-interactive (quiet) mode
2011-12-26 12:49:36 +00:00
Stanislav Shwartsman
bfcbb81602
SVM:
...
- IO intercept is not implemented yet
- MSR intercept is not implemented yet
VMX:
Fixed Bochs PANIC crash when doing I/O access crossing VMX I/O permission bitmaps.
This can happen because access_physical_read and access_physical_write cannot access memory cross 4K boundary.
2011-12-25 22:09:31 +00:00
Stanislav Shwartsman
ea6dfe3dc0
added svm files
2011-12-25 20:01:48 +00:00
Stanislav Shwartsman
01080243d4
complation fix
2011-12-25 19:58:21 +00:00
Stanislav Shwartsman
a44c1b8e1e
SVM and VMX share tsc offset code
2011-12-25 19:53:23 +00:00
Stanislav Shwartsman
75bda1d5cd
implemented SVM emulation support for Bochs (incomplete yet)
...
I am merging the code in order to start making shortcuts between VMX emulation and SVM emulation.
Of course SVM emulation is incomplete, completely untested and not expected to work.
But someone could already take a look one the code and give some suggestions.
Also looking for anybody with existing SVM kernels - as simple as possible - for testing.
Status:
- exceptions intercept is not implemented yet
- IO intercept is not implemented yet
- MSR intercept is not implemented yet
- virtual interrupts are not implemented yet
- CPUID is not implemented yet
No advanced SVM featurez planned - I am implementing the very basic 'Pacifica' document from 2005 using QEMU code as reference.
2011-12-25 19:35:29 +00:00
Volker Ruppert
aad2d89c83
- rewrite of the optional plugin control feature. Now the plugins are loaded
...
directly while parsing the bochsrc or command line. If plugin support is enabled,
the option could load all optional plugins, not only the ones supported before.
NOTE #1 : The old option had all plugins enabled by default and gave the user
a chance to diable them. Now the plugins are only loaded if they
appear in the config line and they are set to "1".
NOTE #2 : Loading a plugin that is controlled by a bochsrc option is possible,
but it currently leads to a panic, since the load command is still
present in devices.cc.
NOTE #3 : The plugin init code creates the device object and registers the
optional plugin device. As an option, it can create config parameters
and register an option parser. The device init, register state and
reset is still handled in devices.cc, but in the order the devices
have been loaded with the plugin control.
NOTE #4 : If plugin support is disabled, the plugin control only accepts the
devices listed in plugin.cc.
- plugin init of core plugins now fails if they are not loaded with the expected
type. For core plugins the load order is important and they cannot be handled
with the chained devices list (used for optional and user plugins).
- some additions for calling config.cc functions from a plugin device
2011-12-25 08:52:34 +00:00
Volker Ruppert
c4952b4c84
- E1000 support: updated workspace files and documentation
2011-12-24 15:17:10 +00:00
Volker Ruppert
f9ed249f10
- moved shared NIC config parameter init and parsing code to separate functions
...
(mac, ethmod, ethdev, script and bootrom)
2011-12-23 14:40:43 +00:00
Volker Ruppert
04b0bcb746
- some work for the case the plugin support is turned off
...
- added plugin unload function and improved load function
- use new function in bx_unload_plugins()
- new macro BX_UNREGISTER_DEVICE_DEVMODEL for future enhancements
2011-12-23 12:01:58 +00:00
Volker Ruppert
6df6f4ff76
- renamed 'user options' to 'addon options'. When a load option for optional
...
plugins is implemented in bochsrc, these functions can be used to install
additional options from the devices code. Then the whole init / parse / save
code for this device can be moved from config.cc to the device plugin.
2011-12-23 10:03:10 +00:00
Stanislav Shwartsman
4bb4d29f8c
better report supported CPUID features when not using pre-defined CPUID profile
2011-12-22 19:12:37 +00:00
Stanislav Shwartsman
d613ce554f
added extra CPUID option (VMX) - increase list count
2011-12-22 15:49:16 +00:00
Volker Ruppert
38a797f502
- added function for loading optional plugins in case the plugin support is
...
turned off. Removed workaround code from devices.cc.
- removed 'pci_ide' plugin from the optional plugin control, since it depends
on the presence of 'pci' and 'harddrv'.
- define types for plugin init/fini functions
2011-12-22 10:35:49 +00:00
Volker Ruppert
d070de30dd
- removed BX_INFO (used for testing PCI ROM support)
2011-12-22 08:21:48 +00:00
Volker Ruppert
bfa3a14265
- PCI ROM handling fixes
...
- fixed tmpsize (patch by Sebastian Herbszt)
- disable PCI ROM access after copying to shadow RAM (same as SeaBIOS)
2011-12-22 07:53:51 +00:00
Volker Ruppert
40052509d2
- PCI ROM handling fixes
...
- fixed tmpsize (patch by Sebastian Herbszt)
- disable PCI ROM access after copying to shadow RAM (same as SeaBIOS)
2011-12-22 07:53:25 +00:00
Stanislav Shwartsman
2dee4b12be
added VMX .bochsrc option to ctoggle VMX ON/OFF on runtime
2011-12-21 09:11:51 +00:00
Stanislav Shwartsman
e7ed8aca5c
move inhibit interrrupts functionality to icount interface
2011-12-21 06:17:45 +00:00
Volker Ruppert
e38772006f
- added PCI ROM init code that copies to shadow RAM and use it for both VGA
...
and other boot ROMs
- define and use PCI constants (patch by Sebastian Herbszt)
2011-12-20 19:34:47 +00:00
Volker Ruppert
46d5caa98d
- added PCI ROM init code that copies to shadow RAM and use it for both VGA
...
and other boot ROMs
- define and use PCI constants (patch by Sebastian Herbszt)
2011-12-20 19:34:05 +00:00
Volker Ruppert
e312454851
- several fixes in PCI ROM code of the memory handlers
...
- use 'pci_rom_size - 1' as the mask for the offset address
- ne2k: memory handlers must be disabled if compiled without PCI support
- svga_cirrus: check for the PCI ROM size to make VBE work correctly
- added BX_INFO to the mem write handlers
2011-12-20 19:33:16 +00:00
Stanislav Shwartsman
7cdeecf198
VMX: fixed VirtualBox VMX guest Guru Meditation - FS.BASE get corrupted after saving/restoring unusable selector
2011-12-19 16:06:53 +00:00
Stanislav Shwartsman
6cc03432d9
improve VMX debug print
2011-12-18 21:04:30 +00:00
Volker Ruppert
927d9bb057
- added PCI network boot ROM support to all network adapters. The ISA version
...
of the NE2000 is not supported and it currently requires SeaBIOS to boot.
- TODO: implement PCI network boot ROM support in the Bochs BIOS
2011-12-18 20:26:14 +00:00
Stanislav Shwartsman
f6203dae7d
instrumentation: added special indication for indirect call/jump
2011-12-18 18:11:56 +00:00
Volker Ruppert
e635b86c16
- unload optional and user plugins first to avoid segfault in case of
...
dependencies on core plugins
- added missing core plugins to unload
2011-12-18 10:47:26 +00:00
Volker Ruppert
c9af6d043d
- all networking modules: check device receive status before sending packet
...
- networking modules 'slirp' and 'vnet': use device speed for timing of
emulated replies.
2011-12-18 09:12:38 +00:00
Stanislav Shwartsman
9763643106
VMX: Fixed VMFUNC instruction behavior to align with Intel SDM revision 041
2011-12-17 14:06:23 +00:00
Stanislav Shwartsman
fa7c225405
fixed typo - closing SF bug [3461405] step all command fails in SMP mode
2011-12-17 13:32:08 +00:00
Volker Ruppert
27c857784d
- prepared receive status callback function that returns several flags.
...
For now it returns a flag that indicated that the device can receive data
from the eth module and flags for the device speed. TODO: Use this callback
in the eth modules before sending data to the device.
2011-12-17 08:22:33 +00:00
Stanislav Shwartsman
83cf658361
simplify x87 polinoms evaluation code
2011-12-16 19:22:03 +00:00
Volker Ruppert
982064bc5a
- small cleanups
2011-12-16 19:16:44 +00:00
Volker Ruppert
c1c222f7d0
- some 'pcipnic' device fixes (plugin make rule, PCI BAR number, init message)
2011-12-16 18:34:48 +00:00
Volker Ruppert
dd678424f0
- more work on the new E1000 device
...
- another temporary solution for host from/to little endian conversion
- changed some variable types to bx_bool
- some other small cleanups
- TODO: add boot ROM support to all network devices
2011-12-15 20:57:43 +00:00
Stanislav Shwartsman
50d6ab3a1b
fixed compilation issue under win32 --with-nogui
2011-12-15 19:33:06 +00:00
Volker Ruppert
14256dcc09
- more work on the new E1000 device
...
- added save/restore support
- added description in bochsrc sample
- added to script .conf.everything
2011-12-14 22:48:57 +00:00
Stanislav Shwartsman
352fe5cc29
update devices.txt
2011-12-14 21:39:17 +00:00
Volker Ruppert
89ddc6e049
- regenerated after adding E1000 support
2011-12-14 16:52:13 +00:00
Volker Ruppert
5045a241e8
- ported Intel(R) 82540EM Gigabit Ethernet adapter emulation from Qemu
...
- TODO: add save/restore support, use Bochs function for host to little endian
data conversion, timers of networking modules 'vnet' and 'slirp' should use
the device speed instead of fixed 10 MBit
2011-12-13 20:53:44 +00:00
Volker Ruppert
51cf9faa12
- added missing dependencies for cdrom_osx.o
2011-12-11 12:07:01 +00:00
Stanislav Shwartsman
cbbd8bfd46
fixed some warnings after compilation with msvcpp 2010
2011-12-10 18:58:25 +00:00
Stanislav Shwartsman
76449fa8a5
applied SF patch
2011-12-10 08:20:19 +00:00
Stanislav Shwartsman
ac0ebc9728
added debug prints about vmcs initialization
2011-12-09 19:57:40 +00:00
Stanislav Shwartsman
117333ca8f
fixed SF bug: Crash on WIN2K - ID: 3454214
2011-12-08 06:46:52 +00:00
Volker Ruppert
34644308f7
- added 'nokeyrepeat' option for the win32 gui
2011-12-04 21:15:35 +00:00
Volker Ruppert
eafa122339
- added 'nokeyrepeat' option for the SDL gui
2011-12-04 09:04:16 +00:00
Volker Ruppert
c4e2c080cc
- added multiuser support to the Bochs installer. This fixes SF bug #3018258 .
2011-12-04 08:25:01 +00:00
Stanislav Shwartsman
d3fe5c607e
compilation fix
2011-12-02 20:11:57 +00:00
Stanislav Shwartsman
81f55b5be7
improved the fix for busmaster DMA transfers from device to memory done by Volker
2011-12-02 19:41:54 +00:00
Stanislav Shwartsman
f496e78326
fixed compilation warning
2011-12-02 19:40:31 +00:00
Volker Ruppert
1f18f5831f
- final fix for busmaster DMA transfers from device to memory: new memory method
...
writePhysicalBlock() replaces the buggy code in iodev.h.
Calling pageWriteStampTable.decWriteStamp(addr) is required here to make memcpy() work.
2011-11-30 17:11:43 +00:00
Stanislav Shwartsman
1e3e6ff2af
BMI: fixed EFLAGS after BMI instructions (set EFLAGS while preserving PF was not implemented properly in 2.5 release)
2011-11-29 19:50:26 +00:00
Volker Ruppert
be53c733cf
- temporary fix for the possible failure of busmaster DMA transfers caused by
...
memcpy(). The reason for the failure is unknown. Using writePhysicalPage()
is safe, but slower and it only works on little endian hosts. On big endian
hosts the data block would be copied in reverse order. We have to check
whether or not this behaviour is expected for blocks > 8 bytes.
2011-11-29 19:36:41 +00:00
Stanislav Shwartsman
b8f2d91b9a
fixed compilation err
2011-11-28 21:16:40 +00:00
Stanislav Shwartsman
99bec5155e
fixed compilation err in instrumentation module
2011-11-28 10:08:03 +00:00
Stanislav Shwartsman
f37ec997ba
removed very old deprecated configure options from configure script - they are deprecated for more than 2 releases
2011-11-27 21:45:08 +00:00
Volker Ruppert
57a543bebd
- regenerated after release 2.5
2011-11-27 20:28:38 +00:00
Volker Ruppert
2a227f4381
- updated SVN release instructions and version strings
2011-11-27 20:27:45 +00:00
Volker Ruppert
67ff1d3dfe
- regenerated for release
2011-11-27 15:57:17 +00:00
Volker Ruppert
9fd437d22c
- preparing release 2.5
2011-11-27 15:55:49 +00:00
Stanislav Shwartsman
8cb359fab5
fixed flags handling for BMI instructions
2011-11-27 13:23:26 +00:00
Volker Ruppert
bc3b84e43c
- added 'x' display library option "nokeyrepeat" to documentation
2011-11-27 12:13:22 +00:00
Stanislav Shwartsman
100622e958
fix ULL suffix for 64bit int, use BX_CONST64 instead
2011-11-26 19:01:53 +00:00
Stanislav Shwartsman
06e88c4984
fixed uninitialized var
2011-11-26 18:38:43 +00:00
Stanislav Shwartsman
ea87faad6e
update CHANGES
2011-11-26 17:42:31 +00:00
Volker Ruppert
3029d55f4a
- hdimage 'flat' mode: added support for Linux block devices (part of SF patch #3412431 )
...
- hdimage: renamed 'sectors' to 'spt' (same as the config parameter)
- harddrv: fixed info message
2011-11-26 15:09:00 +00:00
Volker Ruppert
f66a04e7d1
- recompiled BIOS images
2011-11-24 17:24:05 +00:00
Volker Ruppert
58cadd6779
- disabled memory mapping mode check and panic. The vga mem write code seems to
...
handle it properly.
2011-11-24 17:21:17 +00:00
Stanislav Shwartsman
5e2834b69f
update CHANGES with more fixed bug
2011-11-24 16:27:23 +00:00
Stanislav Shwartsman
f09bdf353a
RDMSR can also read TSC so make it end-of-trace as well (same as RDTSC)
2011-11-24 16:03:51 +00:00
Stanislav Shwartsman
f660d3dc68
implemented missed XOP instructions FRCZPS/PD/SS/SD + update CHANGES with fixed bugs
2011-11-24 11:34:26 +00:00
Stanislav Shwartsman
9f5dabf839
added to CHANGES info about internal dbger and GUI dbger fixes
2011-11-23 20:09:21 +00:00
Stanislav Shwartsman
62b811e48f
disasm: correctly handle VEX and XOP based opcodes
2011-11-23 19:43:50 +00:00
Stanislav Shwartsman
7158cf7228
fixed xop opcodes disasm tables
2011-11-23 16:44:38 +00:00
Volker Ruppert
67db6ee123
- disk geometry detection and check code rewritten:
...
* if the image provides a geometry, always use it.
* if the cylinder value is set to 0 and the image supports autodetection,
calculate the cylinder value from disk size, sectors and heads.
* in all other cases the specified geometry is used.
* a panic only occurs if the image size is too small for the geometry.
* extra data past the end of the disk now causes an info message.
- TODO #1 : 'flat' mode hdimage: read disk size of raw devices on Linux
- TODO #2 : 'flat' mode hdimage: use geometry from MBR on image if present
2011-11-21 20:58:35 +00:00
Stanislav Shwartsman
44c3b65961
update CHANGES with fixed bug
2011-11-21 13:21:19 +00:00
Stanislav Shwartsman
c74f590077
implemented TSC-Deadline APIC timer mode
2011-11-21 12:51:50 +00:00
Stanislav Shwartsman
76b742bd93
fixed timer breakpoint handling in internal debugger
2011-11-21 12:50:37 +00:00
Stanislav Shwartsman
e4bd200119
do not report TSC Deadline for Sandy Bridge CPUID - not implemented yet
2011-11-20 18:25:39 +00:00
Volker Ruppert
f5981e0ba2
- turn off the mouse capture when the internal debugger or gdbstub enter the input loop
...
- gdbstub: fixed compilation errors and warnings
2011-11-20 16:21:53 +00:00
Stanislav Shwartsman
25ac87009b
update CHANGES
2011-11-19 14:32:13 +00:00
Volker Ruppert
42e571ab1b
- fix package size in pointing device flags 2 (SF patch #3435049 )
...
- implemented legacy BIOS int13 AL=17/18h diskette functions (patch taken from
comment to SF feature request #3424738 )
2011-11-19 12:38:41 +00:00
Volker Ruppert
e247b0f14d
- fix package size in pointing device flags 2 (SF patch #3435049 )
...
- implemented legacy BIOS int13 AL=17/18h diskette functions (patch taken from
comment to SF feature request #3424738 )
2011-11-19 12:38:12 +00:00
Stanislav Shwartsman
34130cc1ad
clearify about deprecated configure option
2011-11-18 13:15:17 +00:00
Stanislav Shwartsman
d78ff1134d
fix for debugger creg command - correct fix this time
2011-11-18 12:56:33 +00:00
Stanislav Shwartsman
23b7b23d63
automatically turn off handlers chaining if gdb-stub is compiled in at configure time
2011-11-10 19:27:29 +00:00
Stanislav Shwartsman
cf314eb064
update CHANGES with closed bug
2011-11-08 18:01:35 +00:00
Stanislav Shwartsman
801a3f920f
some more docs updates with cvs->svn transition
2011-11-07 19:20:11 +00:00
Stanislav Shwartsman
39ddc75098
update TESTFORM for 2.5 release
2011-11-07 19:04:52 +00:00
Stanislav Shwartsman
c68fdf4223
fixed typo in CHANGES
2011-11-06 21:51:30 +00:00
Volker Ruppert
a4d763d5bc
- regenerated after release
2011-11-06 12:13:45 +00:00
Volker Ruppert
7e253cf7b6
- excluding CVS files no longer required
...
- set SVN flags in version strings after release
2011-11-06 12:11:46 +00:00
Volker Ruppert
d8a5ae0933
- regenerated for pre-release
2011-11-06 09:02:06 +00:00
Volker Ruppert
80be7ef9b1
- preparing Bochs 2.5.pre1
2011-11-06 09:00:41 +00:00
Stanislav Shwartsman
9be8552b80
- Implemented VM Functions support and EPTP-Switching VM Functions
...
- Added VMEXIT conditions for INVPCID instruction
Now Bochs is fully aligned with latest pulished Intel's SDM rev040.
2011-11-05 07:31:51 +00:00
Volker Ruppert
280b82dc0e
- reverted unwanted change (as stated in rev. 10759)
...
- use absolute path to Bochs webspace
2011-11-01 20:40:04 +00:00
Stanislav Shwartsman
5bb7c8dbba
final cvs->svn in docs
2011-11-01 17:44:56 +00:00
Volker Ruppert
fdeb25dde3
- finished CVS -> SVN changes (local website repository is still CVS)
...
- some other small fixes / cleanups
2011-11-01 17:10:58 +00:00
Stanislav Shwartsman
f6396de61e
fixed segfault in debugger creg command when xsave is disabled
2011-11-01 13:24:42 +00:00
Stanislav Shwartsman
ae6513014d
some more cvs -> svn updates in developr's docs
2011-11-01 13:13:24 +00:00
Volker Ruppert
1fd9f1e48c
- added parameter type bx_shadow_filedata_c
2011-11-01 08:38:00 +00:00
Volker Ruppert
85ef8a6705
- SVN instructions replace the CVS ones
2011-10-31 18:30:22 +00:00
Volker Ruppert
dcca9d9a31
- documentation updates (bochsrc options, CVS -> SVN changes)
...
- added FIXME to all CVS-related sections that still need a rewrite
2011-10-31 10:00:32 +00:00
Volker Ruppert
de38d27b99
- changes updated
2011-10-30 17:15:59 +00:00
Volker Ruppert
0d4392fc13
- updated LGPL'd VGABIOS to version 0.7a
2011-10-30 17:03:09 +00:00
Stanislav Shwartsman
42a0a178eb
disasm for XOP instructions
2011-10-30 08:58:49 +00:00
Stanislav Shwartsman
088cb441db
updated user docs - some references to cvs replaced with references to svn instead, removed description about removed options and debugger commands, added description of new handlers chaining optimization
2011-10-29 19:15:54 +00:00
Stanislav Shwartsman
360900d7bd
merge more pic patches
2011-10-23 21:53:56 +00:00
Stanislav Shwartsman
f73cdfaeac
change nickname ('ch100') to realname ('Christian Inci') in CHANGES
2011-10-23 04:47:33 +00:00
Stanislav Shwartsman
ad9bdbe550
fixed compilation failure
2011-10-21 08:06:55 +00:00
Stanislav Shwartsman
60582e2b9d
merge patch [3426460] [PATCH] PIC: remove never-executed code by ch100
2011-10-20 19:19:06 +00:00
Stanislav Shwartsman
21b96a5c8d
fixed compilation err in win64
2011-10-20 19:10:06 +00:00
Stanislav Shwartsman
b1a6b34616
implemented PERMIL2PS/PERMIL2PD XOP instructions
2011-10-20 17:37:57 +00:00
Volker Ruppert
e4b92b55bb
- implemented tooltip feature in win32ParamDialog using the parameter description
2011-10-20 16:09:28 +00:00
Stanislav Shwartsman
ddecc0234a
fixed (c) info
2011-10-20 14:06:12 +00:00
Stanislav Shwartsman
3035fcd0af
implemented XOP FMADCSWD/FMADCSSWD instructions
2011-10-20 13:55:26 +00:00
Stanislav Shwartsman
5d9bbae71c
bugfix: cant use ib2 it is overlap with disp32
2011-10-19 21:28:36 +00:00
Stanislav Shwartsman
5cc04b9955
Implemented AMDs Buldozer XOP and TBM extensions.
...
XOP: few instructions are still missing, coming soon
BX_PANIC(("VPERMILPS_VpsHpsWpsVIbR: not implemented yet"));
BX_PANIC(("VPERMILPD_VpdHpdWpdVIbR: not implemented yet"));
BX_PANIC(("VPMADCSSWD_VdqHdqWdqVIbR: not implemented yet"));
BX_PANIC(("VPMADCSWD_VdqHdqWdqVIbR: not implemented yet"));
BX_PANIC(("VFRCZPS_VpsWpsR: not implemented yet"));
BX_PANIC(("VFRCZPD_VpdWpdR: not implemented yet"));
BX_PANIC(("VFRCZSS_VssWssR: not implemented yet"));
BX_PANIC(("VFRCZSD_VsdWsdR: not implemented yet"));
2011-10-19 20:54:04 +00:00
Stanislav Shwartsman
887aac2a4e
updating CHANGES
2011-10-16 06:27:09 +00:00
Stanislav Shwartsman
01f27e3a0c
this should fix bug report 3422638 large ramfile support broken on anything but Linux
2011-10-15 19:29:42 +00:00
Volker Ruppert
1f7f9bc2ff
- moved OSX specific cdrom code to separate file
2011-10-10 17:33:23 +00:00
Volker Ruppert
515683a237
- moved OSX specific cdrom code to separate file
2011-10-10 17:32:53 +00:00
Stanislav Shwartsman
b16d71175d
Fixed 'show off' command in internal debugger
...
Removed not working record/playback obsolete commands from internal debugger
2011-10-09 19:26:30 +00:00
Stanislav Shwartsman
314171bb56
fixed compilation w/o AVX
2011-10-09 13:56:39 +00:00
Stanislav Shwartsman
71cbff104b
fixing xsave/xrstor flows with AVX
2011-10-09 09:19:49 +00:00
Stanislav Shwartsman
1c0a257b16
change PIT message to BX_DEBUG - it is flooding log too much when playing old MSDOS games
2011-10-09 08:21:12 +00:00
Stanislav Shwartsman
2a31661d83
change beep messages to BX_DEBUG - it is flooding log too much when playing old MSDOS games
2011-10-09 08:20:32 +00:00
Stanislav Shwartsman
03bcf7540a
print xcr0 together with cregs
2011-10-08 21:58:17 +00:00
Stanislav Shwartsman
8ada4ce5e4
added to cpudb: Intel(R) Core(TM) i5 M 520 (Arrandale) - based on Westmere arch
2011-10-07 19:32:44 +00:00
Stanislav Shwartsman
2580d8c46d
added FMA4 AMD instructions support, fixed mem access length for Intel scalar FMA instructions
2011-10-07 14:09:35 +00:00
Stanislav Shwartsman
aad57310c2
disasm for FMA4, better dbg print SSE rounding control with MXCSR
2011-10-06 20:33:10 +00:00
Stanislav Shwartsman
fc2f8f2266
correctly handle unmasked undeflow in SSE
2011-10-04 06:40:19 +00:00