Stanislav Shwartsman
1adda7bf64
Fixed MWAIT leaf CPUID - required for Fedora15 startup
2011-08-03 20:29:24 +00:00
Stanislav Shwartsman
1d89709e62
Added another CPU to CPUDB: p4_willamette (one more without x86-64 support).
...
Reimplemented CPUDB using pure C macros magic.
Fixed compilation errors when compiling with SMP on.
2011-07-31 18:43:46 +00:00
Stanislav Shwartsman
bf8dc9df43
update timestamps immediately
2011-07-12 19:14:08 +00:00
Volker Ruppert
345d67c403
- removed BeOS support from sources and documentation
2011-07-11 17:36:10 +00:00
Stanislav Shwartsman
432bf97197
was playing with SMP and debugger
2011-07-09 22:17:16 +00:00
Volker Ruppert
4699840aaf
- reorganisation of the vga init code:
...
- using the same init() method for all display adapters
- new method protected init_standard_vga() for the shared vga core
- new method init_vga_extension() implements the extended features
- moved loading of vgabios image for the ISA case from main.cc to the vga init code
2011-07-03 15:31:16 +00:00
Stanislav Shwartsman
29e3f6e762
remove trace cache disabled mode from the code. next step going to be - introducing new optimization features based on trace cache
2011-06-01 20:34:04 +00:00
Stanislav Shwartsman
e0160b4f29
ability to turn on/off AVX if compiled in
2011-05-24 20:33:36 +00:00
Stanislav Shwartsman
8875e79425
update CHANGES
2011-05-04 19:26:11 +00:00
Stanislav Shwartsman
76c11e1a40
- Configure option --enable-acpi is deprecated and should not be used anymore.
...
The ACPI support is always automatically compiled in if PCI is compiled in.
The ACPI still could be disabled using .bochsrc 'plugin_ctrl' option.
Updated CHANGES and docs as well.
2011-04-30 20:04:42 +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
1a7d38c28b
bswap optimization patch by Heikki Lindholm + cleanup
2011-04-19 12:48:06 +00:00
Volker Ruppert
8de57f7c03
- CVS to SVN changes
...
- spelling fixes etc. (thanks to Ben Lunt)
2011-04-01 16:19:15 +00:00
Stanislav Shwartsman
f0a3cce1e2
added XSAVEOPT instruction emulation (for now with no state tracking according to Intel docs, just alias it to XSAVE)
...
update CHANGES
2011-03-25 20:32:07 +00:00
Stanislav Shwartsman
7ced718040
implemented AVX instructions support
...
many changes - some cleanup will follow
please report ay found bugs !
2011-03-19 20:09:34 +00:00
Volker Ruppert
8c32359615
The VBE display extension is now a part of the Bochs core. The configure option
...
--enable-vbe is now deprecated and the symbols BX_SUPPORT_VBE and
BX_SUPPORT_PCIVGA have been removed. To enable VBE support, the bochsrc option
"vga: extension=" must be set to "vbe". If PCI is present, you can assign the
"pcivga" device to a PCI slot.
2011-03-07 19:01:22 +00:00
Stanislav Shwartsman
00981cd7a6
Adding Id and Rev property to all files
2011-02-24 22:05:47 +00:00
Stanislav Shwartsman
d011594114
Added option to disable MWAIT using .bochsrc
2010-11-21 12:02:12 +00:00
Stanislav Shwartsman
3f2b440584
added compilation DATE/TIME after Bochs version string
2010-10-02 20:52:47 +00:00
Stanislav Shwartsman
1c2fa8cd0c
move 1G_pages support to runtime option
2010-04-24 09:36:04 +00:00
Stanislav Shwartsman
393ec36da1
typo fix
2010-04-03 13:30:58 +00:00
Stanislav Shwartsman
3f4cf46c2d
fixed crash in single cpu mode due to early construction of APIC
2010-04-03 10:14:42 +00:00
Stanislav Shwartsman
13a602d069
fix undefined CPUID options when CPU_LEVEL is too small
2010-03-05 20:42:10 +00:00
Stanislav Shwartsman
01cfbdccbc
Move MMX to be runtime option
2010-03-01 18:53:53 +00:00
Stanislav Shwartsman
e3a13a7a55
Make XAPIC runtime option as well
2010-02-28 14:52:17 +00:00
Stanislav Shwartsman
5b6a14656d
Make XSAVE as runtime option
2010-02-26 22:53:43 +00:00
Stanislav Shwartsman
5df864b1f1
Move param_names.h into bochs root folder
2010-02-26 14:18:19 +00:00
Stanislav Shwartsman
927c3594d6
enable compilation with CPU_LEVEL <= 6
...
converted SEP to runtime option as well
2010-02-26 11:44:50 +00:00
Stanislav Shwartsman
033a20b3b2
allow to configure CPU features at runtime - implemened on example of SSE/AES/MOVBE/POPCNT
2010-02-25 22:04:31 +00:00
Stanislav Shwartsman
5fec008130
change copyright to bochs project
2009-12-04 20:02:12 +00:00
Stanislav Shwartsman
aaf2937ef8
read 64-bit params for 'memory'
2009-10-17 18:17:28 +00:00
Stanislav Shwartsman
e7f0a7d830
fix defaults for new memory option
2009-10-17 17:52:26 +00:00
Stanislav Shwartsman
37b19190b3
new .bochsrc memory option
2009-10-17 17:38:58 +00:00
Stanislav Shwartsman
92aecadb18
allow to emulate more guest RAM that host could allocate, it is fine until guest tries to access all the allocated memory
2009-10-16 17:10:36 +00:00
Stanislav Shwartsman
7233fdf3c1
fixed non-printable character
2009-08-22 19:30:23 +00:00
Stanislav Shwartsman
8a95120e12
deprecate --enable-vme option, now it will be supported iff CPU_LEVEL >= 5 (like in real life)
2009-08-10 15:44:50 +00:00
Stanislav Shwartsman
54b9329b69
add BX_INFO about PCI enable in .bochsrc.
2009-08-10 15:30:43 +00:00
Stanislav Shwartsman
f29b5a97d6
fixes with long phy addr
2009-08-10 08:08:25 +00:00
Stanislav Shwartsman
cd445195dd
cleanup configure options. All paging related stuff is now automatically set/unset according to cpu-level option.
...
Related configure options (--enable-pae, --enable-mtrr, --enable-global-pages, --enable-large-pages) are deprecated.
Less configure options - less configure problems :)
2009-06-15 09:30:56 +00:00
Volker Ruppert
3043e4f169
- removed conflicting win32-specific alarm() functions for the guis 'win32' and
...
'sdl'. Now both display libraries can be compiled together and used with the
'show ips' feature. TODO: win32-specific 'show ips' timers for 'rfb' and 'wx'
2009-05-13 17:26:45 +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
Stanislav Shwartsman
38e77f0721
print header to stdout
2009-03-26 09:51:22 +00:00
Volker Ruppert
40fde6b89f
- fixed compilation with standalone wxMSW
2009-03-24 20:17:02 +00:00
Volker Ruppert
04990bb856
- created new config interface 'win32config' using the new start menu dialog and
...
the existing runtime dialog ('textconfig' is still available)
- removed notify callback redirection from sdl.cc and win32.cc
- removed win32 specific code from textconfig.cc
- fixed parent window for folder selection dialog
- minor size changes in start menu dialog
2009-03-24 16:28:03 +00:00
Stanislav Shwartsman
505f876466
Fixed compilation error
2009-03-17 19:47:52 +00:00
Stanislav Shwartsman
4470c6a1c8
make ICACHE always enabled option and deprecate it in the configure script
...
Trace cache still can be turned off
2009-03-13 18:48:08 +00:00
Volker Ruppert
9e3dd83e85
- reduce some more dependencies and related Makefile.in updates
2009-02-23 11:06:53 +00:00
Stanislav Shwartsman
2378d31998
Fixes for DR6 handling
2009-02-01 20:47:06 +00:00
Stanislav Shwartsman
9929e6ed78
- updated FSF address
2009-01-16 18:18:59 +00:00
Volker Ruppert
8aa8b1a3db
- rewrite for user plugin support with user-defined options
...
* initialize plugin system before parsing bochsrc and command line
* pass previous value to bx_param_string_c handler
* load / unload plugin in bx_param_string_handler()
* handle user plugins after optional ones in plugin device init, reset and
save/restore functions
* added new siminterface method unregister_user_option()
* removed first version of config option handling for user plugins
* added new parameter subtree for user-defined options
* added new bx_list_c method remove()
* removed unused bx_devmodel_c method init_mem()
2009-01-04 21:46:20 +00:00
Stanislav Shwartsman
9d1a6a8bc2
typo bugfix
2008-12-28 20:53:31 +00:00
Stanislav Shwartsman
6367d3c5d2
Update user docs
2008-12-28 20:49:03 +00:00
Stanislav Shwartsman
8d70185b2c
add info about 1G pages in main.cc
2008-12-18 19:37:05 +00:00
Stanislav Shwartsman
a2e07ff971
- Removed --enable-guest2hos-tlb configure option. The option will be
...
always enabled for any Bochs configuration.
2008-12-11 21:19:38 +00:00
Stanislav Shwartsman
fbd078cb70
updates for instrumentation
2008-11-18 20:58:09 +00:00
Stanislav Shwartsman
114a59d1ad
- Added ability to choose Bochs log file name and Bochs debugger log file
...
name from Bochs command line (using new -log and -dbglog options)
2008-10-18 17:12:37 +00:00
Alexander Krisak
dcf7330e69
added additional two instrumentalization callbacks called when Bochs
...
started, but before reading .bochsrc and before Bochs exits.
2008-10-01 11:36:04 +00:00
Stanislav Shwartsman
7494b8823b
- Support of AES CPU extensions, to enable configure with
...
--enable-aes option
2008-05-30 20:35:08 +00:00
Stanislav Shwartsman
3f1e436926
Removed unused variables in bx_dbg struct
2008-05-23 14:04:45 +00:00
Stanislav Shwartsman
6ed8e80d8d
Print about SSE extensions support
2008-05-01 23:08:36 +00:00
Stanislav Shwartsman
67e534832b
Remove from CPU reference to MEM object - it is only one and could be static
2008-04-27 19:49:02 +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
90f1973bef
Removed BX_USE_TLB - TLB is always used, only Guest2HostTLB is optional feature
...
Use Guest2HostTLB in prefetch code for IFETCHES - speedup above 3%
2008-04-05 20:41:00 +00:00
Stanislav Shwartsman
08f958f458
Fixed pageWriteStampTable to handle BIOS code as well - increased the table to all 4G instead of allocated memory size
...
Avoid checking of pageWriteStamp in the heart of cpu loop with trace cache - now decWriteStamp will post stopTraceExecution event if it hits code page
2008-03-29 21:01:25 +00:00
Stanislav Shwartsman
518774d2c9
Add missing check for MSVC in bx_atexit
2008-03-26 22:39:38 +00:00
Stanislav Shwartsman
a459a64f3e
whispace, tab2space, indent, dos2unix and other cleanups
2008-02-15 22:05:43 +00:00
Stanislav Shwartsman
cdcd7522aa
Added RIP to the GPR register file as lst register
...
This allowed to optimize (read - remove) two more BxResolve methods in 64-bit mode
+ Some white space cleanup
2008-02-15 19:03:54 +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
7496ee7afa
VM8086 is always ON
2007-12-21 21:16:34 +00:00
Stanislav Shwartsman
adda3befd3
Trace cache optimization merged
2007-12-09 18:36:05 +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
0732e744bb
again debug print in main.cc :)
2007-11-18 21:09:09 +00:00
Stanislav Shwartsman
30f42d74f1
make sreg index tables static in fetchdecode and remove them from init.cc/cpu.h
2007-11-18 21:07:40 +00:00
Stanislav Shwartsman
b75a1d9ea5
Remove debug print
2007-11-18 18:27:09 +00:00
Stanislav Shwartsman
cdc9a09090
Split more opcodes
2007-11-18 18:24:46 +00:00
Stanislav Shwartsman
5fd21257de
Remove qick TLBN invalidation code - it actually only could slow down emulation
2007-11-09 21:14:56 +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
d30a0d3699
warning fixes
2007-10-24 23:29:40 +00:00
Stanislav Shwartsman
42fdd8a3a1
During Bochs benchmarking I figured out that hostasm actually slow down the emulation ... so remove this ugly code which also doesn't help :)
...
speedup flags update for some instructions - idea was taken from DT patch by h.johansson
2007-10-21 22:07:33 +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
8adbbcf17c
Started first implementation of MONITOR/MWAIT
2007-10-11 21:29:01 +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
c719eecb8d
Implemented Bochs benchmarking mode according to feature request
...
[ 1799946 ] benchmark mode
2007-09-22 15:59:41 +00:00
Stanislav Shwartsman
ebde420f14
Fixed SMP assertion
2007-09-22 12:59:40 +00:00
Stanislav Shwartsman
71902dc8bd
Print ACPI support indication
2007-09-20 18:50:01 +00:00
Stanislav Shwartsman
91e6ca8d5c
Implemented MTRR support
...
Fixes in #PF exception priority
2007-09-20 17:33:35 +00:00
Stanislav Shwartsman
5a2ce284c3
Fixed Bochs exit in SMP mode when only one CPU present
2007-09-13 09:44:56 +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
c24627c00f
Implemented CLFLUSH instruction
...
Set of minor fixes for correctness
2007-01-28 21:27:31 +00:00
Volker Ruppert
ed3a41ac63
- since the print_tree() function is only used by the debugger, it has to use
...
dbg_printf() to make the redirection of the output to a gui frontend possible
2006-11-12 21:25:06 +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
Volker Ruppert
f348c6cf50
- fixed broken debugger "rc file" command line option. Now it is possible to
...
execute debugger commands from the specified file. This is the command line
counterpart to the undocumented debugger command "source".
2006-10-24 17:53:47 +00:00
Volker Ruppert
a614b2613e
- return early if Windows text console creation fails
...
- set title of text console for wxWidgets on win32
2006-10-15 10:45:15 +00:00
Volker Ruppert
48ed7e1ba6
- fixes for second simulation support with wxBochs
...
* wxBochsStopSim flag is now reset before starting the SimThread
* the siminterface 'init_done' flag now controls the execution of the hardware
cleanup in bx_atexit()
2006-09-23 09:07:15 +00:00
Stanislav Shwartsman
3ab94305a0
1. Fixed bug report
...
[ bochs-Bugs-1562172 ] TLB_init() fails to initialize priv_check array if USE_TLB 0
2. Paging is always exists for i386+
To disable paging it is better to use normal model without special code, only by setting cr0.pg=0
2006-09-20 17:02:20 +00:00
Volker Ruppert
647b0e3e6c
- removed exit() method from the devmodel object, since all that stuff can be
...
done by the object destructor (changes in cmos, hard drive and keyboard)
- bx_unload_plugins() now deletes the devmodel object in non-plugin mode
- CMOS device now prints the time on exit in human-readable format
2006-09-16 14:47:40 +00:00
Volker Ruppert
0a804aeb18
- memory cleanup code moved to a separate method (called from bx_atexit())
...
- fixed memory handler init and cleanup code (memory leaks)
2006-09-15 17:02:52 +00:00
Volker Ruppert
c07197758b
- plugin unload mechanism implemented in the plugin and devices code
...
- added exit() method to the devmodel object for devices that need to do special
cleanups on exit. Device plugins should call this method from their plugin_fini()
function. If Bochs is compiled without plugin support, for non-core plugins
the exit() method is called directly from bx_unload_plugins().
- exit() method implemented in the keyboard device
- wx "Show Keyboard" feature now only appear when the wxdebug keyboard subtree
is not empty
- cpu cleanup must be done before the devices cleanup
- moved PCI chipset dump call to the devices exit method
2006-09-10 09:13:47 +00:00