- improved warnings for deprecated bochsrc options

- updated documentation after adding the ips parameter to the cpu option
- fixed special character (ampersand) in debugger documentation
This commit is contained in:
Volker Ruppert 2006-01-25 20:07:36 +00:00
parent 83b4f7ba05
commit 500f2b65b9
4 changed files with 141 additions and 131 deletions

View File

@ -88,8 +88,25 @@ romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
# without SMP support, it won't accept values different from 1.
#
# IPS:
# Emulated Instructions Per Second. See description under option IPS:
# more below.
# Emulated Instructions Per Second. This is the number of IPS that bochs
# is capable of running on your machine. You can recompile Bochs with
# --enable-show-ips option enabled, to find your workstation's capability.
# Measured IPS value will then be logged into your log file.
#
# IPS is used to calibrate many time-dependent events within the bochs
# simulation. For example, changing IPS affects the frequency of VGA
# updates, the duration of time before a key starts to autorepeat, and
# the measurement of BogoMips and other benchmarks.
#
# Examples:
# Machine Mips
# ________________________________________________________________
# 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15 Mips
# 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips
# 650Mhz Athlon K-7 with Linux 2.4.4/egcs-2.91.66 2 to 2.5 Mips
# 400Mhz Pentium II with Linux 2.0.36/egcs-1.0.3 1 to 1.8 Mips
# 166Mhz 64bit Sparc with Solaris 2.x approx 0.75 Mips
# 200Mhz Pentium with Linux 2.x approx 0.5 Mips
#=======================================================================
cpu: count=1, ips=10000000
@ -274,30 +291,6 @@ ata0-master: type=disk, mode=flat, path="30M.sample", cylinders=615, heads=6, sp
#boot: floppy
boot: disk
#=======================================================================
# IPS:
# Emulated Instructions Per Second. This is the number of IPS that bochs
# is capable of running on your machine. You can recompile Bochs with
# --enable-show-ips option enabled, to find your workstation's capability.
# Measured IPS value will then be logged into your log file.
#
# IPS is used to calibrate many time-dependent events within the bochs
# simulation. For example, changing IPS affects the frequency of VGA
# updates, the duration of time before a key starts to autorepeat, and
# the measurement of BogoMips and other benchmarks.
#
# Examples:
# Machine Mips
# ________________________________________________________________
# 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips
# 650Mhz Athlon K-7 with Linux 2.4.4/egcs-2.91.66 2 to 2.5 Mips
# 400Mhz Pentium II with Linux 2.0.36/egcs-1.0.3 1 to 1.8 Mips
# 166Mhz 64bit Sparc with Solaris 2.x approx 0.75 Mips
# 200Mhz Pentium with Linux 2.x approx 0.5 Mips
#
#=======================================================================
ips: 10000000
#=======================================================================
# CLOCK:
# This defines the parameters of the clock inside Bochs:
@ -482,7 +475,7 @@ parport1: enabled=1, file="parport.out"
# dmatimer:
# microseconds per second for a DMA cycle. Make it smaller to fix
# non-continuous sound. 750000 is usually a good value. This needs a
# reasonably correct setting for IPS.
# reasonably correct setting for the IPS parameter of the CPU option.
#
# For an example look at the next line:
#=======================================================================
@ -493,8 +486,8 @@ parport1: enabled=1, file="parport.out"
# VGA_UPDATE_INTERVAL:
# Video memory is scanned for updates and screen updated every so many
# virtual seconds. The default is 40000, about 25Hz. Keep in mind that
# you must tweak the 'ips:' directive to be as close to the number of
# emulated instructions-per-second your workstation can do, for this
# you must tweak the 'cpu: ips=N' directive to be as close to the number
# of emulated instructions-per-second your workstation can do, for this
# to be accurate.
#
# Examples:
@ -727,6 +720,13 @@ keyboard_mapping: enabled=0, map=
#=======================================================================
#gdbstub: enabled=0, port=1234, text_base=0, data_base=0, bss_base=0
#=======================================================================
# IPS:
# The IPS directive is DEPRECATED. Use the parameter IPS of the CPU
# directive instead.
#=======================================================================
#ips: 10000000
#=======================================================================
# for Macintosh, use the style of pathnames in the following
# examples.

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: config.cc,v 1.69 2006-01-23 18:39:10 sshwarts Exp $
// $Id: config.cc,v 1.70 2006-01-25 20:07:35 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -2742,9 +2742,9 @@ static Bit32s parse_line_formatted(char *context, int num_params, char *params[]
PARSE_ERR (("%s: keyboard_paste_delay not big enough!", context));
}
} else if (!strcmp(params[0], "floppy_command_delay")) {
PARSE_WARN(("%s: floppy_command_delay is deprecated (now using hardware timing).", context));
PARSE_WARN(("%s: floppy_command_delay is DEPRECATED (now using hardware timing).", context));
} else if (!strcmp(params[0], "ips")) {
PARSE_WARN(("%s: ips directive is deprecated (use cpu directive parameter 'ips').", context));
PARSE_WARN(("%s: ips directive is DEPRECATED (use cpu directive parameter 'ips').", context));
if (num_params != 2) {
PARSE_ERR(("%s: ips directive: wrong # args.", context));
}
@ -2904,9 +2904,9 @@ static Bit32s parse_line_formatted(char *context, int num_params, char *params[]
} else if (!strncmp(params[i], "option2=", 6)) {
bx_options.usb[idx].Ooption2->set (strdup(&params[i][6]));
} else if (!strncmp(params[i], "ioaddr=", 7)) {
PARSE_WARN(("%s: usb ioaddr is now deprecated (assigned by BIOS).", context));
PARSE_WARN(("%s: usb ioaddr is now DEPRECATED (assigned by BIOS).", context));
} else if (!strncmp(params[i], "irq=", 4)) {
PARSE_WARN(("%s: usb irq is now deprecated (assigned by BIOS).", context));
PARSE_WARN(("%s: usb irq is now DEPRECATED (assigned by BIOS).", context));
} else {
PARSE_WARN(("%s: unknown parameter '%s' for usb%d ignored.", context, params[i], idx+1));
}
@ -3114,9 +3114,9 @@ static Bit32s parse_line_formatted(char *context, int num_params, char *params[]
if (!strncmp(params[i], "enabled=", 8)) {
if (atol(&params[i][8]) == 0) valid |= 0x80;
} else if (!strncmp(params[i], "ioaddr=", 7)) {
PARSE_WARN(("%s: pnic ioaddr is now deprecated (assigned by BIOS).", context));
PARSE_WARN(("%s: pnic ioaddr is now DEPRECATED (assigned by BIOS).", context));
} else if (!strncmp(params[i], "irq=", 4)) {
PARSE_WARN(("%s: pnic irq is now deprecated (assigned by BIOS).", context));
PARSE_WARN(("%s: pnic irq is now DEPRECATED (assigned by BIOS).", context));
} else if (!strncmp(params[i], "mac=", 4)) {
n = sscanf(&params[i][4], "%x:%x:%x:%x:%x:%x",
&tmp[0],&tmp[1],&tmp[2],&tmp[3],&tmp[4],&tmp[5]);
@ -3245,11 +3245,11 @@ static Bit32s parse_line_formatted(char *context, int num_params, char *params[]
// Old timing options have been replaced by the 'clock' option
else if (!strcmp(params[0], "pit")) // Deprecated
{
PARSE_ERR(("WARNING: pit directive is deprecated, use clock: instead"));
PARSE_ERR(("ERROR: pit directive is DEPRECATED, use clock: instead"));
}
else if (!strcmp(params[0], "time0")) // Deprectated
{
PARSE_ERR(("WARNING: time0 directive is deprecated, use clock: instead"));
PARSE_ERR(("ERROR: time0 directive is DEPRECATED, use clock: instead"));
}
else
{

View File

@ -1,7 +1,7 @@
<!--
================================================================
doc/docbook/user/user.dbk
$Id: user.dbk,v 1.199 2006-01-24 22:00:07 sshwarts Exp $
$Id: user.dbk,v 1.200 2006-01-25 20:07:35 vruppert Exp $
This is the top level file for the Bochs Users Manual.
================================================================
@ -2419,7 +2419,8 @@ turn it off.
<entry>--enable-show-ips</entry>
<entry>no</entry>
<entry>
Enables logging of measured IPS, see <link linkend="bochsopt-ips">ips option</link>.
Enables logging of measured IPS, see the <command>ips</command> parameter
of the <link linkend="bochsopt-cpu">cpu option</link>.
</entry>
</row>
<row>
@ -3045,17 +3046,58 @@ Due to limitations in the host OS, Bochs fails to allocated even 1024MB on most
</para></note>
</section>
<section id="bochsopt-cpu-count"><title>cpu</title>
<section id="bochsopt-cpu"><title>cpu</title>
<para>
Examples:
<screen>
cpu: count=2
cpu: count=2, ips=10000000
</screen>
This defines the parameters of the cpu inside Bochs:
</para>
<para><command>count</command></para>
<para>
Set the number of processors when Bochs is compiled for SMP emulation.
Bochs currently supports up to 8 processors. If Bochs is compiled
without SMP support, it won't accept values different from 1.
For more information on SMP see <xref linkend="SMP">.
</para>
<para><command>ips</command></para>
<para>
Emulated Instructions Per Second. This is the number of IPS that Bochs is
capable of running on your machine. You can recompile Bochs with
<option>--enable-show-ips</option> option enabled, to find your workstation's capability.
Measured IPS value will then be logged into your <link linkend="bochsopt-log">log file</link>.
</para>
<para>
IPS is used to calibrate many time-dependent events within the Bochs
simulation. For example, changing IPS affects the frequency of VGA updates,
the duration of time before a key starts to autorepeat, and the measurement
of BogoMips and other benchmarks. The table below lists some typical
IPS settings for different machines<footnote><para>IPS measurements depend on
OS and compiler configuration in addition to processor clock
speed.</para></footnote>.
</para>
<table><title>Example IPS Settings</title>
<tgroup cols="3" align="left" colsep="1" rowsep="1">
<thead>
<row>
<entry>Speed</entry>
<entry>Machine</entry>
<entry>Typical IPS</entry>
</row>
</thead>
<tbody>
<row><entry>2.1Ghz</entry><entry>Athlon XP with Linux 2.6/g++ 3.4 </entry><entry> 12 to 15 million</entry></row>
<row><entry>1.6Ghz</entry><entry>Intel P4 with Win2000/g++ 3.3 </entry><entry> 5 to 7 million</entry></row>
<row><entry>650MHz</entry><entry>Athlon K-7 with Linux 2.4.x </entry><entry> 2 to 2.5 million</entry></row>
<row><entry>400MHz</entry><entry>Pentium II with Linux 2.0.x </entry><entry> 1 to 1.8 million</entry></row>
<row><entry>166MHz</entry><entry>64bit Sparc with Solaris 2.x </entry><entry> 0.75 million</entry></row>
<row><entry>200MHz</entry><entry>Pentium with Linux 2.x </entry><entry> 0.5 million</entry></row>
</tbody>
</tgroup>
</table>
</section>
<section><title>romimage</title>
@ -3702,8 +3744,9 @@ are in the usual "property=value" format.
<listitem><para>
dmatimer: Microseconds per second for a DMA cycle. Make it smaller to fix
non-continuous sound. 750000 is usually a good value. This needs a reasonably
correct setting for the <link linkend="bochsopt-ips">ips option</link>. It is
possible to adjust the dmatimer value at runtime.
correct setting for the <command>ips</command> paramter of the
<link linkend="bochsopt-cpu">cpu option</link>. It is possible to adjust the
dmatimer value at runtime.
</para></listitem>
</itemizedlist>
</para>
@ -3717,9 +3760,10 @@ Examples:
vga_update_interval: 250000
</screen>
Video memory is scanned for updates and screen updated every so many virtual
microseconds. Keep in mind that you must tweak the <link linkend="bochsopt-ips">ips option</link>
to be as close to the number of emulated instructions-per-second your workstation
can do, for this to be accurate.
microseconds. Keep in mind that you must tweak the <command>ips</command>
parameter of the <link linkend="bochsopt-cpu">cpu option</link> to be as close
to the number of emulated instructions-per-second your workstation can do,
for this to be accurate.
</para>
</section>
@ -3749,47 +3793,16 @@ consistently in Windows.
</para>
</section>
<section id="bochsopt-ips"><title>ips</title>
<section><title>ips</title>
<para>
Examples:
<screen>
ips: 2000000 # default
ips: 10000000
</screen>
Emulated Instructions Per Second. This is the number of IPS that Bochs is
capable of running on your machine. You can recompile Bochs with
<option>--enable-show-ips</option> option enabled, to find your workstation's capability.
Measured IPS value will then be logged into your <link linkend="bochsopt-log">log file</link>.
Emulated Instructions Per Second. This option is deprecated. Use the <command>ips</command>
parameter of the <link linkend="bochsopt-cpu">cpu option</link> instead.
</para>
<para>
IPS is used to calibrate many time-dependent events within the Bochs
simulation. For example, changing IPS affects the frequency of VGA updates,
the duration of time before a key starts to autorepeat, and the measurement
of BogoMips and other benchmarks. The table below lists some typical
IPS settings for different machines<footnote><para>IPS measurements depend on
OS and compiler configuration in addition to processor clock
speed.</para></footnote>.
</para>
<table><title>Example IPS Settings</title>
<tgroup cols="3" align="left" colsep="1" rowsep="1">
<thead>
<row>
<entry>Speed</entry>
<entry>Machine</entry>
<entry>Typical IPS</entry>
</row>
</thead>
<tbody>
<row><entry>650MHz</entry><entry>Athlon K-7 with Linux 2.4.x </entry><entry> 2 to 2.5 million</entry></row>
<row><entry>400MHz</entry><entry>Pentium II with Linux 2.0.x </entry><entry> 1 to 1.8 million</entry></row>
<row><entry>166MHz</entry><entry>64bit Sparc with Solaris 2.x </entry><entry> 0.75 million</entry></row>
<row><entry>200MHz</entry><entry>Pentium with Linux 2.x </entry><entry> 0.5 million</entry></row>
</tbody>
</tgroup>
</table>
</section>
<section id="bochsopt-clock"><title>clock</title>
@ -5549,8 +5562,8 @@ shift or control) to restore the screen.
<para>
There are two strategies to fix this problem. One is to increase the
<link linkend="bochsopt-ips">ips setting</link> in your configuration file.
This will cause the simulation time
<command>ips</command> parameter of the <link linkend="bochsopt-cpu">cpu option</link>
in your configuration file. This will cause the simulation time
to pass more slowly. The other strategy is to enable the experimental
realtime PIT, which tries to keep Bochs in sync with real time. See the <filename>bochsrc</filename>
option <link linkend="bochsopt-clock">clock</link>.
@ -5672,7 +5685,7 @@ an SMP machine to see what it looks like.
</para>
<para>
Starting with Bochs 2.2.6 you can set up the number of processors in the
<filename>bochsrc</filename>. See <xref linkend="bochsopt-cpu-count"> how to
<filename>bochsrc</filename>. See <xref linkend="bochsopt-cpu"> how to
set up the number of processors.
</para>
<para>
@ -6262,7 +6275,7 @@ From here, you may use the following commands:
end of less than start (or zero) if you only
want the first instruction disassembled.
disassemble switch-mode Switch between Intel and AT&T disassebly styles
disassemble switch-mode Switch between Intel and AT&amp;T disassebly styles
for debugger disassembler.
disassemble size = n Tell debugger what segment size to use when
@ -8320,7 +8333,7 @@ debug: action=ignore
vga_update_interval: 300000
keyboard_serial_delay: 250
keyboard_paste_delay: 100000
ips: 1000000
cpu: ips=1000000
mouse: enabled=0
private_colormap: enabled=0
fullscreen: enabled=0
@ -9900,7 +9913,7 @@ add the following line to your <filename>.bochsrc</filename>:
</para>
<programlisting>
ips: 1000000
cpu: ips=1000000
</programlisting>
<para>
@ -10075,9 +10088,9 @@ D:\WIN98>
</programlisting>
<para>
It is now time to comment out the "ips: 1000000" line in your ~/win98/.bochsrc file. Close Bochs
by clicking the Bochs power button with your mouse.
Open up ~/win98/.bochsrc with your favorite editor and put a hash (#) mark in front of the ips line.
It is now time to comment out the "cpu: ips=1000000" line in your ~/win98/.bochsrc file.
Close Bochs by clicking the Bochs power button with your mouse. Open up ~/win98/.bochsrc
with your favorite editor and put a hash (#) mark in front of the cpu line.
</para>
<para>
@ -10298,7 +10311,7 @@ Parts/Attachments:
value in bochsrc.txt. I raised the IPS value until setup stop
complaining. In my machine (P3 @ 450MHz), I achieved this with
ips: 500000000
cpu: ips=500000000
This this IPS value, the keyboard and mouse are updated each
100 seconds. This makes very difficult to type the CD-KEY numbers,
@ -10542,7 +10555,7 @@ floppy_bootsig_check: disabled=0
vga_update_interval: 300000
keyboard_serial_delay: 250
keyboard_paste_delay: 100000
ips: 3000000
cpu: ips=3000000
clock: sync=realtime, time0=0
text_snapshot_check: 0
mouse: enabled=0

View File

@ -1,5 +1,5 @@
.\"Document Author: Timothy R. Butler - tbutler@uninetsolutions.com"
.TH bochsrc 5 "22 Jan 2006" "bochsrc" "The Bochs Project"
.TH bochsrc 5 "25 Jan 2006" "bochsrc" "The Bochs Project"
.\"SKIP_SECTION"
.SH NAME
bochsrc \- Configuration file for Bochs.
@ -117,8 +117,33 @@ without SMP support, it won't accept values different from 1.
ips:
Emulated Instructions Per Second. See description under option 'ips:'
more below.
Emulated Instructions Per Second. This is the
number of IPS that Bochs is capable of running
on your machine. You can recompile Bochs with
--enable-show-ips option enabled, to find your
workstation's capability. Measured IPS value
will then be logged into your log file.
IPS is used to calibrate many time-dependent
events within the bochs simulation. For
example, changing IPS affects the frequency of
VGA updates, the duration of time before a key
starts to autorepeat, and the measurement of
BogoMips and other benchmarks.
Example Specifications[1]
Machine Mips
---------------------------------------------------
2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15
1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7
650Mhz Athlon K-7 with Linux 2.4.x 2 to 2.5
400Mhz Pentium II with Linux 2.0.x 1 to 1.8
166Mhz 64bit Sparc with Solaris 2.x approx 0.75
200Mhz Pentium with Linux 2.x approx 0.5
[1] IPS measurements depend on OS and compiler
configuration in addition to processor clock
speed.
Example:
cpu: count=2, ips=10000000
@ -491,12 +516,11 @@ It is possible to change the loglevel at runtime.
dmatimer:
Microseconds per second for a DMA cycle. Make
it smaller to fix non-continuous sound. 750000
is usually a good value. This needs a
reasonably correct setting for IPS (see
below). It is possible to adjust the dmatimer
at runtime.
Microseconds per second for a DMA cycle. Make it smaller
to fix non-continuous sound. 750000 is usually a good
value. This needs a reasonably correct setting for
the IPS parameter of the CPU option. It is possible to
adjust the dmatimer at runtime.
Example:
sb16: midimode=1, midi=/dev/midi00,
@ -513,7 +537,7 @@ one line in the actual bochsrc file.
Video memory is scanned for updates and screen updated
every so many virtual seconds. The default value is
40000, about 25Hz. Keep in mind that you must tweak
the 'ips:' directive to be as close to the number of
the 'cpu: ips=N' directive to be as close to the number of
emulated instructions-per-second your workstation can
do, for this to be accurate.
@ -547,35 +571,8 @@ Example:
.TP
.I "ips:"
Emulated Instructions Per Second. This is the
number of IPS that Bochs is capable of running
on your machine. You can recompile Bochs with
--enable-show-ips option enabled, to find your
workstation's capability. Measured IPS value
will then be logged into your log file.
IPS is used to calibrate many time-dependent
events within the bochs simulation. For
example, changing IPS affects the frequency of
VGA updates, the duration of time before a key
starts to autorepeat, and the measurement of
BogoMips and other benchmarks.
Example Specifications[1]
Machine Mips
---------------------------------------------------
1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips
650Mhz Athlon K-7 with Linux 2.4.x 2 to 2.5
400Mhz Pentium II with Linux 2.0.x 1 to 1.8
166Mhz 64bit Sparc with Solaris 2.x 0.75
200Mhz Pentium with Linux 2.x 0.5
[1] IPS measurements depend on OS and compiler
configuration in addition to processor clock
speed.
Example:
ips: 1000000
Emulated Instructions Per Second. This option is deprecated.
Use the CPU paramter IPS instead (cpu: ips=N).
.TP
.I "clock:"