Bochs/bochs
Stanislav Shwartsman cc694377b9 Standartization of Bochs instruction handlers.
Bochs instruction emulation handlers won't refer to direct fields of instructions like MODRM.NNN or MODRM.RM anymore.
Use generic source/destination indications like SRC1, SRC2 and DST.
All handlers are modified to support new notation. In addition fetchDecode module was modified to assign sources to instructions properly.

Immediate benefits:
- Removal of several duplicated handlers (FMA3 duplicated with FMA4 is a trivial example)
- Simpler to understand fetch-decode code

Future benefits:
- Integration of disassembler into Bochs CPU module, ability to disasm bx_instruction_c instance (planned)

Huge patch. Almost all source files wre modified.
2012-08-05 13:52:40 +00:00
..
bios typo fix 2012-08-02 14:37:17 +00:00
build added new stack.cc into MSVCPP2008 workspaces 2012-03-25 20:21:15 +00:00
bx_debug - fixes based on Debian patches by Guillem Jover 2012-07-14 07:01:43 +00:00
cpu Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
disasm - fixes based on Debian patches by Guillem Jover 2012-07-14 07:01:43 +00:00
doc - added VirtualPC image support, new disk image mode is called 'vpc' 2012-08-05 09:33:33 +00:00
docs-html implemented ADCX/ADOX instructions from rev013 of arch extensions published by Intel 2012-07-12 14:51:54 +00:00
fpu Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
gui - added VirtualPC image support, new disk image mode is called 'vpc' 2012-08-05 09:33:33 +00:00
host/linux/pcidev another whitespace cleanup by Sebastien 2008-02-05 22:57:43 +00:00
instrument cleanup instrumentation stub 2012-08-05 13:40:32 +00:00
iodev - added VirtualPC image support, new disk image mode is called 'vpc' 2012-08-05 09:33:33 +00:00
memory - fixes based on Debian patches by Guillem Jover 2012-07-14 07:01:43 +00:00
misc - use a constant for the maximum disk size calculated from max. cylinder bits 2012-07-26 16:15:48 +00:00
patches - removed outdated patch 2012-07-15 09:31:02 +00:00
.bochsrc - added VirtualPC image support, new disk image mode is called 'vpc' 2012-08-05 09:33:33 +00:00
.conf.amigaos - enable VBE support by default in configure script 2006-11-20 18:55:16 +00:00
.conf.everything implemented SVM emulation support for Bochs (incomplete yet) 2011-12-25 19:35:29 +00:00
.conf.linux - added devices ES1370 and E1000 to shortcut scripts (known to work with Linux 2012-05-01 18:03:43 +00:00
.conf.macos - added devices ES1370 and E1000 to shortcut scripts (known to work with Linux 2012-05-01 18:03:43 +00:00
.conf.macosx - added devices ES1370 and E1000 to shortcut scripts (known to work with Linux 2012-05-01 18:03:43 +00:00
.conf.nothing Fixed SF bug [3548109] VMX State Not Restored After Entering SMM on 32-bit Systems 2012-07-27 08:13:39 +00:00
.conf.sparc - removed deprecated --enable-acpi option 2011-05-02 19:29:15 +00:00
.conf.win32-cygwin - added devices ES1370 and E1000 to shortcut scripts (known to work with Linux 2012-05-01 18:03:43 +00:00
.conf.win32-vcpp - added devices ES1370 and E1000 to shortcut scripts (known to work with Linux 2012-05-01 18:03:43 +00:00
aclocal.m4 - fixed autoconf 2.68 warnings 2012-02-19 19:50:56 +00:00
bochs.h add new instrumentation callbacks for physical memory access from CPU 2012-06-18 11:41:26 +00:00
bxversion.h.in - I have tried to make the --prefix argument to configure control 2001-11-10 03:48:22 +00:00
bxversion.rc.in - deleted executable property 2011-04-03 09:55:17 +00:00
CHANGES Allow larger quantum value for SMP simulations (up to 32) 2012-08-02 20:48:27 +00:00
config.cc Allow larger quantum value for SMP simulations (up to 32) 2012-08-02 20:48:27 +00:00
config.guess Update config.guess/config.sub o latest revision (May 2010) 2010-06-10 17:56:46 +00:00
config.h.in Allow larger quantum value for SMP simulations (up to 32) 2012-08-02 20:48:27 +00:00
config.sub Update config.guess/config.sub o latest revision (May 2010) 2010-06-10 17:56:46 +00:00
configure - regenerated after Debian fixes 2012-07-14 07:04:17 +00:00
configure.in - fixes based on Debian patches by Guillem Jover 2012-07-14 07:01:43 +00:00
COPYING - removed wrong character from FSF address (converted invisible and useless 2009-02-08 09:05:52 +00:00
cpudb.h update CHANGES 2012-05-26 19:40:18 +00:00
crc.cc - deleted executable property 2011-04-03 09:55:17 +00:00
extplugin.h - added new plugin type PLUGTYPE_STANDARD for optional plugins which are used in 2012-01-10 17:45:18 +00:00
gdbstub.cc - compilation fixes for MSVC (SF bug #2905969) 2012-03-11 18:12:50 +00:00
install-sh - commit patch.check-platform. For full details, pull up the patch itself 2002-03-07 16:00:39 +00:00
load32bitOShack.cc - fixed some MSVC warnings 2011-06-19 05:37:30 +00:00
logio.cc added const to several class members 2012-03-27 21:30:34 +00:00
ltdl.c Adding Id and Rev property to all files 2011-02-24 22:05:47 +00:00
ltdl.h Adding Id and Rev property to all files 2011-02-24 22:05:47 +00:00
ltdlconf.h.in Add plugin support to Bochs by merging all the changes from the 2002-10-24 21:07:56 +00:00
ltmain.sh - removed wrong character from FSF address (converted invisible and useless 2009-02-08 09:05:52 +00:00
main.cc - fixed location of optional plugin load / unload calls 2012-07-14 15:48:48 +00:00
Makefile.in - fixes based on Debian patches by Guillem Jover 2012-07-14 07:01:43 +00:00
msrs.def - deleted executable property 2011-04-03 09:55:17 +00:00
osdep.cc Adding Id and Rev property to all files 2011-02-24 22:05:47 +00:00
osdep.h undo bxswap change - it breaks build with bx_debugger enabled. error - multiple definition of bx_swap16 in parser.o and lexer.o 2011-12-28 22:43:18 +00:00
param_names.h implemented ADCX/ADOX instructions from rev013 of arch extensions published by Intel 2012-07-12 14:51:54 +00:00
PARAM_TREE.txt implemented ADCX/ADOX instructions from rev013 of arch extensions published by Intel 2012-07-12 14:51:54 +00:00
pc_system.cc - wx: use new log function name for the table of log modules 2012-02-23 17:16:35 +00:00
pc_system.h Adding Id and Rev property to all files 2011-02-24 22:05:47 +00:00
plugin.cc - devices 'parallel' and 'serial': 2012-04-16 19:17:10 +00:00
plugin.h - prepared support for sending absolute x/y values from the gui to the mouse emulation 2012-06-21 17:33:37 +00:00
README update README file with newest Bochs CPU emulation caps 2012-02-10 16:02:22 +00:00
README-plugins another whitespace cleanup by Sebastien 2008-02-05 22:57:43 +00:00
README-wxWindows another whitespace cleanup by Sebastien 2008-02-05 22:57:43 +00:00
README.rfb - remove GPL'd rfbproto.h 2004-04-05 12:09:25 +00:00
TESTFORM.txt update TESTFORM for 2.5 release 2011-11-07 19:04:52 +00:00
TODO fixed spelling in TODO file 2012-07-22 12:39:30 +00:00
win32_enh_dbg.rc - deleted executable property 2011-04-03 09:55:17 +00:00
win32res.rc - only quit Bochs simulation after pressing the "Quit" button in the runtime 2012-03-29 17:05:44 +00:00
wxbochs.rc - added version info for wxMSW port 2008-02-10 22:03:47 +00:00

Bochs - The cross platform IA-32 (x86) emulator
Updated: Sun Nov 27 16:55:00 CET 2011
Version: 2.5.1

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 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 nightly.  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

Some information has not yet been transferred from the older
HTML docs.  These can be found at http://bochs.sf.net/docs-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.