Stanislav Shwartsman
4d03b57291
Allow larger quantum value for SMP simulations (up to 32)
...
Update CHANGES
2012-08-02 20:48:27 +00:00
Stanislav Shwartsman
85e30bd410
remove unused configure check for struct timeval
2012-06-04 20:26: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
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
01f27e3a0c
this should fix bug report 3422638 large ramfile support broken on anything but Linux
2011-10-15 19:29:42 +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
1e2e3c8b0e
forgot to merge file
2011-08-21 14:38:33 +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
fb8d302f72
changed SHOW-IPS format for all GUIs
2011-08-14 20:21:07 +00:00
Stanislav Shwartsman
20becdfbe7
fix compilation errors
2011-08-05 07:22:43 +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
20ae4af54c
- removed 'arpback' networking module (ARP simulation still exists in the 'vnet' module)
2011-07-10 20:56:54 +00:00
Stanislav Shwartsman
002c86660a
reword all the CPU code in preparation for future CPU speedup implementation.
...
Bochs emulation can be another 10-15% faster using technique described in paper
"Fast Microcode Interpretation with Transactional Commit/Abort"
http://amas-bt.cs.virginia.edu/2011proceedings/amasbt2011-p3.pdf
2011-07-06 20:01:18 +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
Stanislav Shwartsman
8e8f46a92b
bswap16 is not checked by configure
2011-06-11 13:26:02 +00:00
Stanislav Shwartsman
126a6ed971
fix some compilation errors with cygwin gcc4
2011-06-07 18:13:00 +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
83b16459e4
fixed typo
2011-05-07 20:24:33 +00:00
Stanislav Shwartsman
477850926d
added warning about bad gcc4.0.0 compiler
2011-05-07 20:22:54 +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
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
7cdd2f267c
We don't use BX_C_INLINE anymore
2011-03-03 19:52:52 +00:00
Volker Ruppert
49f4a38c82
- applied user mode networking patch by Heikki Lindholm. It requires the most
...
recent version of Slirp with Debian patches applied. On a Linux host the
guest OS can access the internet without running Bochs with root privileges.
TODO:
* rewrite the DHCP part of eth_vnet.cc that it can be used here, too
* Slirp doesn't compile on 64-bit Linux with GCC 4.5
* WIN32 is not supported yet
2011-02-27 08:08:12 +00:00
Volker Ruppert
ac61b38825
- cleaned up config.h symbols of networking modules. Now always using name format
...
BX_NETMOD_xxx and set them in configure script
2011-02-26 20:10:06 +00:00
Volker Ruppert
dec6bcaf73
- started separation of sb16 and lowlevel sound module code. The first step is
...
an own header file for the basic sound output class. When ready we should
have a separate 'soundmod' plugin that could be used by other soundcard
implementations.
2011-01-25 23:29:08 +00:00
Volker Ruppert
668cd80448
- plugin target changes based on Debian patches
...
- use system 'ltdl' library if present (otherwise use builtin ltdl stuff)
- use plugin library extension '.so' on non-win32 platforms
2011-01-23 20:21:21 +00:00
Stanislav Shwartsman
d849cdf128
- Determine and select max physical address size automatically at
...
configure time:
- 32-bit physical address for 386/486 guests
- 36-bit physical address for PSE-36 enabled Pentium guest
- 40-bit physical address for PAE enabled P6 or later guests
2010-05-12 14:55:12 +00:00
Stanislav Shwartsman
1c2fa8cd0c
move 1G_pages support to runtime option
2010-04-24 09:36:04 +00:00
Stanislav Shwartsman
6e1204cb84
Merged X2APIC + X2APIC virtualization
2010-04-08 15:50:39 +00:00
Stanislav Shwartsman
a842b4ddad
VMXx2 require x86-64 support
2010-04-04 17:08:40 +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
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
50eb55d0f2
introduce --enable-xapic configure option
2010-02-24 20:59:49 +00:00
Stanislav Shwartsman
b4db09c203
typo fix
2010-02-24 19:59:04 +00:00
Stanislav Shwartsman
f227349fa6
BX_SUPPORT_SMP is getting used before that define is defined.
2010-02-12 10:42:57 +00:00
Stanislav Shwartsman
c403090327
! Implemented PCLMULQDQ AES instruction
2009-12-20 09:00:40 +00:00
Stanislav Shwartsman
5fec008130
change copyright to bochs project
2009-12-04 20:02:12 +00:00
Stanislav Shwartsman
6cc1f40cc4
redundant defines
2009-11-23 18:31:51 +00:00
Stanislav Shwartsman
85d0bb4632
determine APIC option from CPU_LEVEL and SMP support options - deprecate configure option for APIC support
2009-11-20 14:58:48 +00:00
Stanislav Shwartsman
41cda9f4ef
remove define
2009-11-13 16:05:48 +00:00
Stanislav Shwartsman
3e3cfc610f
cleanup
2009-10-31 19:16:09 +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
f29b5a97d6
fixes with long phy addr
2009-08-10 08:08:25 +00:00
Stanislav Shwartsman
e15bfef9f7
remove --enable-daz option, it will be turned on by default iff SSE2 is supported (like in real hardware)
2009-07-08 14:02:42 +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
Stanislav Shwartsman
0a911dec81
removed some unused configure tests
...
- they not realy correct
- they not needed and not used
- I don't plan to use them as workaround for any stupid compiler
2009-05-07 17:57:31 +00:00
Stanislav Shwartsman
7c0e038cbc
fixed obsolete hash_map in dbg symbols module (patch from SF)
2009-05-03 18:31:23 +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
77d901da42
typo fix
2009-03-24 15:23:05 +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
Stanislav Shwartsman
2304f2abf1
reduce dependencies from CPU/APIC.H
2009-02-20 22:00:42 +00:00
Stanislav Shwartsman
876a410230
Only 15 CPUs maximum without XAPIC
2009-02-20 15:47:04 +00:00
Stanislav Shwartsman
5cbe27b04e
Allow to configure up to 255 CPUs
2009-02-20 15:39:06 +00:00
Stanislav Shwartsman
b60aee3891
Added defines for STRICMP/STRCASECMP
2009-02-02 19:10:13 +00:00
Stanislav Shwartsman
f8185a6bc6
Added Intel VMX emulation to Bochs CPU
2009-01-31 10:43:24 +00:00
Volker Ruppert
0b782cd749
- prepared USB OHCI support in build system and common devices code (OHCI patch
...
by Ben Lunt will be tested and merged soon)
- renamed specific pciusb stuff to 'usb_uhci' (files, objects)
- minor USB-related changes
- TODO: changes in siminterface and bochsrc options
2009-01-19 09:48:12 +00:00
Stanislav Shwartsman
9929e6ed78
- updated FSF address
2009-01-16 18:18:59 +00:00
Stanislav Shwartsman
93dd7bfccf
Fixed compilation issues with GUI debugger enabled.
...
- Added configure option to compile in GUI frontend for Bochs internal
debugger, to enable configure with --enable-debugger-gui option. The GUI
debugger frontend is enabled by default with Bochs internal debugger.
If needed to compile without GUI debugger (in case of compilation issues) use --disable-debugger-gui
2009-01-12 19:15:35 +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
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
69bd21bf1d
1G pages support for CPU
2008-12-11 21:00:01 +00:00
Stanislav Shwartsman
ef36cec716
moving definition to config.h
2008-12-01 19:35:25 +00:00
Stanislav Shwartsman
ce425f02d9
Small fix towards 40-bit physical address emulated
2008-10-18 18:10:14 +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
17e440629b
Clean comment
2008-09-18 19:44:20 +00:00
Stanislav Shwartsman
51cb5451d8
Apply CPUID vendor/brand string from @SF
2008-08-19 16:43:07 +00:00
Stanislav Shwartsman
a8adb36dc2
Implemented MOVBE Intel Atom(R) instruction
2008-08-11 18:53:24 +00:00
Stanislav Shwartsman
e19c25a234
Reimplemented watchpoints handling. Up to 16 watchpoints of any kind (but not each kind) is available.
...
Check 'help watch, help unwatch' in Bochs debugger !
2008-08-07 21:09:30 +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
Volker Ruppert
50ea5f5073
- added limited ALSA sound support on Linux (PCM output only)
...
* ALSA PCM support added in soundlnx.cc (OSS will be used if no ALSA present)
* minor code cleanups and documentation updates
2008-07-12 15:21:36 +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
7494b8823b
- Support of AES CPU extensions, to enable configure with
...
--enable-aes option
2008-05-30 20:35:08 +00:00
Stanislav Shwartsman
3fd4a09bbc
preparations for future 64-bit physical address support
2008-05-10 20:39:53 +00:00
Stanislav Shwartsman
e23896e3cf
Forgot to merge CDECL definition
2008-04-09 16:33:38 +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
8c24dfc01b
MSVC6 compilation changes
...
More effort to remove can_pop function calls - almost everything is clean
2008-03-26 16:25:05 +00:00
Stanislav Shwartsman
47936944a2
Remove Cirrus Logic PCI special define - it will be enabled by default when PCI is enabled.
2008-03-22 22:26:03 +00:00
Stanislav Shwartsman
7e490699d4
Removing hooks for not-implemented SSE4A from the Bochs code.
2008-03-21 20:04:42 +00:00
Stanislav Shwartsman
2172e96654
small trace/iacache cleanups, always allow speculative tracing for trace cache
2008-03-03 14:35:36 +00:00
Stanislav Shwartsman
8615022962
Added first stubs for XSAVE/XRESTOR implementation
...
Disassemble XSAVE/XRSTOR instructions (4 instructions)
Update CHANGES - a bit speculatively
2008-02-12 22:41:39 +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
40ae796dfa
speculative tracing config.h parameter
2008-01-18 09:35:19 +00:00
Stanislav Shwartsman
7496ee7afa
VM8086 is always ON
2007-12-21 21:16:34 +00:00
Stanislav Shwartsman
43e356fb60
TLB macro
2007-12-21 11:11:50 +00:00
Stanislav Shwartsman
6f96b119e1
Some compile time checks for configure SSE4A and SSE5A
...
I don't plan configure support for them now, because the instruction actually still not implemented
2007-12-16 21:06:44 +00:00
Stanislav Shwartsman
76882295f7
Small preparation for SSE4A and SSE5A implementation
2007-12-15 17:35:41 +00:00
Stanislav Shwartsman
adda3befd3
Trace cache optimization merged
2007-12-09 18:36:05 +00:00