- applied patch included in documentation request #1091262 by Alexander Schuch

* updated description for bochsrc options com[1-4], mouse, i440fxsupport
  * added description for bochsrc option 'gdbstub'
- updated syntax of bochsrc option 'vgaromimage'
- updated remark for the usage of the LGPL'd VGABIOS and Windows NT 4.0
- updated some descriptions in the bochsrc sample
This commit is contained in:
Volker Ruppert 2004-12-29 12:27:12 +00:00
parent dc70d6a47b
commit fb19ad1b75
2 changed files with 113 additions and 77 deletions

View File

@ -513,8 +513,9 @@ floppy_command_delay: 500
# mouse button on X11, SDL, wxWidgets and Win32).
# With the new mouse type option you can select the type of mouse to emulate.
# The default value is 'ps2'. The other choices are 'imps2' (wheel mouse
# on PS/2), 'serial' and 'serial_wheel' (one com port requires setting
# 'mode=mouse').
# on PS/2), 'serial', 'serial_wheel' (one com port requires setting
# 'mode=mouse') and 'usb' (3-button mouse on USB port #1 - requires PCI and
# USB support).
#
# Examples:
# mouse: enabled=1
@ -635,7 +636,8 @@ keyboard_mapping: enabled=0, map=
# This option controls the usage of the i440FX PCI chipset. You can also
# specify the devices connected to PCI slots. Up to 5 slots are available
# now. These devices are currently supported: ne2k, pcivga, pcidev and
# pcipnic.
# pcipnic. If Bochs is compiled with Cirrus SVGA support you'll have the
# choice 'cirrus' instead of 'pcivga'.
#
# Example:
# i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k

View File

@ -1,7 +1,7 @@
<!--
================================================================
doc/docbook/user/user.dbk
$Id: user.dbk,v 1.156 2004-12-25 09:31:09 vruppert Exp $
$Id: user.dbk,v 1.157 2004-12-29 12:27:12 vruppert Exp $
This is the top level file for the Bochs Users Manual.
================================================================
@ -787,7 +787,7 @@ Steve Chamberlain and now maintained by RedHat. Download it from--you guessed i
Does Bochs support a CD-ROM?
</para></question>
<answer><para>
Yes, a CD-ROM is supported in Linux, Windows, BeOS, and OpenBSD. The
Yes, a CD-ROM is supported in Linux, Windows, BeOS, and most BSDs. The
CD-ROM drivers for Bochs allow the guest operating system to access the
host operating system's CD-ROM data directly.
</para></answer>
@ -2972,8 +2972,8 @@ in the simulation, that can be retrieved by the boot loader
<para>
Examples:
<screen>
vgaromimage: bios/VGABIOS-elpin-2.40
vgaromimage: bios/VGABIOS-lgpl-latest
vgaromimage: file=bios/VGABIOS-elpin-2.40
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
</screen>
You also need to load a VGA ROM BIOS at 0xC0000.
</para>
@ -3370,41 +3370,52 @@ If you really don't want it, make it '/dev/null', or '-'.
</para>
</section>
<section><title>com1</title>
<para>
Specifies the device to use as com1. This can be a real serial line, or
a pty. To use a pty (under X/Unix), create two windows (xterms,
usually). One of them will run bochs, and the other will act as com1.
Find out the tty the com1 window using the `tty' command, and use that
as the `dev' parameter. Then do `sleep 1000000' in the com1 window to
keep the shell from messing with things, and run bochs in the other
window. Serial I/O to com1 (port 0x3f8) will all go to the other
window.
</para>
<section id="bochsopt-com">
<title>com[1-4]</title>
<para>
Examples:
<screen>
com1: dev=/dev/ttyp9
com1: dev=/dev/cua0
com1: enabled=1, mode=null
com1: enabled=1, mode=mouse
com1: enabled=1, mode=term, dev=/dev/ttyp9
com2: enabled=1, mode=file, dev=serial.out
com3: enabled=1, mode=raw, dev=com1
</screen>
This defines a serial port (UART type 16550A).
</para>
<para>
When using the mode 'term', you can specify a device to use as com1.
This can be a real serial line, or a pty. To use a pty (under X/Unix),
create two windows (xterms, usually). One of them will run Bochs, and
the other will act as com1. Find out the tty of the com1 window using
the `tty' command, and use that as the `dev' parameter. Then do
`sleep 1000000' in the com1 window to keep the shell from messing with
things, and run Bochs in the other window. Serial I/O to com1 (port 0x3f8)
will all go to the other window.
</para>
<para>
Other serial modes are 'null' (no input/output), 'file' (output to a file
specified as the 'dev' parameter), 'raw' (use the real serial port - under
construction for win32) and 'mouse' (standard serial mouse - requires
<link linkend="bochsopt-mouse">mouse option</link> setting 'type=serial'
or 'type=serial_wheel').
</para>
</section>
<section><title>parport1</title>
<para>
This defines a parallel (printer) port. When turned on and an output file is
defined emulated printer port sends characters printed by the guest OS into
the output file. On some platforms a device filename can be used to send the
data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on
win32 platforms).
</para>
<section>
<title>parport[1-2]</title>
<para>
Examples:
<screen>
parport1: enabled=1, file="parport.out"
parport1: enabled=1, file="/dev/lp0"
parport1: enabled=0
parport1: enabled=1, file="parport.out"
parport2: enabled=1, file="/dev/lp0"
parport1: enabled=0
</screen>
This defines a parallel (printer) port. When turned on and an output file is
defined, the emulated printer port sends characters printed by the guest OS
into the output file. On some platforms, a device filename can be used to
send the data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on
win32 platforms).
</para>
</section>
@ -3612,20 +3623,30 @@ Default value are sync=none, time0=local
</section>
<section><title>mouse</title>
<section id="bochsopt-mouse">
<title>mouse</title>
<para>
Examples:
<screen>
mouse: enabled=1
mouse: enabled=1, type=imps2
mouse: enabled=1, type=serial
mouse: enabled=0
</screen>
This option prevents Bochs from creating mouse "events" unless a mouse is
enabled. The hardware emulation itself is not disabled by this. You can
turn the mouse on by setting enabled to 1, or turn it off by setting
enabled to 0. Unless you have a particular reason for enabling the mouse
This option prevents Bochs from creating mouse "events" unless a mouse is
enabled. The hardware emulation itself is not disabled by this. You can
turn the mouse on by setting enabled to 1, or turn it off by setting
enabled to 0. Unless you have a particular reason for enabling the mouse
by default, it is recommended that you leave it off. You can also toggle the
mouse usage at runtime (see <link linkend="headerbar">headerbar</link>).
</para>
<para>
With the mouse type option you can select the type of mouse to emulate.
The default value is 'ps2'. The other choices are 'imps2' (wheel mouse
on PS/2), 'serial', 'serial_wheel' (one com port requires setting
'mode=mouse', see <link linkend="bochsopt-com">com option</link>) and
'usb' (3-button mouse on USB port #1 - requires PCI and USB support).
</para>
</section>
<section><title>private_colormap</title>
@ -3646,14 +3667,19 @@ and 0 turns it off.
Examples:
<screen>
i440fxsupport: enabled=1
i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k
</screen>
Enables limited i440fx PCI chipset support.
This option controls the usage of the i440FX PCI chipset. You can also
specify the devices connected to PCI slots. Up to 5 slots are available.
These devices are currently supported: ne2k, pcivga, pcidev and pcipnic.
If Bochs is compiled with Cirrus SVGA support you'll have the choice 'cirrus'
instead of 'pcivga'.
</para>
</section>
<section><title>pcidev</title>
<para>
Examples:
Example:
<screen>
pcidev: vendor=0xbabe, device=0x2bad
</screen>
@ -3678,7 +3704,7 @@ located in the <constant>bochs/host/linux/pcidev/</constant> directory.
<section><title>usb1</title>
<para>
Examples:
Example:
<screen>
usb1: enabled=1, ioaddr=0xFF80, irq=10
</screen>
@ -3686,6 +3712,21 @@ Enables the i440fx PCI USB root hub. PCI support must be enabled, too.
</para>
</section>
<section id="bochsopt-gdbstub">
<title>gdbstub</title>
<para>
Example:
<screen>
gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0
</screen>
Default:
<screen>
gdbstub: enabled=0
</screen>
This enables the GDB stub. See <xref linkend="debugging-with-gdb">.
</para>
</section>
<section><title>ne2k</title>
<para>
The ne2k line configures an emulated NE2000-compatible Ethernet adapter,
@ -4526,7 +4567,8 @@ behavoiur of Bochs at runtime if you click on one of these buttons:
capturing again. In this case, use "Ctrl+3rd mouse button" to disable it.
</para>
<para>&FIXME; Support for 2 button mouse to toggle the capture mode not yet complete.
Some display libraries still don't support the new feature.</para>
Some display libraries still don't support the new feature, but
it is already supported on X11, SDL, wxWidgets and Win32.</para>
</listitem>
<listitem>
<para>user button</para>
@ -5667,15 +5709,15 @@ Some of the other options in this group is probably also needed,
</section>
<section id="internal-debugger">
<title> Using Bochs internal debugger </title>
<title>Using Bochs internal debugger</title>
<para>
Note, if you are looking for a graphical front-end for the
bochs debugger, you may want to check out
<ulink url="http://www.qzx.com/bfe/">BFE</ulink>. &nbsp;This is a
package written by a bochs user which can interface with
the text based bochs debugger. No linking is necessary.
It's not part of bochs, but you may find it useful.
<ulink url="http://www.qzx.com/bfe/">BFE</ulink>. This is a
package written by a Bochs user which can interface with
the text based Bochs debugger. No linking is necessary.
It's not part of Bochs, but you may find it useful.
</para>
<para>
@ -6070,24 +6112,20 @@ Related links
</itemizedlist>
</para>
</section>
</section> <!-- Using Bochs internal debugger -->
</section><!-- end: Using Bochs internal debugger -->
<section id="debugging-with-gdb">
<title>
Using Bochs and the remote GDB stub
</title>
<title>Using Bochs and the remote GDB stub</title>
<para>
This section covers how you can use Bochs with a remote GDB stub to debug your kernel.
</para>
<section>
<title>
Configuring Bochs
</title>
<title>Configuring Bochs</title>
<para>
The GDB stub is not active in standard Bochs binary package. So you must recompile Bochs.
Download the Bochs source package, untar it and run the configure script
with the <command>`--enable-gdb-stub'</command> argument.
The GDB stub is not active in standard Bochs binary package. So you must recompile Bochs.
Download the Bochs source package, unpack it and run the configure script
with the <command>--enable-gdb-stub</command> argument.
<screen>
$ ./configure --enable-gdb-stub
@ -6098,20 +6136,16 @@ After that, just run make and you should have a Bochs binary that contain a GDB
</section>
<section>
<title>
Running Bochs
</title>
<title>Running Bochs</title>
<para>
Enable the gdbstub option in bochsrc, then just start Bochs as normal. Bochs will stop and wait for GDB to connect to the stub.
Enable the <link linkend="bochsopt-gdbstub">gdbstub option</link> in <filename>bochsrc</filename>, then just start Bochs as normal. Bochs will stop and wait for GDB to connect to the stub.
</para>
</section>
<section>
<title>
Running GDB
</title>
<title>Running GDB</title>
<para>
Bochs GDB stub waits for a connection on port 1234 on localhost (127.0.0.1). Just start GDB like this;
Bochs GDB stub waits for a connection on port 1234 on localhost (127.0.0.1). Just start GDB like this:
<screen>
$ gdb YOUR-KERNEL
@ -6121,19 +6155,19 @@ Bochs GDB stub waits for a connection on port 1234 on localhost (127.0.0.1). Jus
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
0x0000fff0 in ?? ()
(gdb)
(gdb)
</screen>
You are now connected to the remote GDB stub in Bochs. You are now able to set breakpoints.
You are now connected to the remote GDB stub in Bochs. You are now able to set breakpoints.
Use the continue (c) command to continue the simulation.
Hitting ^C works. Example;
Hitting ^C works. Example:
<screen>
Program received signal 0, Signal 0.
syscall_testsuite_result (aux=0x1f11fe4) at ../rtmk/syscalls.c:33
33 {
(gdb)
(gdb)
</screen>
</para>
</section>
@ -6286,15 +6320,15 @@ dlx login:
</section>
<section id="bios-tips">
<title>Bios Tips</title>
<title>BIOS Tips</title>
<section>
<title>Booting from cdroms</title>
<title>Booting from CD-ROMs</title>
<para>
A bootable cdrom has a special layout that is detected by the
bios boot loader code, and executed if it conforms the specifications.
A bootable CD-ROM has a special layout that is detected by the
BIOS boot loader code, and executed if it conforms the specifications.
This layout is called "El Torito Bootable CD-ROM Format Specification"
and has been published by Phoenix and IBM. A copy of this spec is on
Bochs tech specs page at http://bochs.sourceforge.net/techdata.html.
and has been published by Phoenix and IBM. A copy of this spec is on
<ulink url="http://bochs.sourceforge.net/techdata.html">Bochs tech specs page</ulink>.
</para>
<para>
El Torito specifies 3 ways to have a bootable cd :
@ -6310,7 +6344,7 @@ arbitrary number of sectors straight into memory, and execute it
</para></listitem>
<listitem><para>
Harddisk emulation : a hard disk image in burnt inside the cd. The
Bios has to redirect all hard disk accesses to that image. The rel hard disks
BIOS has to redirect all hard disk accesses to that image. The rel hard disks
are still available, with bios numbers #81 and up.
</para></listitem>
</itemizedlist>
@ -8628,9 +8662,9 @@ Here are the known issues about installing and running Windows NT4.0 :
<itemizedlist>
<listitem>
<para>
at the moment, you can not use the LGPL VGABios to install Windows NT 4.0
(you'll get a black screen after first reboot). The solution is to use the
Elpin VGABios.
If you want to use the LGPL'd VGABIOS to install Windows NT 4.0 you'll need
version 0.4c or higher. With older versions you'll get a black screen after
first reboot.
</para>
</listitem>
<listitem>