Commit Graph

498 Commits

Author SHA1 Message Date
Stanislav Shwartsman
dcfa57087f fixed typo in configure script 2011-12-28 12:20:49 +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
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
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
2a227f4381 - updated SVN release instructions and version strings 2011-11-27 20:27:45 +00:00
Volker Ruppert
9fd437d22c - preparing release 2.5 2011-11-27 15:55:49 +00:00
Stanislav Shwartsman
34130cc1ad clearify about deprecated configure option 2011-11-18 13:15:17 +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
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
80be7ef9b1 - preparing Bochs 2.5.pre1 2011-11-06 09:00:41 +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
515683a237 - moved OSX specific cdrom code to separate file 2011-10-10 17:32:53 +00:00
Volker Ruppert
972560b83c - renamed cdrom.cc to cdrom_misc.cc and created new file cdrom.cc that contains
shared code (create TOC from image, seek)
- TODO: create new file cdrom_osx.cc that contains the OSX stuff only
2011-10-03 07:23:44 +00:00
Stanislav Shwartsman
e4560dd814 some comments about usb xhci support 2011-09-29 22:51:33 +00:00
Volker Ruppert
0596437ce7 - moved lowlevel cdrom code for win32 to a separate file
- TODO #1: move shared stuff (e.g. creating TOC for image file) to the base class
  to fix the temporary code duplication
- TODO #2: remove ASPI code for raw cdrom access on Win 98/ME after release
2011-09-25 18:49:20 +00:00
Stanislav Shwartsman
d641efcb0b fixed last broken merge 2011-09-24 12:55:38 +00:00
Stanislav Shwartsman
89d2532b69 enable cpu with cpu-level=5 also: configure bug 2011-09-24 12:48:47 +00:00
Stanislav Shwartsman
1b9f286945 - New way of CPUs scheduling in SMP mode brings up to 50% speedup to the
SMP emulation. New implementation uses dynamic CPU quantum value and takes
   full advantage of the trace cache. Each emulated processor will execute
   the whole trace before switching to the next processor.
 * It is also safe to use large (up to 16 instructions) quantum values for
   the SMP emulation now and improve performance even further.

The same merge also completely fixes SF bug :
  [3312237] stepN command might be not working properly

Handlers chaining speedups are also supported with SMP emulation now.
2011-09-22 19:38:52 +00:00
Stanislav Shwartsman
cb261c45d3 removed non-working code for z-unodable and z-volatile images.
our priority is to implement support for std disk image formats (VMDK, VDI) instead.
2011-09-11 16:27:56 +00:00
Stanislav Shwartsman
c85da98ce5 fixed cpu:avx option crash. fixed handlers-chaining configure option name 2011-09-01 13:59:35 +00:00
Stanislav Shwartsman
67cbb2dac5 fixed typo 2011-08-27 14:29:11 +00:00
Stanislav Shwartsman
e907702b6e warn if configure avx w/o x86-64 2011-08-27 13:55:40 +00:00
Stanislav Shwartsman
0d15044913 fixed configure script bug 2011-08-26 19:08:37 +00:00
Stanislav Shwartsman
13feb0772a - 10% emulation speedup with handlers chaining optimization implemented. The
feature is enabled by default when configure with --enable-all-optimizations
    option, to disable handlers chaining speedups configure with
        --disable-handlers-chaining
2011-08-21 14:31:08 +00:00
Stanislav Shwartsman
b8b63ac6ea compile CPUDB to separate library
reduce compile-time dependencies
2011-08-18 18:55:22 +00:00
Stanislav Shwartsman
3018b08f59 clarify error message for pcidev 2011-08-17 18:27:49 +00:00
Volker Ruppert
592c3399eb - created separate plugin 'netmod' that contains the common networking code
and the supported ethernet modules
  - renamed eth.* files to netmod.*
  - pseudo-device plugin implementation similar to 'soundmod'
- TODO: move sound, net and usb stuff to a separate subdirectory of iodev
2011-08-16 17:27:27 +00:00
Stanislav Shwartsman
43e2a59e3e configure show-ips ON by default for all configurations 2011-08-13 19:44:24 +00:00
Stanislav Shwartsman
fb405ad39a Compile in MONITOR/MWAIT support by default for all cpu-level=6 configurations. 2011-08-02 19:52:24 +00:00
Stanislav Shwartsman
f8e4e7f16b clean up/fixed instrumentation examples + removed old 2-years old configure options check (deprecated) 2011-07-23 19:58:38 +00:00
Stanislav Shwartsman
d11114ac19 Patch for emulating target with larger memory than host has available by Gary Cameron.
The patch was posted in mailing list at Thu 6/16/2011.

Desription for CHANGES:

- Memory
  - Added new configure option which enables RAM file backing for large guest
    memory with a smaller amount host memory, without causing a panic when
    host memory is exhausted (patch by Gary Cameron). To enable configure with
        --enable-large-ramfile option.
2011-07-22 17:46:06 +00:00
Volker Ruppert
345d67c403 - removed BeOS support from sources and documentation 2011-07-11 17:36:10 +00:00
Volker Ruppert
6dd13e1f12 - some more work for USB xHCI support
- added new configure option (don't use it yet)
  - added header file usb_xhci.h
  - TODO: add main source file (update in progress)
2011-07-05 18:31:15 +00:00
Volker Ruppert
64cb427843 - define variable MSVC_TARGET that can be used to skip useless tests of the
environment. As a first step use it to skip some networking module tests.
- link BOCHS.EXE with MSVCRT if MSVC plugin support is enabled (building DLL
  plugins with nmake still not possible - VS2008Ex workspace package coming soon)
- updated some messages for NE2000, PCI and USB
2011-06-22 21:52:35 +00:00
Stanislav Shwartsman
94958f39de BUILTIN BSWAP is not supported for MSVC 2011-06-21 17:12:57 +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
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
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
c3a31d3cf0 applied patch bochs-110423-builtinbswap.patch 2011-04-25 15:20: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
fb802c8712 more mingw and cygwin builds cannot compile with -mno-cygwin.
remove this option from configure defaults and add to .conf.win32-cygwin script only.
2011-04-20 17:44:00 +00:00
Stanislav Shwartsman
c8577e77e1 merge patch Mac OS X audio missing framework dependency by Heikki Lindholm 2011-04-19 12:50:22 +00:00
Volker Ruppert
18d36edbf0 - temporary fix for the "*-apple-darwin*" case to use the MacOSX sound module
(some more changes to use latest version of the sound interface may be required)
2011-04-12 16:17:22 +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
803643d3d5 fix AVX configure sanitcheck 2011-03-19 20:12:28 +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
e6d56f97ae - renamed bas class for lowlevel sound support to bx_sound_lowlevel_c
- define symbol BX_SUPPORT_SOUNDLOW to make the lowlevel sound modules
  independent from the presence of the SB16 emulation
2011-03-19 12:57:13 +00:00
Volker Ruppert
ae45908060 - ported ES1370 soundcard emulation from Qemu. For now, only sound output to
DAC2 is sent to the lowlevel sound module. DAC1 and sound input (ADC) are not
  yet supported. Also unsupported: CODEC (mixer), UART (MIDI) and legacy support.
  Sound module selection in configure script now no longer depends on SB16 and
  uses autodetection only.
- fixed segfault when saving bochsrc
2011-03-12 17:37:26 +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
e2e0e176e4 fixed configure for M$
strtoull is widely used by Bochs but osdep.cc method is NOT working correctly for all cases 
I occasinally saw it with MSDEV. But MSDEV supports this function natively
TODO: replace osdep.cc function as well
2011-03-03 16:03:59 +00:00