Stanislav Shwartsman
49bb3ba8f5
some cleanups and optimizations with new event interface
2012-10-03 15:49:45 +00:00
Volker Ruppert
c2f9150497
- split "show ips" handler from bx_signal_handler to simplify usage without alarm()
2012-08-26 12:32:10 +00:00
Stanislav Shwartsman
515d8b5c25
add new instrumentation callbacks for physical memory access from CPU
2012-06-18 11:41:26 +00:00
Volker Ruppert
70a38a8a3d
- apply 'log actions by device' to the existing modules before editing them
...
in the config interface. Applied settings are marked as 'done' with the value
-1 to avoid unwanted modification. NOTE: Not all Bochs modules exist when
running the start menu / dialog.
2012-04-06 13:15:27 +00:00
Stanislav Shwartsman
fa03e8b925
added const to several class members
2012-03-27 21:30:34 +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
039326d0c9
always return const pointer from functions - these strings are not planned to be modified
2012-01-11 19:57:38 +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
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
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
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
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
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
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
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
c67338203c
small fixups, code cleanup and reorganization
2011-09-05 17:14:49 +00:00
Stanislav Shwartsman
e61da281c0
update cpu-configurable doc
2011-08-31 16:33:12 +00:00
Volker Ruppert
4b4f691a80
- don't include plugin.h in bochs.h to reduce dependencies
2011-08-17 22:41:03 +00:00
Stanislav Shwartsman
a03e0266fb
added yonah CPUID to cpudb. remove bxversion.h from dep files
2011-08-16 19:58:56 +00:00
Volker Ruppert
c35e385139
- removed 'text_snapshot_check' feature and related BX_PASS loglevel
...
- documentation updates
2011-07-31 14:38:03 +00:00
Stanislav Shwartsman
432bf97197
was playing with SMP and debugger
2011-07-09 22:17:16 +00:00
Volker Ruppert
c2d0c207f7
- preparing Bochs for experimental USB xHCI support (written by Ben Lunt) TODO list:
...
- add sources (update in progress)
- update configure script
- initialize new USB devices member 'max_packet_size' (need help from Ben)
2011-07-04 19:42:47 +00:00
Volker Ruppert
6a42228075
- first step for DLL plugin support with MSVC. Now the BOCHS.EXE with plugin
...
support compiles and links fine and the main object files for the plugin DLLs
are created. Since the gui and iodev makefiles are not ready yet, the link
stage must be done manually. Support for the search path defined in
LTDL_LIBRARY_PATH should be added when the DLL plugins compile and work.
2011-06-15 17:24:32 +00:00
Stanislav Shwartsman
17f477814a
merged SVN patch Fix CopyHost*WordLittleEndian macros
2011-05-01 16:31:54 +00:00
Stanislav Shwartsman
c3a31d3cf0
applied patch bochs-110423-builtinbswap.patch
2011-04-25 15:20:27 +00:00
Stanislav Shwartsman
a02d8cfe67
cleanups, simplications, copyright updates
2011-04-23 20:39:27 +00:00
Stanislav Shwartsman
024a1ace38
move X2APIC to be .bochsrc option, rework of the cpuid code
2011-04-21 13:27:42 +00:00
Stanislav Shwartsman
89d92cc0fe
optimize bswap64 for Big Endian hosts
2011-04-20 17:30:21 +00:00
Stanislav Shwartsman
1a7d38c28b
bswap optimization patch by Heikki Lindholm + cleanup
2011-04-19 12:48:06 +00:00
Volker Ruppert
65f7056328
- moved BX_MIN and BX_MAX macro definitions to bochs.h, removed duplicates and
...
use it in es1370.cc
- improved log messages
2011-03-15 22:18:40 +00:00
Stanislav Shwartsman
00981cd7a6
Adding Id and Rev property to all files
2011-02-24 22:05:47 +00:00
Stanislav Shwartsman
e0fcc80ec3
introduce bswap functions, big endian fix for CPUID
2010-09-20 20:43:16 +00:00
Stanislav Shwartsman
a896dbfb2d
compilation fix for win64
2010-06-10 15:59:04 +00:00
Volker Ruppert
cdb7e0eb96
- fixed usage of variable 'apic_id_mask' for compatibility with win32 plugin target
2010-05-15 09:23:50 +00:00
Stanislav Shwartsman
df07dab80f
verbose phy mem access tracing
2010-04-13 17:56:50 +00:00
Stanislav Shwartsman
c701b10a68
Fixed non-rpintable character
2010-02-11 22:12:17 +00:00
Stanislav Shwartsman
5fec008130
change copyright to bochs project
2009-12-04 20:02:12 +00:00
Stanislav Shwartsman
08ad29e3f3
more stuff from siminterface.h
...
TODO: reduce complation dependencies (not everybody needs BXPN_ stuff)
2009-11-15 20:50:41 +00:00
Stanislav Shwartsman
a666532324
remove another unused function
2009-10-15 21:15:18 +00:00
Volker Ruppert
752c84ab9e
- converted port 0xE9 hack option to a regular config parameter
2009-04-26 06:56:28 +00:00
Volker Ruppert
a1e65bae3a
- bx_dbg cleanup in the keyboard and harddrv code
...
- several other debug message cleanups
2009-04-25 08:06:32 +00:00
Volker Ruppert
3a3b3f5b07
- bx_dbg cleanup in the floppy and unmapped code (using BX_DEBUG now)
2009-04-24 14:57:25 +00:00
Stanislav Shwartsman
2a268ecd5b
small cleanup
2009-04-24 08:16:06 +00:00
Stanislav Shwartsman
cb312c9470
make port_e9_hack runtime option (and not configure time)
...
clean-up a bit in bx_dbg struct in bochs.h
2009-04-23 18:28:17 +00:00
Volker Ruppert
2b6ba5e44c
- definition of the number of USB ports moved to bochs.h
...
- create config parameters for USB depending of the defined number of ports
- removed obsolete comment
- bx_param_num_c flag USE_SPIN_CONTROL now available for all config interfaces
2009-03-15 12:54:59 +00:00
Volker Ruppert
9e3dd83e85
- reduce some more dependencies and related Makefile.in updates
2009-02-23 11:06:53 +00:00
Stanislav Shwartsman
c88886b4d2
Allow to configure up to 255 CPUs (and let's hope it will work :))
2009-02-20 15:38:36 +00:00
Volker Ruppert
891cc05477
- prepared siminterface and bochsrc options for USB OHCI support
...
* 'usb_uhci' bochsrc option replaces 'usb1'
* minor changes in the USB code
* removed old VBE i/o port registration (they were incompatible with USB)
* updated FSF address
- fixed saving user plugin options
2009-01-19 13:13:32 +00:00
Volker Ruppert
7df4044762
- forgot to update declaration
2009-01-10 11:47:10 +00:00
Volker Ruppert
501952efdd
- removed unused logfunctions member 'type' and related method 'settype()'
...
- updated FSF address in copyright
2009-01-10 11:30:20 +00:00
Volker Ruppert
b23e7bf6a0
- added basic user plugin support (TODO: add sample code)
2009-01-02 11:51:03 +00:00
Stanislav Shwartsman
d7fa44d270
optimize code access detection
2008-12-05 22:34:42 +00:00
Stanislav Shwartsman
17d02735cb
re-locate BX_SMP_PROCESSORS macro
2008-10-20 19:13:08 +00:00
Stanislav Shwartsman
7ca910be2e
Compilation fix
2008-10-02 06:49:20 +00:00
Stanislav Shwartsman
c009e87a81
Remove external debugger interface:
...
- it is closed source (!!!)
- we have very nice replacement now
2008-10-01 09:44:40 +00:00
Stanislav Shwartsman
d19dd8cf74
Added BX_ASSERT_ENABLE configure option to control BX_ASSERT code @configure time.
...
By default BX_ASSERT will be disabled 'cause it affects emulation performance
It will be ON by default when BX_DEBUGGER compiled in
2008-06-12 21:02:54 +00:00
Stanislav Shwartsman
3f1e436926
Removed unused variables in bx_dbg struct
2008-05-23 14:04:45 +00:00
Stanislav Shwartsman
3fd4a09bbc
preparations for future 64-bit physical address support
2008-05-10 20:39:53 +00:00
Stanislav Shwartsman
8022225907
Disable BX_ASSERT when NO_LOGGING is set
2008-05-10 18:04:37 +00:00
Stanislav Shwartsman
6ebae41ad7
print physcial address with special format - preparations for 64-bit physical address emu
2008-05-09 22:33:37 +00:00
Stanislav Shwartsman
bdaef81603
Added debugger memory trace functionality. Enable by 'trace-mem on' command
2008-04-19 13:21:23 +00:00
Stanislav Shwartsman
ab76cbb4a0
Improve param interface
2008-04-18 16:47:45 +00:00
Stanislav Shwartsman
8424d2b888
Fixed required to make MSVC build with fastcall optimization (-Gr) healthy.
...
There is a trick in MSVC is to turn on the -Gr compiler switch which tells MSVC to compile all functions using fastcall calling convention. This way you don't have to edit each function declaration. But certain functions must NOT be fastcall, and those are callbacks from Windows which are defined either as cdecl or stdcall. The entry point main() also has to remain cdecl.
Patch by Darek Mihocka
2008-04-07 20:20:04 +00:00
Stanislav Shwartsman
452d8f0ac7
Implemented "copy from little endian" macros for BIG_ENDIAN hosts.
...
tab2space cleanup in bochs.h
2008-02-07 21:08:55 +00:00
Stanislav Shwartsman
063d896226
Optimization in 16-bit resolve functions
...
Fixes for hosts which can't support misaligned memory access
2008-02-07 20:43:13 +00:00
Stanislav Shwartsman
55ad3e89b6
another whitespace cleanup by Sebastien
2008-02-05 22:57:43 +00:00
Stanislav Shwartsman
192f398b46
removed --enable-magic-breakpoint configure option - it is enabled by default if Bochs internal debugger compiled in. Also it always possible to switch magic break off by .bochsrc option
2008-01-21 21:36:58 +00:00
Stanislav Shwartsman
cce3699e0b
Fixed warning and possible compilation error
2008-01-01 18:12:31 +00:00
Stanislav Shwartsman
917a040cc4
Fixed more VCPP2008 warnings
2007-12-26 18:39:15 +00:00
Stanislav Shwartsman
bfd2cb67f4
Add include sys/time.h to fix compilation error
2007-12-20 18:32:14 +00:00
Stanislav Shwartsman
adda3befd3
Trace cache optimization merged
2007-12-09 18:36:05 +00:00
Stanislav Shwartsman
8f8ae29882
Fix compilation errrr
2007-11-22 17:30:40 +00:00
Stanislav Shwartsman
a9ea644c5c
Print timestamps feature for performance measurements
...
If enabled (in .bochsrc) + --enable-show-ips=1 Bochs will print IPS + time data every second
2007-11-20 18:36:26 +00:00
Stanislav Shwartsman
e137560b14
Complete MONITOR/MWAIT implemntation (including monitoring of memory range)
...
Fixed PANIC in read/write Cr/Dr - should #UD with unkown register used
2007-11-01 18:03:48 +00:00
Stanislav Shwartsman
afdcadad73
Added ability to switch off bochs loging (BX_DEBUG/INFO/ERROR)
2007-10-30 18:57:46 +00:00
Stanislav Shwartsman
d30a0d3699
warning fixes
2007-10-24 23:29:40 +00:00
Stanislav Shwartsman
6c79b067a6
Fixed __386__ macro in guest2host memory accesses - should be LITTLE_ENDIAN instead
2007-10-16 16:17:48 +00:00
Stanislav Shwartsman
ac272e9383
Changes breakpoints configure time enable macroses - reduce amount of compile-time parameters
2007-10-12 22:11:25 +00:00
Stanislav Shwartsman
07739173f5
add --show-ips to all configs for future releases (it is not ON by default ?)
...
Bit32u -> bx_phy_address in debugger and some other places
2007-10-09 19:49:23 +00:00
Stanislav Shwartsman
071c5c1a26
A lot of changes but everything is really trivial.
...
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
2007-09-28 19:52:08 +00:00
Stanislav Shwartsman
5189cfbf10
SSE4 support
2007-04-19 16:12:21 +00:00
Stanislav Shwartsman
40a395a3f4
Improve single threaded simulation speed in SMP binary of Bochs
...
This is still significantly slower than in native no-SMP binary but faster than before at least
2007-03-06 21:12:20 +00:00
Stanislav Shwartsman
5c21f7821f
Speed simulation between 3 to 5% by eliminating several checks from cpu loop.
...
The checks were related to repeat instructions - handle them differently
2007-01-05 13:40:47 +00:00
Volker Ruppert
67314b8e1e
- attempt to fix the Solaris 10 compilation failure
2006-10-31 19:26:34 +00:00
Volker Ruppert
e8cd2052c9
- improved gdbstub network efficiency (SF patch #1149659 by Avi Kivity)
...
- reimplemented "enter debugger" in ask dialog for gdbstub
- X11 and wxWidgets ask dialog now show "Debugger" button for gdbstub
- indent mode changes
2006-10-29 08:48:30 +00:00
Volker Ruppert
598c34ed0a
- added special logfunction for the gdbstub and set panics to fatal
...
- removed trailing linefeeds from log messages
- removed command line parameters from init function
- added copyright and CVS ID
2006-10-26 17:27:04 +00:00
Stanislav Shwartsman
925ae93e22
Reveer back changes for debug.h removal from bochs.h
2006-09-26 19:16:10 +00:00
Stanislav Shwartsman
aab3feb2e0
Fixed Makefile to compile with ACPI stub disabled
...
Remove bx_debug.h from bochs.h to reduce compilation dependencies
2006-09-25 20:13:52 +00:00
Volker Ruppert
2cdd6596f1
- implementation of the PIIX4 ACPI controller started. The code is not yet
...
enabled and the i/o handler only generate info messages.
2006-09-24 16:58:13 +00:00
Volker Ruppert
fdefdc5b9f
- remove logfunction from list when device is deleted
...
- fixed typos in harddrv code
2006-09-17 18:09:33 +00:00
Volker Ruppert
4cf2f745d1
- some fixes to avoid segfaults after early panics
...
- fixed gameport log type
- wx: store mouse capture mode in the gui code (only access the mouse parameter
when the capture mode changes)
- wx: don't initialize wxScreen if already done and clear screen on exit
2006-09-12 13:05:07 +00:00
Volker Ruppert
e075c68f78
- close logfile and reset logging to stderr at the end of the simulation
...
- removed unused code
2006-09-09 11:28:52 +00:00
Stanislav Shwartsman
286b89d763
Several x86-64 MSRs were not-initilized !
...
Fixed small save-restore bug in dma.cc
First step to make save-restore code look better (only several files processed for example)
2006-05-28 17:07:57 +00:00
Volker Ruppert
4e0dad5c2f
- removed unused save/restore declaration
2006-05-27 17:50:29 +00:00
Volker Ruppert
6a299e61a7
- get rid of the unused description field of shadow bool and data parameters
...
(new/modified constructor)
- new constructor for bx_list_c objects without title
- shadow parameter bitmasks fixed
- functions bx_sr_before_save_state() and bx_sr_after_restore_state() prepared
- ne2k.cc: reset behaviour fixes
- sb16: some variable types changed
2006-05-14 15:47:37 +00:00
Volker Ruppert
2e144d5862
- changed some function argument and return types from char * to const char *
...
(grabbed from patch included in FC5 Bochs package for wxWidgets 2.6.x)
2006-03-13 18:55:53 +00:00
Volker Ruppert
4e4df52109
- added new function bx_stop_simulation() to stop the Bochs simulation thread
...
(used by wx). Now the siminterface no longer depends on cpu.h
2006-03-11 22:40:32 +00:00
Stanislav Shwartsman
da0b2ac377
Update dependencies for iodev and root project folders.
...
Fixed compilation errors for 386 case
Added file header for slowdown_timer.h
2006-03-06 22:32:03 +00:00
Stanislav Shwartsman
7b6c2587a9
Now devices could be compiled separatelly from CPU
...
Averything that required cpu.h include now has it explicitly and there are a lot of files not dependant by CPU at all which will compile a lot faster now ...
2006-03-06 22:03:16 +00:00
Stanislav Shwartsman
c0aeb1b073
Substitute NULL to BX_CPU_C parameter instead of BX_CPU(0) for memory ops originated by devices
2006-03-06 19:23:13 +00:00