Commit Graph

294 Commits

Author SHA1 Message Date
Stanislav Shwartsman
3501eeceaf updated cpudb list in .bochsrc sample 2011-12-29 22:01:51 +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
Volker Ruppert
0de2516d05 - fixes to avoid crash after unloading plugins before simulation
- small cleanups
2011-12-26 20:32:56 +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
Volker Ruppert
c4952b4c84 - E1000 support: updated workspace files and documentation 2011-12-24 15:17:10 +00:00
Stanislav Shwartsman
2dee4b12be added VMX .bochsrc option to ctoggle VMX ON/OFF on runtime 2011-12-21 09:11:51 +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
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
Volker Ruppert
bc3b84e43c - added 'x' display library option "nokeyrepeat" to documentation 2011-11-27 12:13: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
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
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
6751af5d8e added AVX FMA extensions support. The implementation is based on QEMU patch by Peter Maydell (fixed) 2011-09-29 22:20:56 +00:00
Stanislav Shwartsman
7859b011c0 core2_extreme_x9770 removed from cpudb 2011-09-26 19:52:41 +00:00
Stanislav Shwartsman
62d0c8abf7 - Now you could disable x86-64 from .bochsrc so now it is possible to emulate
32-bit CPU using Bochs binary compiled with x86-64 support.

The commit also fixes some init.cc issues with initialization of SYSCALL/SYSRET MSR in AMD hosts and also includes code reorg.
2011-09-25 17:36:20 +00:00
Stanislav Shwartsman
50207eeb90 - Added support for AMD SSE4A emulation, the instructions can be enabled
using .bochsrc CPUID option.
2011-09-18 16:18:22 +00:00
Stanislav Shwartsman
d893ddf5d1 added new entry to cpudb 2011-08-30 22:02:08 +00:00
Stanislav Shwartsman
c30275016e avx2 added broadcast from register 2011-08-29 21:00:25 +00:00
Stanislav Shwartsman
44241a1e56 - Added support for AVX and AVX2 instructions emulation, to enable configure
with --enable-avx option. When compiled in, AVX still has to be enabled
    using .bochsrc CPUID option. AVX2 FMA instructions still not implemented.

  - Added support for Bit Manipulation Instructions (BMI) emulation. The BMI
    instructions support can be enabled using .bochsrc CPUID option.
2011-08-27 13:47:16 +00:00
Stanislav Shwartsman
a03e0266fb added yonah CPUID to cpudb. remove bxversion.h from dep files 2011-08-16 19:58:56 +00:00
Stanislav Shwartsman
6344c6a719 Added P2 Klamath CPUID + some code reorg again 2011-08-11 18:06:09 +00:00
Stanislav Shwartsman
c6c94a79da dos2unix for generic_cpuid.cc
fixed xsave leaf CPUID (again)
added one more CPUID configuration: Intel Mobile Core 2 Duo T9600
2011-08-08 18:20:29 +00:00
Stanislav Shwartsman
1adda7bf64 Fixed MWAIT leaf CPUID - required for Fedora15 startup 2011-08-03 20:29:24 +00:00
Stanislav Shwartsman
539c740f10 cpuid_limit_winnt moved back to CPU option in .bochsrc 2011-08-02 16:25:25 +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
6e6db04b8f Fixed compilation errors, dos2unix, added missed p3_katmai.txt 2011-07-31 14:56:45 +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
5e291e0860 Added Athlon64 Clawhammer CPUID to CPUDB 2011-07-30 21:28:16 +00:00
Stanislav Shwartsman
919fbd95da fixed CPUID after correlation with real HW CPUZ output 2011-07-29 15:18:39 +00:00
Stanislav Shwartsman
1a051f9f00 Added several predefined CPUs that can be selected from .bochsrc using new CPU::MODEL option.
Selecting CPU MODEL from .bochsrc automatically chooses real HW CPUID and also configures Bochs emulator to emulate this specific CPU including all its features only.
Supported CPUs to choose from:
	core2_extreme_x9770
	corei7_sandy_bridge_2600K
	p4_prescott_celeron_336
2011-07-29 15:03:54 +00:00
Volker Ruppert
eb0c06f357 - added new parameter 'update_freq' for the 'vga' option that should replace the
'vga_update_interval' option. The screen update frequency is still based on
  the emulated clock unless the realtime sync is enabled with the 'clock' option.
  TODO: rewrite the virt_timer code to support realtime screen updates
  independent from 'clock' setting.
- fixed changing parameter 'update_freq' at runtime (timer object and blink counter)
2011-07-26 22:16:24 +00:00
Volker Ruppert
345d67c403 - removed BeOS support from sources and documentation 2011-07-11 17:36:10 +00:00
Volker Ruppert
20ae4af54c - removed 'arpback' networking module (ARP simulation still exists in the 'vnet' module) 2011-07-10 20:56:54 +00:00
Volker Ruppert
a08af64850 - added new bochsrc option 'pci' that should replace 'i440fxsupport' 2011-07-10 15:40:19 +00:00
Stanislav Shwartsman
9fd1f187bb update ips guide in .bochsrc 2011-06-19 19:59:12 +00:00
Stanislav Shwartsman
8399dee24c implemented AVX float16 convert instructions 2011-06-11 13:12:32 +00:00
Stanislav Shwartsman
ee3f9e36cb Implemented Supervisor Mode Execution Protection (SMEP) 2011-05-29 16:28:26 +00:00
Stanislav Shwartsman
e0160b4f29 ability to turn on/off AVX if compiled in 2011-05-24 20:33:36 +00:00
Volker Ruppert
dd29e555cc - improved description of the 'vga_update_interval' option. 2011-05-10 17:28:48 +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
9950c2a943 update docs for new xsaveopt .bochsrc option 2011-03-25 20:35:58 +00:00
Volker Ruppert
e67bb30120 - added documentation for the ES1370 soundcard 2011-03-13 09:09:34 +00:00
Volker Ruppert
e79fcfb98d - documentation for networking module 'slirp' added 2011-03-03 16:49:29 +00:00
Stanislav Shwartsman
66682a0ba7 added ability to configure CPU family and model through .bochsrc 2011-02-25 15:05:48 +00:00
Volker Ruppert
24ac0e90b6 - added global "speed" option to be passed with the "optionsX" port parameter.
This option sets the supported speed reported by device (up to 'maxspeed').
- added symbol USB_SPEED_SUPER for USB 3.0
2011-02-12 14:00:34 +00:00
Volker Ruppert
168efb7710 - re-implemented USB port options parameter to assign specific options to the
connected device. For now this feature is only used by the 'disk' device to
  specify an alternative redolog filename of some image modes.
- added new methods set_option() and timer() to the base class usb_device_c.
  The timer() method is periodicly called from the HC's frame timer code.
- moved runtime device change stuff from the parameter handler to the end of
  timer() methods of all hubs. This makes sure that all parameters for the
  device have been set at connect time. TODO: this technique could also be used
  for the floppy and cdrom media change.
2011-01-16 12:46:48 +00:00
Volker Ruppert
e809889d2a - added some documentation for the 'vvfat' disk image mode (to be completed) 2011-01-05 22:53:44 +00:00
Volker Ruppert
747f2ba541 - experimental FAT32 support (works in most cases)
- volatile write support using the hdimage redolog_t class
  (TODO: apply directory and file changes on exit)
- updated makefile dependencies
2011-01-01 19:14:25 +00:00
Volker Ruppert
3eba961c0d - USB documentation updates 2010-12-11 08:25:39 +00:00
Stanislav Shwartsman
d011594114 Added option to disable MWAIT using .bochsrc 2010-11-21 12:02:12 +00:00
Stanislav Shwartsman
91ac0df65c implemented GS/FS BASE access instructions published in _319433-007.pdf document 2010-07-22 16:41:59 +00:00
Stanislav Shwartsman
21e39a66c9 print cpuid options in more readable form (less options in a line) 2010-07-16 21:10:48 +00:00
Stanislav Shwartsman
cd6314b65c Added ability to configure CPUID stepping through .bochsrc.
Next is CPUID model/extended model.
2010-07-16 21:03:52 +00:00
Volker Ruppert
8b46dcfc0b - added parameter to control the floppy media write protection. This is based on
the SF patch #1539417, but rewritten from scratch (patch too old). Differences
  to the original version:
  * internal parameter name "readonly"
  * update parameter if floppy image is readonly
  * wxWidgets support
  * documentation updates
  * no specific toolbar buttons
2010-07-03 05:34:27 +00:00
Volker Ruppert
5471cfbc34 - mouse capture toggle option choice 'f12' replaces win32 'legacyF12' option
- implemented mouse capture toggle method option in RFB
- user documentation updates (mouse, usb)
2010-05-18 15:33:41 +00:00
Volker Ruppert
8a2a1dc04c - implemented mouse capture toggle method option in win32.cc
- updated mouse option description and added cpuid options section in the user docs
2010-05-16 20:44:08 +00:00
Volker Ruppert
84364ae889 - implemented mouse capture toggle method option in wxWidgets 2010-05-16 14:40:53 +00:00
Volker Ruppert
19ed74f642 - added new config option to select mouse capture toggle method. In addition to
the default Bochs method using the CTRL key and the middle mouse button there
  are now the choices CTRL+F10 (like DOSBox) and CTRL+ALT (like QEMU).
  * currently implemented in the X11 and SDL guis only
  * TODO: porting to wxWidgets and Win32, documentation updates
2010-05-16 09:01:36 +00:00
Stanislav Shwartsman
ca95477b7f Implement x86-64 PCID extension 2010-04-29 19:34:32 +00:00
Stanislav Shwartsman
1c2fa8cd0c move 1G_pages support to runtime option 2010-04-24 09:36:04 +00:00
Stanislav Shwartsman
1a2c73bba3 cleanups 2010-04-13 15:55:02 +00:00
Stanislav Shwartsman
53d4ce5260 Bochs boots with seabios now, think of adding seabios.bin into distribution ... 2010-04-02 18:12:47 +00:00
Stanislav Shwartsman
4ce211e358 MWAIT_IS_NOP option 2010-03-12 11:28:59 +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
3e1db66bc0 Fixed defaults for SSE option 2010-02-28 06:22:24 +00:00
Stanislav Shwartsman
5b6a14656d Make XSAVE as runtime option 2010-02-26 22:53:43 +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
78a420faa1 first updates 2010-02-25 22:34:56 +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
130c1f3977 update .bochsrc with USB printer emu.
Need to update Bochs user docs still
2009-12-04 13:04:30 +00:00
Stanislav Shwartsman
71bb10f98c move ignore-bad-msrs to runtime option in ,bochsrc 2009-11-13 15:55:46 +00:00
Stanislav Shwartsman
37b19190b3 new .bochsrc memory option 2009-10-17 17:38:58 +00:00
Volker Ruppert
e0860dccc6 - some more documentation updates (HD geometry detection, USB OHCI) 2009-04-30 19:04:43 +00:00
Volker Ruppert
93029206a1 - updated compilation instructions for win32
- added descriptions for the clock sync option
2009-04-29 18:07:56 +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
c21467a6cf - step #1 of documentation updates: bochsrc options 2009-04-19 13:10:50 +00:00
Stanislav Shwartsman
858b2ca005 Added gui_debug doc for .bochsrc 2009-04-18 18:23:13 +00:00
Volker Ruppert
8e1f883156 - updated several options and added missing ones in the bochsrc sample
- removed deprecated arguments for the 'pnic' option
2009-04-13 16:07:02 +00:00
Volker Ruppert
501eccef0a - floppya/floppyb bochsrc options: the new parameter 'type' can be used to
enable the floppy drive without media and status specified
- simplified parsing of floppy bochsrc options
- default media status for floppy drives set to BX_EJECTED
- cdrom drives no longer need the path to be set in bochsrc (empty path had
  disabled the device in the previous version)
- simplified ATA device setup in bochsrc parser
2009-03-24 11:20:17 +00:00
Volker Ruppert
c0d9238170 - number of ports for the external hub can be configured with the device name
now. Valid values are 2 to 8 and the default is set to 4 ports (device name
  "hub" uses the default, "hub:7" enables 7 ports.
2009-03-12 20:24:56 +00:00
Volker Ruppert
29f5a696fc - improved config interface labels for the optional plugin control
- documentation updates
2009-02-22 17:05:40 +00:00
Volker Ruppert
cb430a4371 - added option to control the presence of optional plugins without a separate
option. By default all existing plugins are enabled.
2009-02-21 11:43:18 +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
Volker Ruppert
b23e7bf6a0 - added basic user plugin support (TODO: add sample code) 2009-01-02 11:51:03 +00:00
Stanislav Shwartsman
e182e74a4d Added ability to define user MSRs spec for emulated CPU 2008-12-28 20:30:48 +00:00
Stanislav Shwartsman
fafe511180 Fixed dbg frontend call 2008-12-27 12:22:13 +00:00
Stanislav Shwartsman
fd65bf9de0 - Added graphical Bochs debugger under Win32 host !
- Thanks for Chourdakis Michael and Bruce Ewing.
2008-10-21 13:45:03 +00:00
Stanislav Shwartsman
3b276bc9fe Implement modern BIOS mode for limiting max reported CPUID function to 3.
This mode is required in order to correctly boot and install WinNT guest
2008-09-22 21:38:15 +00:00
Stanislav Shwartsman
51cb5451d8 Apply CPUID vendor/brand string from @SF 2008-08-19 16:43:07 +00:00
Volker Ruppert
e3559d9994 - implemented MIDI output to ALSA sequencer (TODO: handle SYSEX messages)
- renamed ALSA pcm-related variables
- documentation updates
2008-07-19 12:01:54 +00:00
Stanislav Shwartsman
f74d7b56e7 update Bochs 2.3.7 IPS data in docs 2008-05-30 21:00:05 +00:00
Volker Ruppert
966f2c8133 - added new serial modes based on SF patch #1928848 by Eugene Toder
* "pipe-server" (win32 only): It makes bochs a named pipe server so other
     application can communicate with it using pipes API. Useful e.g. for remote
     kernel debugging.
  * "pipe-client" (win32 only)
  * "socket-server": for the use with gdb
2008-05-22 08:13:22 +00:00
Volker Ruppert
5869cb8b1f - disable IPS output in status bar with the new specific option "hideIPS"
- simplified dialog window creation and dialog control handling code
- documentation updates
2008-05-12 18:46:46 +00:00
Volker Ruppert
b2baef2c34 - removed support for old-style syntax userbutton shortcuts
- added "power" key to the list of valid userbutton shortcuts
2008-05-04 09:29:45 +00:00
Stanislav Shwartsman
001ad1c736 Removed deprecated IPS derective comment 2008-05-03 09:57:52 +00:00
Stanislav Shwartsman
52a771b2c2 added load_symbols command example 2008-03-30 18:28:35 +00:00
Stanislav Shwartsman
a3c0c4e58f Update typical IPS achived by Bochs 2.3.6 2008-02-01 09:42:25 +00:00
Stanislav Shwartsman
9e5d132793 Fixed typo 2007-11-20 21:21:08 +00:00