Bochs/bochs
Stanislav Shwartsman 4cafebcd4c introduce memory stub class which manages *only* RAM related logic of the memory
it is very useful for CPU unit testing without devices or BIOS
2023-11-10 21:08:57 +02:00
..
bios fixing coding style in bios source files (#6) 2022-07-17 18:16:44 +03:00
build Added x64 configuration to VS standard workspace (fixes issue #8 / TODO: plugins). 2023-11-03 14:38:34 +01:00
bx_debug fixed code duplication in debugger code 2023-11-10 19:10:51 +02:00
cpu Merge branch 'master' of https://github.com/bochs-emu/Bochs 2023-11-09 19:15:42 +02:00
doc add iodebug support for all rings complement #64 (#66) 2023-08-27 18:34:01 +02:00
docs-html Documentation updates (e.g. improved gui debugger section). 2021-06-05 20:00:12 +00:00
gui Added modeless message box support for the wxWidgets port. 2023-11-05 19:05:24 +01:00
host/linux/pcidev Applied two patches from Debian. 2021-09-10 15:33:22 +00:00
instrument fixed compilation of instrumentation examples with debugger OFF 2023-04-06 22:18:01 +03:00
iodev fix ISO status change events (#125) 2023-11-08 08:16:52 +02:00
memory introduce memory stub class which manages *only* RAM related logic of the memory 2023-11-10 21:08:57 +02:00
misc Applied two patches from Debian. 2021-09-10 15:33:22 +00:00
patches Updated user plugin example. 2021-02-07 18:37:34 +00:00
.bochsrc Ehci companion (#104) 2023-10-20 21:00:59 +03:00
.conf.amigaos
.conf.everything update .conf.everything script 2022-08-26 21:15:46 +03:00
.conf.linux add more features to configure scripts in repo (they are used for building release) 2023-10-16 16:40:05 +03:00
.conf.macos add more features to configure scripts in repo (they are used for building release) 2023-10-16 16:40:05 +03:00
.conf.macosx add more features to configure scripts in repo (they are used for building release) 2023-10-16 16:40:05 +03:00
.conf.nothing
.conf.sparc
.conf.win32-cygwin add more features to configure scripts in repo (they are used for building release) 2023-10-16 16:40:05 +03:00
.conf.win32-vcpp remove duplicate option from configure scripts 2023-10-17 09:42:35 +03:00
.conf.win64-cross-mingw32 Added SB16 option again (removed by a previous commit 2023-10-28 17:43:15 +02:00
.conf.win64-vcpp remove duplicate option from configure scripts 2023-10-17 09:42:35 +03:00
CHANGES update CHANGES 2023-11-09 23:14:01 +02:00
COPYING remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
LICENSE
Makefile.in build: extract vs2019-workspace.zip 2022-08-26 19:46:11 -07:00
PARAM_TREE.txt use common method to parse and dump memory params in .bochsrc 2023-11-07 15:40:20 +02:00
README Preparing final release 2.7. 2021-08-01 08:07:38 +00:00
README-wxWidgets
TESTFORM.txt
TODO remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
aclocal.m4 configure: Improve compatibility with strict(er) C99 compilers 2022-11-27 23:12:58 +01:00
bochs.h resolve github issue #57 + more clear variable name 2023-11-07 16:10:41 +02:00
bxdisasm.cc more bx_bool -> bool also fixing bxhub.cc case where bx_bool were assigned integer -1 value 2021-01-30 17:37:42 +00:00
bxthread.cc Started bx_bool to bool type changes in the Bochs core. 2021-01-30 15:16:00 +00:00
bxthread.h Started bx_bool to bool type changes in the Bochs core. 2021-01-30 15:16:00 +00:00
bxversion.h.in
bxversion.rc.in
config.cc use common method to parse and dump memory params in .bochsrc 2023-11-07 15:40:20 +02:00
config.guess
config.h.in rename USE_RAW_SERIAL -> BX_USE_RAW_SERIAL (#70) 2023-09-04 20:21:37 +03:00
config.sub
configure rename USE_RAW_SERIAL -> BX_USE_RAW_SERIAL (#70) 2023-09-04 20:21:37 +03:00
configure.ac rename USE_RAW_SERIAL -> BX_USE_RAW_SERIAL (#70) 2023-09-04 20:21:37 +03:00
cpudb.h ! CPUID: Added TigerLake CPU definition (features CET and CLWB support) 2021-01-30 08:35:35 +00:00
crc.cc
extplugin.h Added new plugin type PLUGTYPE_CI for config interfaces. Updated related code 2021-03-27 17:23:31 +00:00
gdbstub.cc Fixed instruction pointer truncation in gdbstub 2023-05-25 00:00:24 +03:00
install-sh
logio.cc remove siminterface.h from bochs.h and include it only where required 2021-01-30 19:40:18 +00:00
logio.h remove siminterface.h from bochs.h and include it only where required 2021-01-30 19:40:18 +00:00
ltdl-bochs.h
ltdl.c
ltdlconf.h.in
ltmain.sh
main.cc In restore mode load config earlier to make config interface selection work (fixes issue #37). 2023-11-03 18:19:38 +01:00
msrs.def
osdep.cc
osdep.h fixes for compilation without BX_LARGE_RAMFILE 2023-09-04 20:01:49 +03:00
param_names.h use common method to parse and dump memory params in .bochsrc 2023-11-07 15:40:20 +02:00
pc_system.cc * convert bx_bool -> bool in pc_system.cc/pc_system.h 2021-01-30 18:05:55 +00:00
pc_system.h move stuff from bochs.h to more appropriate include 2021-01-30 18:50:09 +00:00
plugin.cc Some more cleanup in the plugins code. 2021-04-03 18:26:03 +00:00
plugin.h Updates to USBMSD/SCSI emulation 2023-03-31 18:30:11 -07:00
qemu-queue.h
win32_enh_dbg.rc
win32res.rc Win32: Make panic dialog a little wider 2023-02-18 12:29:45 -07:00
wxbochs.rc

README

Bochs - The cross platform IA-32 (x86) emulator
Updated: Sun Aug  1 10:07:00 CEST 2021
Version: 2.7

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 "https://bochs.sourceforge.io".

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
https://bochs.sourceforge.io.  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
  https://bochs.sourceforge.io/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

Brief summary of changes in 2.7:
  - Bugfixes for CPU emulation correctness (CPUID/VMX/SVM fixes to support
    Windows Hyper-V as guest in Bochs)
  - Improvements for the plugin handling to simplify Bochs extensions
  - Added "multiple NICs" support to the NE2000 and E1000 devices
  - Added experimental FTP service for networking modules 'vnet' and 'socket'
  - Fixes and improvements for all supported Voodoo graphics adapters
  - Added USB keyboard emulation with most of the keys supported
  - GUI "cmdmode": create a headerbar event with key combo starting with F7
  - LGPL'd VGABIOS updated to version 0.8a (new VGABIOS for Voodoo Banshee)

See CHANGES file for more information!