mirror of https://github.com/bochs-emu/Bochs
Github README WIP
This commit is contained in:
parent
4079425cf4
commit
7b6b684808
|
@ -0,0 +1,81 @@
|
|||
# Welcome to the Bochs IA-32 Emulator Project
|
||||
|
||||
Bochs is a portable 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 (sometimes even pre-market) x86-64 Intel and AMD processors.
|
||||
|
||||
Bochs is capable of running most Operating Systems inside the emulation
|
||||
including Linux, DOS or Microsoft Windows.
|
||||
|
||||
Bochs provides many different modes of operation, in support of a wide
|
||||
variety of use cases. 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. For instance, let's say
|
||||
your workstation is a Unix/X11 workstation, but you want to run Win'95
|
||||
applications. Bochs will allow you to run Win 95 and associated software on
|
||||
your Unix/X11 workstation, displaying a window on your workstation, simulating
|
||||
a monitor on a PC.
|
||||
|
||||
## Bochs Approach
|
||||
Bochs is an emulator - not virtualization software. It is portable across many
|
||||
architectures: x86, ARM, MIPS, etc. This means it must be able to emulate
|
||||
every CPU instruction.
|
||||
|
||||
This distinguishes Bochs from virtualization solutions like e.g. VirtualBox,
|
||||
VMWare, etc. Those projects provide a nice user experience and fast
|
||||
performance, at the cost of hardware constraints, some non-determinism and
|
||||
some necessary hacks to get programs working.
|
||||
|
||||
Bochs' emulation provides a controlled, accurate execution environment, at
|
||||
the cost of speed/performance. This can be advantageous in some situations,
|
||||
for example:
|
||||
* When developing an operating system or bootloader
|
||||
* When dealing with very old, mission-critical software
|
||||
* When reverse-engineering system-level code
|
||||
|
||||
For more information, see [the intro section](https://bochs.sourceforge.io/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=https://bochs.sourceforge.io/doc/docbook/user/index.html) in the user guide.
|
||||
|
||||
## Installing
|
||||
|
||||
You can download Bochs from the [project page on SourceForge](https://sourceforge.net/projects/bochs/files/bochs/2.7/). See the
|
||||
CHANGES file for details on the most recent releases.
|
||||
|
||||
## Usage
|
||||
See [the documentation](https://bochs.sourceforge.io/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=https://bochs.sourceforge.io/doc/docbook/).
|
||||
|
||||
## Contributing
|
||||
To get started, see [Bochs Developer Guide](https://bochs.sourceforge.io/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=https://bochs.sourceforge.io/doc/docbook/).
|
||||
|
||||
We currently need help with the below tasks. To help with one of these tasks, please contact Volker Ruppert or Stanislav Shwartsman.
|
||||
|
||||
### Bug Reports
|
||||
Mouse, interrupt controller, timer, IDE controller, network
|
||||
card, keyboard, VGA... Most of our bug reports and feature requests are due
|
||||
to incomplete C++ models of the various PC devices. To improve this, we
|
||||
need PC Hardware Gurus who know where to find the specs for this stuff and
|
||||
improve the hardware models for Bochs. Working on models is a fun way to
|
||||
learn how things work, and unlike designing a real hard disk, you can test
|
||||
out your changes on a real operating system immediately!
|
||||
|
||||
### Disk Images
|
||||
Our collection of disk images is getting out of date. It would be great to
|
||||
have small or large images of a variety of free operating systems.
|
||||
|
||||
### Documentation
|
||||
Adding installation help and other useful information into the docs.
|
||||
|
||||
|
||||
## Papers/Presentations
|
||||
|
||||
* Bochs was presented at ISCA-35 in Beijing, China at "The 1st Workshop on
|
||||
Architectural and Microarchitectural Support for Binary Translation" by a
|
||||
paper "Virtualization without direct execution - designing a portable VM".
|
||||
* [Paper](https://bochs.sourceforge.io/Virtualization_Without_Hardware_Final.pdf)
|
||||
* [Slides](http://bochs.sourceforge.net/VirtNoJit.pdf)
|
||||
|
||||
## Authors
|
||||
Bochs was originally written by Kevin Lawton and is currently maintained by this project.
|
Loading…
Reference in New Issue