Commit Graph

580 Commits

Author SHA1 Message Date
Volker Ruppert
4e878a1ef9 - implemented "hideIPS" option in the win32 gui 2012-08-29 20:36:12 +00:00
Volker Ruppert
de3792b7f0 - rfb: the "show ips" feature now works on Windows host (separate thread
with a dummy message loop is required to make the Windows console timer work)
2012-08-28 18:59:56 +00:00
Volker Ruppert
24eb755c5a - rewrite of the "show ips" feature similar to other guis
- implemented "hideIPS" option
- minor other cleanups and updates
- TODO: make "show ips" feature work on Windows host
2012-08-28 17:16:10 +00:00
Volker Ruppert
5ff2d2d172 - changes updated 2012-08-26 15:21:12 +00:00
Stanislav Shwartsman
6092823de3 added brief summary of 2.6 release to CHANGES 2012-08-22 14:13:51 +00:00
Stanislav Shwartsman
c41cbe6d56 Link traces over taken branch optimization which makes handlers chaining even more efficient.
I observed 5% speedup in all disk images over 2.6pre1.
The change is safe (passed all regressions) and I will be glad to make it into Bochs 2.6!
2012-08-21 19:58:41 +00:00
Volker Ruppert
a4ce74a158 - started preparing for pre-release 2012-08-17 15:29:54 +00:00
Volker Ruppert
43c1ac48f4 - implemented TFTP support in eth_slirp.cc
* moved TFTP request processing core from eth_vnet.cc to netmod.cc
  * added TFTP handling in eth_slirp.cc similar to DHCP
2012-08-16 11:59:44 +00:00
Stanislav Shwartsman
6570491cb5 update CHANGES 2012-08-09 15:19:19 +00:00
Stanislav Shwartsman
d70ec50df3 update TODO and CHANGES 2012-08-05 19:55:00 +00:00
Volker Ruppert
7bbc26c70f - redolog: skip bitmap update if extent_index is unchanged after lseek()
- more usage of helper functions bx_read_image() / bx_write_image()
- CHANGES update
2012-08-05 14:42:37 +00:00
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
a1ebdc41ac Fixed SF bug [3548109] VMX State Not Restored After Entering SMM on 32-bit Systems
Fixed .conf.nothing configure script

Fixed copyright for some files
2012-07-27 08:13:39 +00:00
Volker Ruppert
9a008c8e3c - use a constant for the maximum disk size calculated from max. cylinder bits
- increased maximum disk size to 8 TB (should work with growing and sparse disks)
2012-07-26 16:15:48 +00:00
Stanislav Shwartsman
cbfeaec11c fixed spelling in TODO file 2012-07-22 12:39:30 +00:00
Volker Ruppert
adfec8454c - moved several related options to the new "keyboard" bochsrc option
- TODO: more documentation updates
2012-07-14 16:13:01 +00:00
Stanislav Shwartsman
5d66e8450e implemented ADCX/ADOX instructions from rev013 of arch extensions published by Intel 2012-07-12 14:51:54 +00:00
Volker Ruppert
82c65076cc - renamed PCI Pseudo NIC bochsrc option to "pcipnic" (temporary hack should
be removed after next Bochs release)
- documentation updates
2012-07-11 21:03:59 +00:00
Stanislav Shwartsman
fef13ddb95 update CHANGES 2012-07-10 20:21:54 +00:00
Volker Ruppert
15ac388502 - documentation updates 2012-07-03 18:49:42 +00:00
Stanislav Shwartsman
bb50381ed0 update CHANGES 2012-06-30 19:36:02 +00:00
Volker Ruppert
d1fe267313 - updates 2012-06-26 20:02:09 +00:00
Stanislav Shwartsman
77bbea504c merged compilation patch by Sebastian, update closed bugs in CHANGES 2012-06-24 17:42:24 +00:00
Stanislav Shwartsman
515d8b5c25 add new instrumentation callbacks for physical memory access from CPU 2012-06-18 11:41:26 +00:00
Stanislav Shwartsman
df57bfdc00 update CHANGES 2012-06-14 19:00:53 +00:00
Volker Ruppert
02749956e0 - mention SDL audio output support in the docs 2012-06-10 13:47:07 +00:00
Stanislav Shwartsman
7bae496840 fixed valgrind issues in apic initialization and generic cpuid reported in SF bug report 2012-06-04 14:27:34 +00:00
Stanislav Shwartsman
2ee3386c37 cpu bugfixes 2012-05-31 14:25:49 +00:00
Stanislav Shwartsman
36ca7995af update CHANGES 2012-05-26 19:40:18 +00:00
Stanislav Shwartsman
f9540f1c24 - Improved CPU status restore after restoring from Bochs saved image
- Changed many BX_ERROR messages about VMX VMEXIT takesn to BX_DEBUG
2012-05-19 20:36:40 +00:00
Stanislav Shwartsman
3e35d5b6ce update CHANGES 2012-05-12 11:59:21 +00:00
Stanislav Shwartsman
03162d86f5 LAPIC: fixed timer interrupts after reloading of LAPIC Timer Divide Configuration register 2012-05-12 11:52:29 +00:00
Stanislav Shwartsman
708fc666c8 Added Corei7 ivyBridge configuration to CPUDB 2012-05-07 12:31:22 +00:00
Stanislav Shwartsman
39c14ef0d1 Implemented EPT A/D extensions support.
Bochs is fully aligned with the latest published revision of
Intel Architecture Manual (revision 043) now.
2012-05-02 18:11:39 +00:00
Stanislav Shwartsman
e1611e717e Implemented feature request:
[3519794] debugger's ability to save physical/linear memory dumps
2012-04-24 11:01:59 +00:00
Stanislav Shwartsman
d71ed03ba1 fixed buffer overflow in serial.cc 2012-04-21 18:13:10 +00:00
Stanislav Shwartsman
c7c431f88e bx_instr_mem_data_access became completely obsolete with new stack optimization merged into SVN.
It already had limited usability before. With stack direct access optimization the callback won't be called for stack accesses as well.
See note by Brian Slechta:

=== Cut Hete ===
While using Bochs as a reference model for simulations, the simulator needs
information about what loads/stores are taking place with each instruction.
Presumably,  that  is  what  the BX_INSTR_MEM_DATA() instrumentation macros
cover (which is the place where our simulator hooks up).

The RETnear_xxx() functions call access_linear() directly, rather than call
read_virtual_xxx()  functions. This is a problem for code making use of the
BX_INSTR_MEM_DATA()   hook  because  it  does  not  get  called  for  these
instructions.  Should  this  be  changed along with some other instructions
that exhibit this?
=== Cut Hete ===

For Bryan's usage bx_instr_lin_access and bx_instr_phy_read/bx_instr_phy_write callbacks should be used.
2012-04-11 19:01:25 +00:00
Stanislav Shwartsman
83d1e1ee0f update CHANGES 2012-04-10 14:18:54 +00:00
Stanislav Shwartsman
60e92204b1 update CHANGES 2012-04-04 19:59:26 +00:00
Stanislav Shwartsman
e7a4a1bec8 surprisingly, opensuse 12.1 requre alignment check support in hardware so I can't disable it by default for all configurations.
but in case you want a few %% of extra emulation performance - it is still possible to disable it with configure option.
most guests I saw do not use it !
2012-03-26 19:33:38 +00:00
Stanislav Shwartsman
d4688e8b95 - Do not compile support for alignment check (#AC exception) by default
for CPU emulation performance reasons, the alignment check compilation
    still can be enabled using configure option --enable-alignment-check.

There is no software in the world which enable #AC exception checking, this
x86 feature is completely legacy but its emulation support costs up to 3-5%
emulation speed.

The checking for #AC exception enable still will be done, if

 CPL == 3, EFLAGS.AC = 1 and CR0.AM = 1

but the alignment check is not compiled in, the Bochs will PANIC with corresponding message.
You can press 'always continue' and ignore the PANIC, the simulation will continue as if alignment checking is not enabled.
2012-03-25 19:07:17 +00:00
Stanislav Shwartsman
3ca29cbdf3 stack direct access optimization - 5% emu speedup to all 32-bit guests, for 64-bit guests speedup is less because they have less stack accesses 2012-03-25 11:54:32 +00:00
Stanislav Shwartsman
e1506e3e29 some cleanup in CPU code + patch SVM SS.DPL instead of failing VMRUN 2012-03-19 19:24:15 +00:00
Stanislav Shwartsman
733dc3bb3c dump CPUID .bochsrc options only if no CPUDB profile is selected 2012-03-15 19:55:14 +00:00
Stanislav Shwartsman
1dd0500259 Merge SF patch 3505209 and update CHANGES 2012-03-15 19:34:13 +00:00
Volker Ruppert
3ba2751b6f - update changes 2012-03-13 19:08:40 +00:00
Stanislav Shwartsman
406a381371 update CHANGES (not complete) 2012-03-13 15:24:47 +00:00
Volker Ruppert
ae860d3cb8 - added changes in bugfix release 2.5.1 2012-01-06 21:56:48 +00:00
Volker Ruppert
9fd437d22c - preparing release 2.5 2011-11-27 15:55:49 +00:00
Volker Ruppert
bc3b84e43c - added 'x' display library option "nokeyrepeat" to documentation 2011-11-27 12:13:22 +00:00
Stanislav Shwartsman
ea87faad6e update CHANGES 2011-11-26 17:42:31 +00:00
Stanislav Shwartsman
5e2834b69f update CHANGES with more fixed bug 2011-11-24 16:27:23 +00:00
Stanislav Shwartsman
f660d3dc68 implemented missed XOP instructions FRCZPS/PD/SS/SD + update CHANGES with fixed bugs 2011-11-24 11:34:26 +00:00
Stanislav Shwartsman
9f5dabf839 added to CHANGES info about internal dbger and GUI dbger fixes 2011-11-23 20:09:21 +00:00
Stanislav Shwartsman
44c3b65961 update CHANGES with fixed bug 2011-11-21 13:21:19 +00:00
Stanislav Shwartsman
c74f590077 implemented TSC-Deadline APIC timer mode 2011-11-21 12:51:50 +00:00
Stanislav Shwartsman
25ac87009b update CHANGES 2011-11-19 14:32:13 +00:00
Stanislav Shwartsman
cf314eb064 update CHANGES with closed bug 2011-11-08 18:01:35 +00:00
Stanislav Shwartsman
c68fdf4223 fixed typo in CHANGES 2011-11-06 21:51:30 +00:00
Volker Ruppert
80be7ef9b1 - preparing Bochs 2.5.pre1 2011-11-06 09:00:41 +00:00
Stanislav Shwartsman
9be8552b80 - Implemented VM Functions support and EPTP-Switching VM Functions
- Added VMEXIT conditions for INVPCID instruction

Now Bochs is fully aligned with latest pulished Intel's SDM rev040.
2011-11-05 07:31:51 +00:00
Volker Ruppert
de38d27b99 - changes updated 2011-10-30 17:15:59 +00:00
Stanislav Shwartsman
f73cdfaeac change nickname ('ch100') to realname ('Christian Inci') in CHANGES 2011-10-23 04:47:33 +00:00
Stanislav Shwartsman
60582e2b9d merge patch [3426460] [PATCH] PIC: remove never-executed code by ch100 2011-10-20 19:19:06 +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
887aac2a4e updating CHANGES 2011-10-16 06:27:09 +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
e4560dd814 some comments about usb xhci support 2011-09-29 22:51:33 +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
c28c7f6a06 Supply real VMX capabilities together with the CPU MODEL .bochsrc option.
So now the same single option will choose not only the CPUID flags but also VMX capabilities matching real HW machine.

Removed cpuid of core2_extreme_x9770 from the cpudb. I don't remember its VMX capabilities anyway.
There is another Penryn model in the cpudb - core2_penryn_t9600.
2011-09-26 12:31:40 +00:00
Stanislav Shwartsman
f7f06aebdf Updating CHANGES for coming 2.5 release
It was a real challenge to summarize all the highlights we have done in past half a year.
Hopefully it looks good and I didn't miss anything important.
2011-09-25 22:15:21 +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
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
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
330bf62f61 added INVPCID instruction support 2011-09-16 20:06:23 +00:00
Stanislav Shwartsman
d5fcfabb38 bugfix + update changes 2011-09-13 19:38:09 +00:00
Stanislav Shwartsman
6bdfbeeffa fixed for gather VSIB calculation 2011-08-28 20:14:53 +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
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
60a33f24d5 added new bochs binary param to choose cpu to emulate 2011-08-16 20:30:01 +00:00
Stanislav Shwartsman
7feb947830 BIOS fixes 2011-08-15 06:05:52 +00:00
Volker Ruppert
a0b4b4898b - implemented graphics snapshot for mode X (variant of VGA mode 0x13)
- bugfix: CGA1 mode depends on the CGA compatiblity switch
2011-08-14 14:56:54 +00:00
Volker Ruppert
b8b2a7253b - implemented graphics snapshot for VGA mode 0x13
- new method get_dac_palette() for the graphics snapshot feature
- small code cleanup
2011-08-14 08:06:05 +00:00
Stanislav Shwartsman
2f7e73fda9 update CHANGES 2011-08-13 19:48:54 +00:00
Stanislav Shwartsman
075db389a9 added atom n270 cpuid + small fixes 2011-08-03 17:49:49 +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
29f0e93025 spelling 2011-07-31 20:07:43 +00:00
Stanislav Shwartsman
62ad2a0d06 update CHANGES 2011-07-29 15:55:17 +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
Stanislav Shwartsman
84636ca141 update fixed bugs in CHANGES 2011-07-24 19:36:19 +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
Stanislav Shwartsman
1e2c7de064 register state for pause-loop exiting 2011-07-22 09:28:31 +00:00
Stanislav Shwartsman
1b9fd6a18b fixed format of cpuid param in .bochsrc generated by Bochs 2011-07-17 18:14:29 +00:00
Stanislav Shwartsman
a6853a8b75 removed not implemented g2h device 2011-07-10 21:25:12 +00:00
Stanislav Shwartsman
432bf97197 was playing with SMP and debugger 2011-07-09 22:17:16 +00:00
Volker Ruppert
ec2f54a65e - changes updated 2011-07-03 19:37:59 +00:00
Stanislav Shwartsman
909e750549 Implemented VMX preemption timer VMEXIT control (patch by Jianan Hao) 2011-07-03 15:59:48 +00:00
Stanislav Shwartsman
7e57d95364 Fix wrong address translation in debugger 2011-06-24 13:05:36 +00:00
Stanislav Shwartsman
c45720f31a update CHANGES 2011-06-22 16:16:12 +00:00
Stanislav Shwartsman
070a803a99 Ctrl-Break support for the Win32 gui 2011-06-21 17:10:40 +00:00