Bochs/bochs
Volker Ruppert 38a04afe8e Some work on the bximage utility.
- The selected / detected disk image mode is now stored as a string constant to
  simplify code (same as Bochs core).
- Changed command line option to select operation mode to "-func=X" to avoid
  confusion with disk image mode.
- Documentation updates.
2021-01-09 16:51:52 +00:00
..
bios Recompiled BIOS images. 2020-10-13 08:10:05 +00:00
build Added the sample config file for the 'vnet' networking module to install list. 2020-12-26 08:31:16 +00:00
bx_debug allow dbg_fetch_mem function in broader scope 2021-01-02 14:19:28 +00:00
cpu new disasm: print branch target in 32-bit mode as 32-bit value 2021-01-02 16:48:13 +00:00
doc Some work on the bximage utility. 2021-01-09 16:51:52 +00:00
docs-html Moved and updated biossums.txt to the developer doc. 2020-01-04 22:46:00 +00:00
gui Fixed deadlock in GTK debugger gui pointed out in SF patch #557. 2021-01-06 12:18:35 +00:00
host/linux/pcidev
instrument fixed compliation err 2015-10-26 17:49:45 +00:00
iodev Some work on the hdimage mode detection code. 2021-01-08 21:17:47 +00:00
memory allow dbg_fetch_mem function in broader scope 2021-01-02 14:19:28 +00:00
misc Some work on the bximage utility. 2021-01-09 16:51:52 +00:00
patches Pressing the "m" button in gui command mode writes a marker to log file. 2020-08-21 19:12:37 +00:00
.bochsrc Removed stub for the "external" disk image mode. It was designed for 2021-01-07 20:50:34 +00:00
.conf.amigaos
.conf.everything complete transition to new disasm, remove old disasm from source code 2021-01-02 13:43:10 +00:00
.conf.linux Continued release preparations: 2017-03-24 18:23:07 +00:00
.conf.macos Continued release preparations: 2017-03-24 18:23:07 +00:00
.conf.macosx Continued release preparations: 2017-03-24 18:23:07 +00:00
.conf.nothing Enable PCI support by default / better text formatting for 'configure --help' 2012-10-25 16:02:03 +00:00
.conf.sparc - removed deprecated --enable-acpi option 2011-05-02 19:29:15 +00:00
.conf.win32-cygwin Continued release preparations: 2017-03-24 18:23:07 +00:00
.conf.win32-vcpp Some fixes in the build system. 2020-02-01 18:05:54 +00:00
.conf.win64-vcpp Added new configure shortcut script for compiling Bochs WIN64 on MSVC. 2020-01-15 21:42:38 +00:00
CHANGES Added support for converting VDI images to another format with bximage. 2021-01-08 13:19:08 +00:00
COPYING
LICENSE - added original authors on top of LGPL'd sources ported from Qemu 2012-08-30 20:41:25 +00:00
Makefile.in complete transition to new disasm, remove old disasm from source code 2021-01-02 13:43:10 +00:00
PARAM_TREE.txt Added config parameter to set up advanced PCI options as comma-separated 2020-12-04 17:04:40 +00:00
README Preparing release 2.6.11 2020-01-05 07:36:44 +00:00
README-plugins
README-wxWidgets Domumentation updates and cleanups 2013-12-24 08:55:07 +00:00
README.rfb Domumentation updates and cleanups 2013-12-24 08:55:07 +00:00
TESTFORM.txt update TESTFORM for 2.5 release 2011-11-07 19:04:52 +00:00
TODO Some release preparations: 2017-03-21 20:12:07 +00:00
aclocal.m4 - fixed autoconf 2.68 warnings 2012-02-19 19:50:56 +00:00
bochs.h Added helper function bx_split_option_list() to reduce code duplication. 2020-12-03 20:30:10 +00:00
bxdisasm.cc fixed compilation warnings in bxdisasm.cc 2021-01-02 14:27:11 +00:00
bxthread.cc Some work on the Bochs multithreading code. 2020-09-14 18:43:45 +00:00
bxthread.h Some work on the Bochs multithreading code. 2020-09-14 18:43:45 +00:00
bxversion.h.in Releases (SVN flaG 0) now use the timestamp from README file instead of the 2020-01-02 16:19:02 +00:00
bxversion.rc.in Changed the name of the 3rd part of the Bochs version number from "patch" to "revision". 2019-11-30 12:20:00 +00:00
config.cc Rewrite of the disk image mode handling. Disk image modes are now stored as 2021-01-05 21:57:13 +00:00
config.guess Updated configure helper scripts from automake 1.16 (required for MSYS2). 2020-01-31 13:41:25 +00:00
config.h.in complete transition to new disasm, remove old disasm from source code 2021-01-02 13:43:10 +00:00
config.sub Updated configure helper scripts from automake 1.16 (required for MSYS2). 2020-01-31 13:41:25 +00:00
configure Regenerated configure script. 2021-01-02 20:50:37 +00:00
configure.in Some work on the Bochs plugins support. 2021-01-02 20:49:39 +00:00
cpudb.h add Icelake-U model to CPUDB database. TODO: verify its VMX features 2019-09-24 20:26:14 +00:00
crc.cc - deleted executable property 2011-04-03 09:55:17 +00:00
extplugin.h Some work on the Bochs plugins support. 2021-01-02 20:49:39 +00:00
gdbstub.cc Fixed dbg_fetch_mem() and dbg_set_mem() similar to other memory access methods. 2020-12-08 19:52:39 +00:00
install-sh
logio.cc Fixed some gcc 9.3 warnings. 2020-08-06 20:21:14 +00:00
ltdl-bochs.h Renamed "ltdl.h" to "ltdl-bochs.h" to avoid conflicts with the include file 2013-12-17 19:58:43 +00:00
ltdl.c fixed problems found by cppcheck tool (patch by Maxim Derbasov) 2015-01-03 13:53:52 +00:00
ltdlconf.h.in
ltmain.sh
main.cc Some more work on the Bochs plugins support. 2021-01-08 19:04:41 +00:00
msrs.def - deleted executable property 2011-04-03 09:55:17 +00:00
osdep.cc Moved all Bochs event / wait functions required for multi-threading to a new 2017-09-14 16:18:12 +00:00
osdep.h Some fixes for MSVC. 2018-05-21 16:11:46 +00:00
param_names.h Added config parameter to set up advanced PCI options as comma-separated 2020-12-04 17:04:40 +00:00
pc_system.cc Prepared devices and timer code for HPET support 2017-04-15 20:31:07 +00:00
pc_system.h Prepared devices and timer code for HPET support 2017-04-15 20:31:07 +00:00
plugin.cc Some work on the hdimage mode detection code. 2021-01-08 21:17:47 +00:00
plugin.h Some more work on the Bochs plugins support. 2021-01-08 19:04:41 +00:00
qemu-queue.h Added QEMU queue macros (required for EHCI) as a separate file. Removed already 2016-01-08 18:58:27 +00:00
win32_enh_dbg.rc Added capability to use the gui debugger output window as a log viewer 2014-01-13 21:31:14 +00:00
win32res.rc Added symbol VSIDE in the MSVC workspace files and and the manifest section 2017-03-19 12:22:27 +00:00
wxbochs.rc Modified win32 resource files based on patch.mingw-resources. We already use 2013-12-28 15:11:13 +00:00

README

Bochs - The cross platform IA-32 (x86) emulator
Updated: Sun Jan  5 08:36:00 CET 2020
Version: 2.6.11

WHAT IS BOCHS?

Bochs is a highly portable open source IA-32 (x86) PC emulator
written in C++, that runs on most popular platforms.  It includes
emulation of the Intel x86 CPU, common I/O devices, and a custom
BIOS. Bochs can be compiled to emulate many different x86 CPUs,
from early 386 to the most recent x86-64 Intel and AMD processors
which may even not reached the market yet. Bochs is capable of running
most Operating Systems inside the emulation, for example DOS,
Linux or Windows. Bochs was written by Kevin Lawton and is currently
maintained by the Bochs project at "http://bochs.sourceforge.net".

Bochs can be compiled and used in a variety of modes, some which are
still in development.  The 'typical' use of bochs is to provide
complete x86 PC emulation, including the x86 processor, hardware
devices, and memory.  This allows you to run OS's and software within
the emulator on your workstation, much like you have a machine
inside of a machine.  Bochs will allow you to run Windows
applications on a Solaris machine with X11, for example.

Bochs is distributed under the GNU LGPL. See LICENSE and COPYING for details.

GETTING CURRENT SOURCE CODE

Source code for Bochs is available from the Bochs home page at
http://bochs.sourceforge.net.  You can download the most recent
release, use SVN to get the latest sources, or grab a SVN
snapshot which is updated frequently. The releases contain the most
stable code, but if you want the very newest features try the
SVN version instead.

WHERE ARE THE DOCS?

The Bochs documentation is written in Docbook.  Docbook is a text
format that can be rendered to many popular browser formats such
as HTML, PDF, and Postscript.  Each binary release contains the
HTML rendering of the documentation.  Also, you can view the
latest documentation on the web at
  http://bochs.sf.net/doc/docbook/index.html

WHERE CAN I GET MORE INFORMATION?  HOW DO I REPORT PROBLEMS?

Both the documentation and the Bochs website have instructions on how
to join the bochs-developers mailing list, which is the primary
forum for discussion of Bochs.  The main page of the website also
has links to bug reports and feature requests.  You can browse and
add to the content in these areas even if you do not have a (free)
SourceForge account.  We need your feedback so that we know what
parts of Bochs to improve.

There is a patches section on the web site too, if you have made
some changes to Bochs that you want to share.

HOW CAN I HELP?

If you would like contribute to the Bochs project, a good first step
is to join the bochs-developers mailing list, and read the archive
of recent messages to see what's going on.

If you are a technical person (can follow hardware specs, can write
C/C++) take a look at the list of open bug reports and feature
requests to see if you are interested in working on any of the
problems that are mentioned in them.  If you check out the SVN
sources, make some changes, and create a patch, one of the
developers will be very happy to apply it for you.  Developers who
frequently submit patches, or who embark on major changes in the
source can get write access to SVN.  Be sure to communicate with the
bochs-developers list to avoid several people working on the same
thing without realizing it.

If you are a Bochs user, not a hardware/C++ guru, there are still
many ways you could help out.  For example:
  - write instructions on how to install a particular operating system
  - writing/cleaning up documentation
  - testing out Bochs on every imaginable operating system and
    reporting how it goes.

CHANGES

Summary of changes in 2.6.11:
  - General
    - Added 64-bit support to the NSIS installer script
    - Several fixes in the build system based on Debian patches
  - CPU / CPUDB
    - Bugfixes for CPU emulation correctness
      - Many critical bugfixes for Protection Keys, AVX512*, VMX/SVM, SHA, GFNI emulation
    ! Implemented CET (Control Flow Enforcement Technology) emulation according to Intel SDM rev071
  - I/O Devices
    - Added missing Cirrus SVGA bitblt feature "transparent color compare"
    - Some fixes in HPET emulation (patch by Oleg)
    - Fixed disk image lock mechanism in the USB MSD case
  - BIOS / VGABIOS
    - LGPL'd VGABIOS updated to version 0.7b (Fixed VESA extension 'read EDID'
      for Bochs VBE and Cirrus)
    - Updated SeaBIOS ROM image to current version 1.13.0
    - Added SeaVGABIOS ROM image for the Cirrus adapter
    - Bochs BIOS built to work with CPU level 5 again

See CHANGES file for more information!