mirror of
https://github.com/sunym1993/flash-linux0.11-talk.git
synced 2026-02-02 18:21:15 +08:00
bochs inside
This commit is contained in:
BIN
一些非必要的资料/linux-0.11-quickstart.rar
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart.rar
Normal file
Binary file not shown.
Binary file not shown.
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/BIOS-bochs-latest
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/BIOS-bochs-latest
Normal file
Binary file not shown.
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/BIOS-bochs-legacy
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/BIOS-bochs-legacy
Normal file
Binary file not shown.
2709
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/CHANGES.txt
Normal file
2709
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/CHANGES.txt
Normal file
File diff suppressed because it is too large
Load Diff
504
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/COPYING.txt
Normal file
504
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/COPYING.txt
Normal file
@@ -0,0 +1,504 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
|
||||
|
||||
7
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/LICENSE.txt
Normal file
7
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/LICENSE.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
The following points clarify the Bochs license:
|
||||
|
||||
1) Bochs as a whole is released under the GNU Lesser General Public License
|
||||
|
||||
2) Parts of Bochs have specific licenses which are compatible with the
|
||||
GNU Lesser General Public License. Hence each source file contains its
|
||||
own licensing information.
|
||||
84
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/README.txt
Normal file
84
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/README.txt
Normal file
@@ -0,0 +1,84 @@
|
||||
Bochs x86 Pentium+ Emulator
|
||||
Updated: Mon Dec 24 10:52:00 CET 2007
|
||||
Version: 2.3.6
|
||||
|
||||
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. Currently, Bochs can be compiled to emulate a 386, 486,
|
||||
Pentium/PentiumII/PentiumIII/Pentium4 or x86-64 CPU, including optional
|
||||
MMX, SSEx and 3DNow! instructions. Bochs is capable of running
|
||||
most Operating Systems inside the emulation, for example Linux, DOS,
|
||||
Windows 95/98/NT/2000/XP or Windows Vista.
|
||||
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 CVS to get the latest sources, or grab a CVS
|
||||
snapshot which is updated nightly. The releases contain the most
|
||||
stable code, but if you want the very newest features try the
|
||||
CVS 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 CVS
|
||||
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 CVS. 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.
|
||||
@@ -0,0 +1,16 @@
|
||||
SeaBIOS is an open source implementation of a 16bit X86 BIOS. SeaBIOS
|
||||
can run in an emulator or it can run natively on X86 hardware with the
|
||||
use of coreboot (http://www.coreboot.org/).
|
||||
|
||||
SeaBIOS is the default BIOS for qemu (http://www.qemu.org/) and
|
||||
kvm (http://www.linux-kvm.org/).
|
||||
|
||||
The coreboot SeaBIOS (http://www.coreboot.org/SeaBIOS) page has
|
||||
information on using SeaBIOS in coreboot. Please see the
|
||||
releases page for information on recent releases. See the
|
||||
download page to obtain SeaBIOS.
|
||||
|
||||
SeaVGABIOS is a sub-project of SeaBIOS.
|
||||
|
||||
Please join the mailing list to contribute to SeaBIOS. Information on
|
||||
the internals of SeaBIOS is available on the Developer Documentation page.
|
||||
@@ -0,0 +1,35 @@
|
||||
SeaVGABIOS is a sub-project of the SeaBIOS project - it is an open
|
||||
source implementation of a 16bit X86 VGA BIOS
|
||||
(http://en.wikipedia.org/wiki/Video_BIOS). SeaVGABIOS is the
|
||||
default VGA BIOS on QEMU (http://www.qemu.org/). SeaVGABIOS can also
|
||||
run natively on some X86 VGA hardware with coreboot (http://www.coreboot.org/).
|
||||
|
||||
Building SeaVGABIOS
|
||||
===================
|
||||
|
||||
To build SeaVGABIOS, obtain the code, run `make
|
||||
menuconfig` and select the type of VGA BIOS to build in the "VGA ROM"
|
||||
menu. Once selected, run `make` and the final VGA BIOS binary will be
|
||||
located in "out/vgabios.bin".
|
||||
|
||||
The choice of available VGA BIOSes within "make menuconfig" is
|
||||
dependent on whether CONFIG_QEMU, CONFIG_COREBOOT, or CONFIG_CSM is
|
||||
selected. Also, the debug options under the "Debugging" menu apply to
|
||||
SeaVGABIOS. All other options found in "make menuconfig" apply only to
|
||||
SeaBIOS and will not impact the SeaVGABIOS build.
|
||||
|
||||
If SeaVGABIOS is needed for multiple different devices (eg, QEMU's
|
||||
cirrus emulation and QEMU's "dispi" emulation), then one must compile
|
||||
SeaVGABIOS multiple times with the appropriate config for each build.
|
||||
|
||||
SeaVGABIOS code
|
||||
===============
|
||||
|
||||
The source code for SeaVGABIOS is located in the SeaBIOS
|
||||
git repository. The main VGA BIOS code is located in the "vgasrc/"
|
||||
directory. The VGA BIOS code is always compiled in 16bit mode.
|
||||
|
||||
The SeaVGABIOS builds to a separate binary from the main SeaBIOS
|
||||
binary, and much of the VGA BIOS code is separate from the main BIOS
|
||||
code. However, much of the SeaBIOS developer documentation applies to
|
||||
SeaVGABIOS. To contribute, please join the SeaBIOS mailing list.
|
||||
124
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/TESTFORM.txt
Normal file
124
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/TESTFORM.txt
Normal file
@@ -0,0 +1,124 @@
|
||||
-------------------------------------------------------------
|
||||
BOCHS TESTING FORM Version 0.3
|
||||
-------------------------------------------------------------
|
||||
|
||||
Because of the variety of platforms and configurations that Bochs
|
||||
supports, it is difficult for any one person to test it thoroughly.
|
||||
This form is intended to help the Bochs developers keep track of test
|
||||
results from different sources. To avoid confusion, this form should
|
||||
be submitted once for each combination of host OS and guest OS you
|
||||
try. For example: your host OS is Debian Linux and you get both Win95
|
||||
and FreeDOS to start up. You would send one form for
|
||||
Win95-under-Debian and a second form for FreeDOS-under-Debian. In
|
||||
this case it would save time to fill in the host OS part, copy it a
|
||||
few times and fill out the guest OS part for each copy.
|
||||
|
||||
To fill in a blank such as [__], replace the underlines and leave
|
||||
the brackets. Example: [Sun Ultrasparc 10]. To fill in a
|
||||
multiple-choice, just put an X in the brackets. Example: [X]
|
||||
Mail completed forms to bochs-testing@tlw.com.
|
||||
|
||||
|
||||
What is the date?
|
||||
[__]
|
||||
|
||||
What is your name?
|
||||
[__]
|
||||
|
||||
What is your email address?
|
||||
[__]
|
||||
|
||||
Do you mind if your name and email address are placed on a testing results
|
||||
web page so that people with a similar setup can write to you?
|
||||
[ ] Ok, put it on a web page
|
||||
[ ] No, keep my address private.
|
||||
|
||||
What type of hardware are you using, e.g. 500MHz Intel Celeron.
|
||||
[__]
|
||||
|
||||
What operating system are you using? Please be specific, e.g.
|
||||
Redhat Linux 6.2 with 2.2.16 kernel.
|
||||
[__]
|
||||
|
||||
What version of bochs are you using?
|
||||
[ ] compiled from version 2.1.1
|
||||
[ ] compiled from version [_____]
|
||||
[ ] I compiled it from the CVS sources from date: [__]
|
||||
[ ] other source distribution from URL: [__]
|
||||
[ ] binary distribution from URL: [__]
|
||||
|
||||
Please fill in the next few questions only if you compiled Bochs
|
||||
yourself, as opposed to downloading a binary.
|
||||
|
||||
Did the configure script run ok, and detect your hardware and
|
||||
operating system?
|
||||
[ ] Yes
|
||||
[ ] No, configure crashed.
|
||||
[ ] No, configure ran ok but produced a bad configuration.
|
||||
[ ] No, I cannot run configure on my platform (win32 and mac).
|
||||
|
||||
If you used configure, what arguments did you give it? If you used a
|
||||
.conf.* script, give the name of the .conf script instead.
|
||||
[__]
|
||||
|
||||
What compiler did you use? (Please include version.)
|
||||
[__]
|
||||
|
||||
Did Bochs compile clean without any hacking?
|
||||
[ ] Yes
|
||||
[ ] No
|
||||
|
||||
If you had to make changes to compile, please summarize the problems you
|
||||
had or include diffs.
|
||||
[__]
|
||||
|
||||
End of compile-specific questions!
|
||||
|
||||
What guest operating system are you using inside bochs?
|
||||
[__]
|
||||
|
||||
Are you booting from a floppy or hard disk?
|
||||
[ ] floppy image
|
||||
[ ] raw floppy drive
|
||||
[ ] hard drive image
|
||||
[ ] raw hard drive (is this even possible?)
|
||||
[ ] other [__]
|
||||
|
||||
Did the guest operating system boot successfully?
|
||||
[ ] Yes
|
||||
[ ] No
|
||||
|
||||
If no, what error messages do you see on the console or in the log file?
|
||||
[__]
|
||||
|
||||
What applications worked under this guest operating system?
|
||||
[__]
|
||||
|
||||
What applications failed under this guest operating system? Did the
|
||||
application function incorrectly, crash Bochs, or what? If you got a
|
||||
panic, paste in the panic message that you received with some
|
||||
description of what was happening at the time.
|
||||
[__]
|
||||
|
||||
The remaining questions are about Bochs features that you may not have
|
||||
used. If you tried out the feature, move the X to the "works" or
|
||||
"fails" column.
|
||||
|
||||
Not Works
|
||||
tested ok Fails Comments?
|
||||
keyboard [ ] [ ] [ ] [__]
|
||||
floppy disk [X] [ ] [ ] [__]
|
||||
raw floppy disk [X] [ ] [ ] [__]
|
||||
hard disk [X] [ ] [ ] [__]
|
||||
floating point [X] [ ] [ ] [__]
|
||||
mouse [X] [ ] [ ] [__]
|
||||
cdrom [X] [ ] [ ] [__]
|
||||
sb16 [X] [ ] [ ] [__]
|
||||
ne2000 [X] [ ] [ ] [__]
|
||||
i440FX pci [X] [ ] [ ] [__]
|
||||
debugger [X] [ ] [ ] [__]
|
||||
external loader [X] [ ] [ ] [__]
|
||||
VGA [X] [ ] [ ] [__]
|
||||
|
||||
Thank you for your contribution in the Bochs testing effort! Please
|
||||
mail completed forms to bochs-testing@tlw.com.
|
||||
270
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/TODO.txt
Normal file
270
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/TODO.txt
Normal file
@@ -0,0 +1,270 @@
|
||||
This is the "roadmap" posted in the mailing list, augmented by
|
||||
comments from the mailing list and the irc chat.
|
||||
Anybody is welcome to work on any of these issues. Some of
|
||||
these items are rather simple and can be implemented by single
|
||||
individuals. Other items are quite complex and development needs
|
||||
to be coordonated. So, if you want to contribute, please drop
|
||||
us a note in the mailing list, so you can get help or exchange
|
||||
ideas.
|
||||
Christophe Bothamy.
|
||||
|
||||
0. Donations
|
||||
Source Forge recently set up a donation system for hosted projects.
|
||||
Should we accept donations ? What could we do with the money ?
|
||||
- give to EFF, FSF or other
|
||||
- fund Kevin to continue the work on plex86 so we can use it
|
||||
- bounties for somebody write optimized win9x/NT/XFree/linux/*BSD
|
||||
drivers for our vga/net/ide cards
|
||||
- other ?
|
||||
Status in Bochs 2.3:
|
||||
No decisions about this yet.
|
||||
|
||||
1. Speed
|
||||
Speed (well lack of) is one of the biggest criticism made by users
|
||||
who'd like to see Bochs run as fast as Virtual PC.
|
||||
Paths we can explore to get more speed :
|
||||
4.1 virtualization : plex86
|
||||
4.2 dynamic translation : qemu, patch from h.johansson
|
||||
Status:
|
||||
Some work has been done for Bochs 2.3.6 but still long way is ahead.
|
||||
|
||||
2. Plugin architecture
|
||||
2.1 The plugin architecture can be reworked if we want to support
|
||||
multiple similar devices like seral net or vga cards.
|
||||
We currently have two "types" of plugins: "core" and "optional".
|
||||
Maybe we could add "classes" of plugins. The current version of
|
||||
Bochs supports the classes "display_library" and "io_device".
|
||||
New classes can be "config_interface", "net_lowlevel" and
|
||||
"sound_lowlevel"
|
||||
2.2 Stanislav wrote :
|
||||
Plugin architecture should be rewritten like real plugin architecture s.t.
|
||||
Bochs VGA plugin for example will be real plugin. I mean that replacement
|
||||
of plugin dll in already compiled Bochs will replace Bochs VGA card and
|
||||
the new card will be detected automatically.
|
||||
This will allow for example developing of plugins separately from Bochs.
|
||||
2.3 Michael Brown wrote :
|
||||
If the configuration interface is to be reworked, could we also make it so
|
||||
that plugins are self-contained, rather than needing to pollute config.cc
|
||||
with code for defining and parsing plugin-specific options
|
||||
Status:
|
||||
A little bit of the basic work is done now: The config parameter handling has
|
||||
been rewritten to a parameter tree and user-defined bochsrc options are now
|
||||
supported. The main plugin architecture rewrite is not done yet.
|
||||
|
||||
3. PCI host<->guest proxy
|
||||
Being able to use a real pci device from inside Bochs would be a
|
||||
great feature of Bochs. It would ease reverse engineering of non
|
||||
documented cards, or one could even use a real spare vga card.
|
||||
Frank Cornellis has done a great job on this subject, and we began
|
||||
integrating his changes.
|
||||
Status:
|
||||
The pcidev device is present in CVS and it has been updated for the new PCI
|
||||
infrastructure, but the new code is untested yet.
|
||||
|
||||
4. Subdirectories in iodev
|
||||
The iodev directory contains the various implemented iodevice.
|
||||
With the new pci devices, new harddrives and new net access methods,
|
||||
it could be interesting to add new subdirectories like :
|
||||
iodev/video/... --> for standard vga and new card emulation
|
||||
iodev/disks/... --> for the ata/atapi classes, hd/cd classes and host accesses
|
||||
iodev/net/... --> for ne2k and host net access
|
||||
isa and pci devices would be mixed in the directories, but this should
|
||||
be manageable.
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
5 multithreading. Conn Clark wrote :
|
||||
Threading might be nice too, for those of us who have SMP/SMT machines.
|
||||
I have a patch from Mathis (who hangs out on the IRC channel all the
|
||||
time) that puts the video card interface in its own thread. It has
|
||||
troubles though that I have not resolved. It may also be easier to debug
|
||||
a threaded peripheral.
|
||||
I also think that it might be possible to thread a chunk of the CPU
|
||||
emulation to improve performance on a SMP/SMT machine. Specificaly
|
||||
write_virtual_dword, write_virtual_word, write_virtual_byte, etc...
|
||||
might just be able to be threaded. I think the threading overhead might
|
||||
be less than the protection and address translation code. We would have
|
||||
to try it to find out. I'm also sure there can be some nasty hurdles to
|
||||
overcome.
|
||||
Status:
|
||||
Third party proup started a para-Bochs project exacly to reach above goals,
|
||||
some beta version is already released.
|
||||
The home page of the project: http://grid.hust.edu.cn/cluster/VirtualMachine/index.html
|
||||
|
||||
6. CPU
|
||||
6.1 This was asked in the ml, and I believe it's a good idea to provide
|
||||
a configure switch to set the cpu model, for example :
|
||||
--with-cpu-386
|
||||
--with-cpu-486dx
|
||||
--with-cpu-pentium
|
||||
--with-cpu-pentium-mmx
|
||||
--with-cpu-k6-iii
|
||||
--with-cpu-amd64
|
||||
and so on. The main difficulty here is to set up the list of features
|
||||
by cpu model. I started such a list, available at
|
||||
http://cbothamy.free.fr/projects/bochs/CPU_Features.sxc
|
||||
The configure script will then set up constants on features to compile in,
|
||||
ISA, FPU, MMX, 3DNOW, SSE, etc... Most of the feature flags already
|
||||
exists in config.h, so this should be easy. It would also be a good
|
||||
idea to clean up the cpuid function beased on those flags.
|
||||
We also have to keep in mind that some features are also enablable
|
||||
by the guest os.
|
||||
Please note the all features are still not supported/complete in Bochs.
|
||||
6.2 Stanislav thinks that configure --with-cpu-pentium-mmx --enable-cpu-level-4
|
||||
would create lots of conflicts in the generated config.h. He suggests
|
||||
that we should write an external GUI configure script that would propose
|
||||
standard or custom cpus and would detect conflicts.
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
7. VGA
|
||||
For SVGA emulation we have Bochs VBE and the Cirrus adapter. We should have
|
||||
a look at the voodoo3 (specs http://v3tv.sourceforge.net/docs.php).
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
8. Random thoughts on disk emulation improvements :
|
||||
8.1 lba48 support
|
||||
8.2 autodetection of disk size / geometry
|
||||
8.3 uml cow disk image support
|
||||
8.4 compressed disk image support
|
||||
8.5 extend redolog-disk specification to add coherency check of the flat
|
||||
image file, by storing its fstat-mtime field in the redolog.
|
||||
Status:
|
||||
Autodetection now works for all image types created with bximage and vmware3
|
||||
images. LBA48 and vmware4 disk images support was added in Bochs 2.3.5 release.
|
||||
The other items are not done yet.
|
||||
|
||||
9. net
|
||||
9.1 bootable ethernet rom ?
|
||||
see etherboot, Micheal Brown wrote :
|
||||
This already works; you can build an Etherboot rom image with the pnic
|
||||
driver, specify it as an option ROM in bochsrc and it will boot. I'm
|
||||
using this extensively at the moment in Etherboot development.
|
||||
In the Etherboot project's CVS, in the contrib/bochs directory, you can
|
||||
find a working bochsrc file and an up-to-date README with step-by-step
|
||||
instructions on getting this working.
|
||||
Status:
|
||||
The pnic device is present in CVS, but the status is unknown.
|
||||
|
||||
10. Bios
|
||||
10.1 our bios is quite heavy on stack space (notably during int13 functions).
|
||||
Some parts can be rewritten in assembler, to save stack space and
|
||||
make code smaller.
|
||||
Status:
|
||||
New BIOS supporting ACPI was introduced in Bochs 2.3.5 release.
|
||||
|
||||
10.2 add "jump table placeholder" and log missing function calls in the bios.
|
||||
Check completness with Ralf Brown interrupt list.
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
11. LGPL VGABios
|
||||
11.1 Video parameters table
|
||||
There is a very nice parameter table in 3dfx banshee document
|
||||
http://www2.lm-sensors.nu/~lm78/pdfs/Banshee_2d_spec.PDF
|
||||
see also http://www.xyzzy.claranet.de/dos/vgacrt.c
|
||||
Status:
|
||||
The new version 0.6a of the LGPL'd VGABIOS has minimal support for the video
|
||||
parameter table.
|
||||
|
||||
12. Optimized Guest drivers still needed : VGA, IDE, NET
|
||||
We have a specific VGA driver for winNT/2K, but still
|
||||
lack drivers for other OSes.
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
13. USB support
|
||||
Ben Lunt has been working on USB support. The USB mouse and keypad code
|
||||
is present in Bochs and almost stable. USB flash disk support has been
|
||||
started and the runtime device change support should be completed.
|
||||
Status:
|
||||
Under construction.
|
||||
|
||||
14. Config file and dynamic menu
|
||||
14.1 Benjamen R. Meyer wrote :
|
||||
I think we should rework the .bochsrc file to be more standard across all
|
||||
devices. I like how the USB configuration is done in it, and think we should
|
||||
put something similar together for everything else. In otherwords, create
|
||||
something that can be easily used for everything, and make it easier to
|
||||
configure in the process.
|
||||
From what I can tell right now, most of the configuration lines are randomly
|
||||
thrown together as each gets implemented or added, instead of having
|
||||
something that is based on a standard approach to the configuration.
|
||||
The result should be something that would be able to easily auto-configured
|
||||
by another program (a configuration editor?) with minimal changes necessary
|
||||
when new devices/features are added.
|
||||
14.2 Franck Cornelis wrote : the config system needs some work...
|
||||
e.g. the main menu is static while it could be generated at run-time...
|
||||
the main menu text lives somewhere in a file... while it should be generated
|
||||
at run-time by iterating the main menu objects
|
||||
Status:
|
||||
The config options handling has been rewritten to a parameter tree.
|
||||
|
||||
15. Save/Restore
|
||||
Save/restore of config and log options and the hardware state is supported
|
||||
in all Bochs configurations. Harddisk images are not handled yet.
|
||||
|
||||
16. add to the roadmap that we should find some ideas to check
|
||||
correctness of instructions emulation, especially system instructions.
|
||||
arithmetic instructions could be validated with simply random testing
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
17. lowlevel serial support for Windows.
|
||||
Volker is currently working on this.
|
||||
Status:
|
||||
Not yet complete (transmit works, receive is losing data).
|
||||
|
||||
18. Parallel port
|
||||
Conn Clark wrote :
|
||||
I would like to see better parallel port support so I can use a dongle.
|
||||
This is something I would find very useful as it would mean I wouldn't
|
||||
have to boot back into windows ever again. I also recognize that this
|
||||
may require a kernel module be written, which is beyond my current
|
||||
skills. I know others will find this useful as I have had to tell a
|
||||
few people that their parallel port driven peripherals that require a
|
||||
bidirectional parallel port won't work.
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
19. Patches / Bug reports
|
||||
There are dozens of patches floating around. Some are outdated,
|
||||
don't apply cleanly, are obsolete/unneeded. We could try to do
|
||||
some clean-up, and keep only relevent ones.
|
||||
We should also clean up the SF bug tracker. Some bugreports are
|
||||
very old and we asked for more information with no response.
|
||||
Status:
|
||||
There is some progress, but still a lot of work to do.
|
||||
|
||||
20. Positions
|
||||
If you want to help without coding, here are available positions :
|
||||
20.1 Webmaster : update website (Jan Bruun Andersen offered to help)
|
||||
22.2 patch coordonator : look at incoming patches (sourceforge and
|
||||
mailing list) and upload / update in the cvs patches directory.
|
||||
20.3 platform maintainers for macos / win32
|
||||
20.4 disk image maintainer : create and maintain our collection
|
||||
of disk images. Usually, only the configuration file needs to be
|
||||
updated, and old bios files have to be removed. Some packages
|
||||
still contain very old bios files, they should definitely have
|
||||
to be removed.
|
||||
Status:
|
||||
More active developers are needed to do the things described above.
|
||||
|
||||
21. Bochs demo cd/dvd
|
||||
With version 2.1, it is now technically possible to use disk images
|
||||
on a read-only media, with a journal files on a read/write media.
|
||||
It would be great to create a demo cd/dvd with executables for
|
||||
supported platforms, configuration files and read-only disk
|
||||
images, the journal files would be written in a temporary
|
||||
directory on the harddisk.
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
22. Other CPU architectures : arm, ppc
|
||||
This has been asked in the mailing list. I'm not really
|
||||
interested, but other people might be. Should we propose to
|
||||
host the new CPUs code in our source tree, or should we let
|
||||
people fork ?
|
||||
Status:
|
||||
Not done yet.
|
||||
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/Uninstall.exe
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/Uninstall.exe
Normal file
Binary file not shown.
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/VGABIOS-elpin-2.40
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/VGABIOS-elpin-2.40
Normal file
Binary file not shown.
@@ -0,0 +1,9 @@
|
||||
The VGA BIOS from Elpin Systems, Inc. (http://www.elpin.com/)
|
||||
is now permanently licensed for use with bochs, courtesy
|
||||
of MandrakeSoft, creators of the leading "Linux-Mandrake"
|
||||
distribution (http://www.linux-mandrake.com/). You may
|
||||
freely use/distribute it with bochs, as long as it is used
|
||||
in bochs for the intended use as a VGA BIOS.
|
||||
|
||||
Please check out Elpin Systems. They make cool software games,
|
||||
educational software, and VGA development products.
|
||||
@@ -0,0 +1,214 @@
|
||||
Plex86/Bochs VGABios
|
||||
--------------------
|
||||
|
||||
The goal of this project is to have a LGPL'd Video Bios in plex86,
|
||||
Bochs and qemu.
|
||||
This VGA Bios is very specific to the emulated VGA card.
|
||||
It is NOT meant to drive a physical vga card.
|
||||
|
||||
|
||||
Cirrus SVGA extension
|
||||
---------------------
|
||||
|
||||
The Cirrus SVGA extension is designed for the Cirrus emulation in Bochs and
|
||||
qemu. The initial patch for the Cirrus extension has been written by Makoto
|
||||
Suzuki (suzu).
|
||||
|
||||
|
||||
Install
|
||||
-------
|
||||
To compile the VGA Bios you will need :
|
||||
- gcc
|
||||
- bcc
|
||||
- as86
|
||||
- ld86
|
||||
|
||||
Untar the archive, and type make. You should get a "VGABIOS-lgpl-latest.bin"
|
||||
file. Alternatively, you can use the binary file "VGABIOS-lgpl-latest.bin",
|
||||
i have compiled for you.
|
||||
|
||||
Edit your plex86/bochs conf file, and modify the load-rom command in the
|
||||
VGA BIOS section, to point to the new vgabios image file.
|
||||
|
||||
|
||||
Debugging
|
||||
---------
|
||||
You can get a very basic debugging system: messages printed by the vgabios.
|
||||
You have to register the "unmapped" device driver in plex86 or bochs, and make
|
||||
sure it grabs port 0xfff0.
|
||||
|
||||
Comment the #undef DEBUG at the beginning of vgabios.c.
|
||||
You can then use the "printf" function in the bios.
|
||||
|
||||
|
||||
Testing
|
||||
-------
|
||||
Look at the "testvga.c" file in the archive. This is a minimal Turbo C 2.0
|
||||
source file that calls a few int10 functions. Feel free to modify it to suit
|
||||
your needs.
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
This program has been written by Christophe Bothamy
|
||||
It is protected by the GNU Lesser Public License, which you should
|
||||
have received a copy of along with this package.
|
||||
|
||||
|
||||
Reverse Engineering
|
||||
-------------------
|
||||
The VGA Bios has been written without reverse-engineering any existing Bios.
|
||||
|
||||
|
||||
Acknowledgment
|
||||
--------------
|
||||
The source code contains code ripped from rombios.c of plex86, written
|
||||
by Kevin Lawton <kevin2001@yahoo.com>
|
||||
|
||||
The source code contains fonts from fntcol16.zip (c) by Joseph Gil avalable at :
|
||||
ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip
|
||||
These fonts are public domain
|
||||
|
||||
The source code is based on information taken from :
|
||||
- Kevin Lawton's vga card emulation for bochs/plex86
|
||||
- Ralf Brown's interrupts list avalaible at
|
||||
http://www.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html
|
||||
- Finn Thogersons' VGADOC4b available at http://home.worldonline.dk/~finth/
|
||||
- Michael Abrash's Graphics Programming Black Book
|
||||
- Francois Gervais' book "programmation des cartes graphiques cga-ega-vga"
|
||||
edited by sybex
|
||||
- DOSEMU 1.0.1 source code for several tables values and formulas
|
||||
|
||||
|
||||
Feedback
|
||||
--------
|
||||
Please report any bugs, comments, patches for this VGA Bios to info@vruppert.de
|
||||
You can find the latest release at : http://www.nongnu.org/vgabios/
|
||||
For any information on bochs, visit the website http://bochs.sourceforge.net/
|
||||
For any information on qemu, visit the website http://fabrice.bellard.free.fr/qemu/
|
||||
|
||||
|
||||
History
|
||||
-------
|
||||
vgabios-0.6a : Aug 19 2006
|
||||
- Volker
|
||||
. added minimal support for the video parameter table (VPT)
|
||||
. Cirrus SVGA now supports the "no clear" bit in Cirrus and VESA mode
|
||||
. Bochs VBE protected mode interface improved
|
||||
. save/restore video state support for Bochs VBE and standard VGA added
|
||||
. generate vbetables.h dynamicly
|
||||
. VBE video memory increased to 8 MB (VBE dispi ID changed to B0C4)
|
||||
. lots of 4bpp VBE fixes (all 4bpp VBE modes now enabled)
|
||||
. VGA compatible setup for VBE modes added
|
||||
|
||||
vgabios-0.5d : Dec 29 2005
|
||||
- Volker
|
||||
. Bochs VBE protected mode interface added (based on a patch by malc@pulsesoft.com)
|
||||
. biossums utility now supports VGABIOS sizes up to 64 kBytes
|
||||
. VGA mode 0x11: all color planes must be enabled in this 2-color VGA mode
|
||||
|
||||
vgabios-0.5c : Jul 07 2005
|
||||
- Volker
|
||||
. BIOS configuration word usually reports initial mode 80x25 color text
|
||||
. vgabios function 0x0e (write teletype): linefeed (0x0a) only increments the
|
||||
cursor row value
|
||||
|
||||
vgabios-0.5b : May 24 2005
|
||||
- Volker
|
||||
. fixed return value for the default case in the VBE section (non-debug mode)
|
||||
. removed unused stuff
|
||||
|
||||
vgabios-0.5a : Mar 07 2005
|
||||
- Volker
|
||||
. Cirrus SVGA extension (initial patches from Makoto Suzuki, improvements
|
||||
from Fabrice Bellard)
|
||||
. vgabios image size is now exactly 32k with a checksum
|
||||
. a lot of vgabios and vbe functions rewritten in assembler
|
||||
. dynamicly generated VBE mode info list
|
||||
. write character function for CGA and LINEAR8 modes
|
||||
. read/write graphics pixel for some graphics modes
|
||||
. text scroll feature for some graphics modes
|
||||
. VBE 8-bit DAC support
|
||||
|
||||
vgabios-0.4c : Nov 06 2003
|
||||
- Christophe
|
||||
. fix font problem on initial screen of NT4 Loader
|
||||
|
||||
vgabios-0.4b : Nov 04 2003
|
||||
- Volker
|
||||
. fix offset of character tables
|
||||
. optimizations of CRT controller accesses
|
||||
. VBE i/o registers changed to 0x01CE/CF
|
||||
(suggestion from Daniel Gimpelevich)
|
||||
. "noclear" flag stored in BIOS area
|
||||
. fix character height returned by get_font_info function
|
||||
|
||||
vgabios-0.4a : Aug 17 2003
|
||||
- Volker
|
||||
. VBE mode search rewritten (VBE modes with LFB bit removed)
|
||||
. many bugfixes and optimizations
|
||||
. write character function implemented for graphics modes
|
||||
. support for 15bpp, 16bpp, 24bpp and 32bpp VBE modes added
|
||||
. SVGA mode 0x6A added
|
||||
. VBE modes 0x102, 0x117, 0x118 and 0x142 (Bochs specific)
|
||||
|
||||
vgabios-0.3b : Nov 23 2002
|
||||
- Christophe
|
||||
. added lfb-mode numbers (patch from mathis)
|
||||
. updated the Makefile
|
||||
. removed display of copyrights.
|
||||
. changed the Copyright string to "LGPL VGABios developers"
|
||||
- Volker
|
||||
. set the cursor shape depending on the current font height
|
||||
. clear BL before calling int 0x10 function 0x1103 in vgabios_init_func
|
||||
. added some text font functions
|
||||
- Jeroen
|
||||
. Forced to new DISPI (0xb0c1) interface (requires latest bochs vbe code)
|
||||
. Added multibuffering support
|
||||
. Added new DISPI interface for: virt width, height, x offset, y offset
|
||||
. Added LFB modes (to be used with the vbe-lfb patch in bochs)
|
||||
see VBE_HAVE_LFB in vbe.c (currently default enabled)
|
||||
. updated TODO & docs for changes after bochs 1.4
|
||||
|
||||
vgabios-0.3a : Mar 10 2002
|
||||
- Christophe
|
||||
. Fixed bug in function ah=13
|
||||
- Jeroen
|
||||
. updated vbebios implementation to new api
|
||||
. added vbe_display_api documentation
|
||||
. added 640x400x8, 640x480x8, 800x600x8, 1024x768
|
||||
(>640x480 needs a special bochs patch atm)
|
||||
. added 320x200x8 vbe support (uses the standard 320x200x8 vga mode to
|
||||
display, this allows for testing & having something on screen as well,
|
||||
at least until bochs host side display is up & running)
|
||||
. adding lfbprof (vbe) testprogram (+some small fixes to it)
|
||||
. merging with vbebios 0.2
|
||||
|
||||
vgabios-0.2b : Nov 19 2001
|
||||
- Christophe
|
||||
. Fixed bug in function ah=13
|
||||
|
||||
vgabios-0.2a : Nov 09 2001
|
||||
- Christophe
|
||||
. Included bugfix from techt@pikeonline.net about grayscale summing
|
||||
. Added the "IBM" string at org 0x1e as Bart Oldeman suggested
|
||||
. Fixed DS and ES that where inverted in the int10 parameters list!
|
||||
. The following have been implemented :
|
||||
- function ax=1a00, ax=1a01, ah=1b
|
||||
- function ax=1130
|
||||
. Added debug messages for unimplemented/unknown functions
|
||||
Must be compiled with DEBUG defined. The output is trapped
|
||||
by the unknown-ioport driver of plex/bochs (port 0xfff0 is used)
|
||||
|
||||
vgabios-0.1a : May 8 2001
|
||||
- Christophe
|
||||
. First release. The work has been focused only on text mode.
|
||||
. The following have been implemented :
|
||||
- inits
|
||||
- int 10 handler
|
||||
- functions ah=00, ah=01, ah=02, ah=03, ah=05, ah=06, ah=07, ah=08
|
||||
ah=09, ah=0a, ah=0e, ah=0f, ax=1000, ax=1001, ax=1002, ax=1003
|
||||
ax=1007, ax=1008, ax=1009, ax=1010, ax=1012, ax=1013, ax=1015
|
||||
ax=1017, ax=1018, ax=1019, ax=101a, ax=101b, ah=12 bl=10,
|
||||
ah=12 bl=30, ah=12 bl=31, ah=12 bl=32, ah=12 bl=33, ah=12 bl=34
|
||||
ah=13
|
||||
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/VGABIOS-lgpl-latest
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/VGABIOS-lgpl-latest
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bios.bin-1.13.0
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bios.bin-1.13.0
Normal file
Binary file not shown.
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bochs.exe
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bochs.exe
Normal file
Binary file not shown.
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bochs.ico
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bochs.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 766 B |
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bochsdbg.exe
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bochsdbg.exe
Normal file
Binary file not shown.
763
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bochsrc-sample.txt
Normal file
763
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bochsrc-sample.txt
Normal file
@@ -0,0 +1,763 @@
|
||||
# You may now use double quotes around pathnames, in case
|
||||
# your pathname includes spaces.
|
||||
|
||||
#=======================================================================
|
||||
# CONFIG_INTERFACE
|
||||
#
|
||||
# The configuration interface is a series of menus or dialog boxes that
|
||||
# allows you to change all the settings that control Bochs's behavior.
|
||||
# There are two choices of configuration interface: a text mode version
|
||||
# called "textconfig" and a graphical version called "wx". The text
|
||||
# mode version uses stdin/stdout and is always compiled in. The graphical
|
||||
# version is only available when you use "--with-wx" on the configure
|
||||
# command. If you do not write a config_interface line, Bochs will
|
||||
# choose a default for you.
|
||||
#
|
||||
# NOTE: if you use the "wx" configuration interface, you must also use
|
||||
# the "wx" display library.
|
||||
#=======================================================================
|
||||
#config_interface: textconfig
|
||||
#config_interface: wx
|
||||
|
||||
#=======================================================================
|
||||
# DISPLAY_LIBRARY
|
||||
#
|
||||
# The display library is the code that displays the Bochs VGA screen. Bochs
|
||||
# has a selection of about 10 different display library implementations for
|
||||
# different platforms. If you run configure with multiple --with-* options,
|
||||
# the display_library command lets you choose which one you want to run with.
|
||||
# If you do not write a display_library line, Bochs will choose a default for
|
||||
# you.
|
||||
#
|
||||
# The choices are:
|
||||
# x use X windows interface, cross platform
|
||||
# win32 use native win32 libraries
|
||||
# carbon use Carbon library (for MacOS X)
|
||||
# beos use native BeOS libraries
|
||||
# macintosh use MacOS pre-10
|
||||
# amigaos use native AmigaOS libraries
|
||||
# sdl use SDL library, cross platform
|
||||
# svga use SVGALIB library for Linux, allows graphics without X11
|
||||
# term text only, uses curses/ncurses library, cross platform
|
||||
# rfb provides an interface to AT&T's VNC viewer, cross platform
|
||||
# wx use wxWidgets library, cross platform
|
||||
# nogui no display at all
|
||||
#
|
||||
# NOTE: if you use the "wx" configuration interface, you must also use
|
||||
# the "wx" display library.
|
||||
#
|
||||
# Specific options:
|
||||
# Some display libraries now support specific option to control their
|
||||
# behaviour. See the examples below for currently supported options.
|
||||
#=======================================================================
|
||||
#display_library: amigaos
|
||||
#display_library: beos
|
||||
#display_library: carbon
|
||||
#display_library: macintosh
|
||||
#display_library: nogui
|
||||
#display_library: rfb, options="timeout=60" # time to wait for client
|
||||
#display_library: sdl, options="fullscreen" # startup in fullscreen mode
|
||||
#display_library: term
|
||||
#display_library: win32, options="legacyF12" # use F12 to toggle mouse
|
||||
#display_library: win32, options="windebug" # use experimental debugger gui
|
||||
#display_library: wx
|
||||
#display_library: x
|
||||
|
||||
#=======================================================================
|
||||
# ROMIMAGE:
|
||||
# The ROM BIOS controls what the PC does when it first powers on.
|
||||
# Normally, you can use a precompiled BIOS in the source or binary
|
||||
# distribution called BIOS-bochs-latest. The ROM BIOS is usually loaded
|
||||
# starting at address 0xf0000, and it is exactly 64k long. Another option
|
||||
# is 128k BIOS which is loaded at address 0xe0000.
|
||||
# You can also use the environment variable $BXSHARE to specify the
|
||||
# location of the BIOS.
|
||||
# The usage of external large BIOS images (up to 512k) at memory top is
|
||||
# now supported, but we still recommend to use the BIOS distributed with
|
||||
# Bochs. Now the start address can be calculated from image size.
|
||||
#=======================================================================
|
||||
romimage: file=$BXSHARE/BIOS-bochs-latest
|
||||
#romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top
|
||||
|
||||
#=======================================================================
|
||||
# CPU:
|
||||
# This defines cpu-related parameters inside Bochs:
|
||||
#
|
||||
# COUNT:
|
||||
# Set the number of processors:cores per processor:threads per core
|
||||
# when Bochs is compiled for SMP emulation.
|
||||
# Bochs currently supports up to 8 threads running simultaniosly.
|
||||
# If Bochs is compiled without SMP support, it won't accept values
|
||||
# different from 1.
|
||||
#
|
||||
# QUANTUM:
|
||||
# Maximum amount of instructions allowed to execute by processor before
|
||||
# returning control to another cpu. This option exists only in Bochs
|
||||
# binary compiled with SMP support.
|
||||
#
|
||||
# RESET_ON_TRIPLE_FAULT:
|
||||
# Reset the CPU when triple fault occur (highly recommended) rather than
|
||||
# PANIC. Remember that if you trying to continue after triple fault the
|
||||
# simulation will be completely bogus !
|
||||
#
|
||||
# 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 or status bar
|
||||
# (if supported by the gui).
|
||||
#
|
||||
# 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:
|
||||
#
|
||||
# Bochs Machine/Compiler Mips
|
||||
# ____________________________________________________________________
|
||||
# 2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 21 to 25 Mips
|
||||
# 2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15 Mips
|
||||
# 2.0.1 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips
|
||||
# 1.4 650Mhz Athlon K-7 with Linux 2.4.4/egcs-2.91.66 2 to 2.5 Mips
|
||||
# 1.4 400Mhz Pentium II with Linux 2.0.36/egcs-1.0.3 1 to 1.8 Mips
|
||||
#=======================================================================
|
||||
cpu: count=1, ips=10000000, reset_on_triple_fault=1
|
||||
|
||||
#=======================================================================
|
||||
# MEGS
|
||||
# Set the number of Megabytes of physical memory you want to emulate.
|
||||
# The default is 32MB, most OS's won't need more than that.
|
||||
# The maximum amount of memory supported is 2048Mb.
|
||||
#=======================================================================
|
||||
#megs: 256
|
||||
#megs: 128
|
||||
#megs: 64
|
||||
megs: 32
|
||||
#megs: 16
|
||||
#megs: 8
|
||||
|
||||
#=======================================================================
|
||||
# OPTROMIMAGE[1-4]:
|
||||
# You may now load up to 4 optional ROM images. Be sure to use a
|
||||
# read-only area, typically between C8000 and EFFFF. These optional
|
||||
# ROM images should not overwrite the rombios (located at
|
||||
# F0000-FFFFF) and the videobios (located at C0000-C7FFF).
|
||||
# Those ROM images will be initialized by the bios if they contain
|
||||
# the right signature (0x55AA) and a valid checksum.
|
||||
# It can also be a convenient way to upload some arbitrary code/data
|
||||
# in the simulation, that can be retrieved by the boot loader
|
||||
#=======================================================================
|
||||
#optromimage1: file=optionalrom.bin, address=0xd0000
|
||||
#optromimage2: file=optionalrom.bin, address=0xd1000
|
||||
#optromimage3: file=optionalrom.bin, address=0xd2000
|
||||
#optromimage4: file=optionalrom.bin, address=0xd3000
|
||||
|
||||
#optramimage1: file=/path/file1.img, address=0x0010000
|
||||
#optramimage2: file=/path/file2.img, address=0x0020000
|
||||
#optramimage3: file=/path/file3.img, address=0x0030000
|
||||
#optramimage4: file=/path/file4.img, address=0x0040000
|
||||
|
||||
#=======================================================================
|
||||
# VGAROMIMAGE
|
||||
# You now need to load a VGA ROM BIOS into C0000.
|
||||
#=======================================================================
|
||||
#vgaromimage: file=bios/VGABIOS-elpin-2.40
|
||||
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
|
||||
#vgaromimage: file=bios/VGABIOS-lgpl-latest-cirrus
|
||||
|
||||
#=======================================================================
|
||||
# VGA:
|
||||
# Here you can specify the display extension to be used. With the value
|
||||
# 'none' you can use standard VGA with no extension. Other supported
|
||||
# values are 'vbe' for Bochs VBE and 'cirrus' for Cirrus SVGA support.
|
||||
#=======================================================================
|
||||
#vga: extension=cirrus
|
||||
vga: extension=vbe
|
||||
|
||||
#=======================================================================
|
||||
# FLOPPYA:
|
||||
# Point this to pathname of floppy image file or device
|
||||
# This should be of a bootable floppy(image/device) if you're
|
||||
# booting from 'a' (or 'floppy').
|
||||
#
|
||||
# You can set the initial status of the media to 'ejected' or 'inserted'.
|
||||
# floppya: 2_88=path, status=ejected (2.88M 3.5" floppy)
|
||||
# floppya: 1_44=path, status=inserted (1.44M 3.5" floppy)
|
||||
# floppya: 1_2=path, status=ejected (1.2M 5.25" floppy)
|
||||
# floppya: 720k=path, status=inserted (720K 3.5" floppy)
|
||||
# floppya: 360k=path, status=inserted (360K 5.25" floppy)
|
||||
# floppya: 320k=path, status=inserted (320K 5.25" floppy)
|
||||
# floppya: 180k=path, status=inserted (180K 5.25" floppy)
|
||||
# floppya: 160k=path, status=inserted (160K 5.25" floppy)
|
||||
# floppya: image=path, status=inserted (guess type from image size)
|
||||
#
|
||||
# The path should be the name of a disk image file. On Unix, you can use a raw
|
||||
# device name such as /dev/fd0 on Linux. On win32 platforms, use drive letters
|
||||
# such as a: or b: as the path. The parameter 'image' works with image files
|
||||
# only. In that case the size must match one of the supported types.
|
||||
#=======================================================================
|
||||
floppya: 1_44=/dev/fd0, status=inserted
|
||||
#floppya: image=../1.44, status=inserted
|
||||
#floppya: 1_44=/dev/fd0H1440, status=inserted
|
||||
#floppya: 1_2=../1_2, status=inserted
|
||||
#floppya: 1_44=a:, status=inserted
|
||||
#floppya: 1_44=a.img, status=inserted
|
||||
#floppya: 1_44=/dev/rfd0a, status=inserted
|
||||
|
||||
#=======================================================================
|
||||
# FLOPPYB:
|
||||
# See FLOPPYA above for syntax
|
||||
#=======================================================================
|
||||
#floppyb: 1_44=b:, status=inserted
|
||||
#floppyb: 1_44=b.img, status=inserted
|
||||
|
||||
#=======================================================================
|
||||
# ATA0, ATA1, ATA2, ATA3
|
||||
# ATA controller for hard disks and cdroms
|
||||
#
|
||||
# ata[0-3]: enabled=[0|1], ioaddr1=addr, ioaddr2=addr, irq=number
|
||||
#
|
||||
# These options enables up to 4 ata channels. For each channel
|
||||
# the two base io addresses and the irq must be specified.
|
||||
#
|
||||
# ata0 and ata1 are enabled by default with the values shown below
|
||||
#
|
||||
# Examples:
|
||||
# ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
|
||||
# ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
|
||||
# ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
|
||||
# ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9
|
||||
#=======================================================================
|
||||
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
|
||||
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
|
||||
ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
|
||||
ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9
|
||||
|
||||
#=======================================================================
|
||||
# ATA[0-3]-MASTER, ATA[0-3]-SLAVE
|
||||
#
|
||||
# This defines the type and characteristics of all attached ata devices:
|
||||
# type= type of attached device [disk|cdrom]
|
||||
# mode= only valid for disks [flat|concat|external|dll|sparse|vmware3]
|
||||
# mode= only valid for disks [undoable|growing|volatile]
|
||||
# path= path of the image
|
||||
# cylinders= only valid for disks
|
||||
# heads= only valid for disks
|
||||
# spt= only valid for disks
|
||||
# status= only valid for cdroms [inserted|ejected]
|
||||
# biosdetect= type of biosdetection [none|auto], only for disks on ata0 [cmos]
|
||||
# translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto]
|
||||
# model= string returned by identify device command
|
||||
# journal= optional filename of the redolog for undoable and volatile disks
|
||||
#
|
||||
# Point this at a hard disk image file, cdrom iso file, or physical cdrom
|
||||
# device. To create a hard disk image, try running bximage. It will help you
|
||||
# choose the size and then suggest a line that works with it.
|
||||
#
|
||||
# In UNIX it may be possible to use a raw device as a Bochs hard disk,
|
||||
# but WE DON'T RECOMMEND IT. In Windows there is no easy way.
|
||||
#
|
||||
# In windows, the drive letter + colon notation should be used for cdroms.
|
||||
# Depending on versions of windows and drivers, you may only be able to
|
||||
# access the "first" cdrom in the system. On MacOSX, use path="drive"
|
||||
# to access the physical drive.
|
||||
#
|
||||
# The path is always mandatory. Disk geometry autodetection works with images
|
||||
# created by bximage if CHS is set to 0/0/0 (cylinders are calculated using
|
||||
# heads=16 and spt=63). For other hard disk images and modes the cylinders,
|
||||
# heads, and spt are mandatory.
|
||||
#
|
||||
# Default values are:
|
||||
# mode=flat, biosdetect=auto, translation=auto, model="Generic 1234"
|
||||
#
|
||||
# The biosdetect option has currently no effect on the bios
|
||||
#
|
||||
# Examples:
|
||||
# ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17
|
||||
# ata0-slave: type=disk, mode=flat, path=20M.sample, cylinders=615, heads=4, spt=17
|
||||
# ata1-master: type=disk, mode=flat, path=30M.sample, cylinders=615, heads=6, spt=17
|
||||
# ata1-slave: type=disk, mode=flat, path=46M.sample, cylinders=940, heads=6, spt=17
|
||||
# ata2-master: type=disk, mode=flat, path=62M.sample, cylinders=940, heads=8, spt=17
|
||||
# ata2-slave: type=disk, mode=flat, path=112M.sample, cylinders=900, heads=15, spt=17
|
||||
# ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63
|
||||
# ata3-slave: type=cdrom, path=iso.sample, status=inserted
|
||||
#=======================================================================
|
||||
ata0-master: type=disk, mode=flat, path="30M.sample"
|
||||
#ata0-master: type=disk, mode=flat, path="30M.sample", cylinders=615, heads=6, spt=17
|
||||
#ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect
|
||||
#ata0-slave: type=cdrom, path=D:, status=inserted
|
||||
#ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted
|
||||
#ata0-slave: type=cdrom, path="drive", status=inserted
|
||||
#ata0-slave: type=cdrom, path=/dev/rcd0d, status=inserted
|
||||
|
||||
#=======================================================================
|
||||
# BOOT:
|
||||
# This defines the boot sequence. Now you can specify up to 3 boot drives,
|
||||
# which can be 'floppy', 'disk', 'cdrom' or 'network' (boot ROM).
|
||||
# Legacy 'a' and 'c' are also supported.
|
||||
# Examples:
|
||||
# boot: floppy
|
||||
# boot: cdrom, disk
|
||||
# boot: network, disk
|
||||
# boot: cdrom, floppy, disk
|
||||
#=======================================================================
|
||||
#boot: floppy
|
||||
boot: disk
|
||||
|
||||
#=======================================================================
|
||||
# CLOCK:
|
||||
# This defines the parameters of the clock inside Bochs:
|
||||
#
|
||||
# SYNC:
|
||||
# TO BE COMPLETED (see Greg explanation in feature request #536329)
|
||||
#
|
||||
# TIME0:
|
||||
# Specifies the start (boot) time of the virtual machine. Use a time
|
||||
# value as returned by the time(2) system call. If no time0 value is
|
||||
# set or if time0 equal to 1 (special case) or if time0 equal 'local',
|
||||
# the simulation will be started at the current local host time.
|
||||
# If time0 equal to 2 (special case) or if time0 equal 'utc',
|
||||
# the simulation will be started at the current utc time.
|
||||
#
|
||||
# Syntax:
|
||||
# clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc]
|
||||
#
|
||||
# Example:
|
||||
# clock: sync=none, time0=local # Now (localtime)
|
||||
# clock: sync=slowdown, time0=315529200 # Tue Jan 1 00:00:00 1980
|
||||
# clock: sync=none, time0=631148400 # Mon Jan 1 00:00:00 1990
|
||||
# clock: sync=realtime, time0=938581955 # Wed Sep 29 07:12:35 1999
|
||||
# clock: sync=realtime, time0=946681200 # Sat Jan 1 00:00:00 2000
|
||||
# clock: sync=none, time0=1 # Now (localtime)
|
||||
# clock: sync=none, time0=utc # Now (utc/gmt)
|
||||
#
|
||||
# Default value are sync=none, time0=local
|
||||
#=======================================================================
|
||||
#clock: sync=none, time0=local
|
||||
|
||||
|
||||
#=======================================================================
|
||||
# FLOPPY_BOOTSIG_CHECK: disabled=[0|1]
|
||||
# Enables or disables the 0xaa55 signature check on boot floppies
|
||||
# Defaults to disabled=0
|
||||
# Examples:
|
||||
# floppy_bootsig_check: disabled=0
|
||||
# floppy_bootsig_check: disabled=1
|
||||
#=======================================================================
|
||||
floppy_bootsig_check: disabled=0
|
||||
|
||||
#=======================================================================
|
||||
# LOG:
|
||||
# Give the path of the log file you'd like Bochs debug and misc. verbiage
|
||||
# to be written to. If you don't use this option or set the filename to
|
||||
# '-' the output is written to the console. If you really don't want it,
|
||||
# make it "/dev/null" (Unix) or "nul" (win32). :^(
|
||||
#
|
||||
# Examples:
|
||||
# log: ./bochs.out
|
||||
# log: /dev/tty
|
||||
#=======================================================================
|
||||
#log: /dev/null
|
||||
log: bochsout.txt
|
||||
|
||||
#=======================================================================
|
||||
# LOGPREFIX:
|
||||
# This handles the format of the string prepended to each log line.
|
||||
# You may use those special tokens :
|
||||
# %t : 11 decimal digits timer tick
|
||||
# %i : 8 hexadecimal digits of cpu current eip (ignored in SMP configuration)
|
||||
# %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror)
|
||||
# %d : 5 characters string of the device, between brackets
|
||||
#
|
||||
# Default : %t%e%d
|
||||
# Examples:
|
||||
# logprefix: %t-%e-@%i-%d
|
||||
# logprefix: %i%e%d
|
||||
#=======================================================================
|
||||
#logprefix: %t%e%d
|
||||
|
||||
#=======================================================================
|
||||
# LOG CONTROLS
|
||||
#
|
||||
# Bochs now has four severity levels for event logging.
|
||||
# panic: cannot proceed. If you choose to continue after a panic,
|
||||
# don't be surprised if you get strange behavior or crashes.
|
||||
# error: something went wrong, but it is probably safe to continue the
|
||||
# simulation.
|
||||
# info: interesting or useful messages.
|
||||
# debug: messages useful only when debugging the code. This may
|
||||
# spit out thousands per second.
|
||||
#
|
||||
# For events of each level, you can choose to crash, report, or ignore.
|
||||
# TODO: allow choice based on the facility: e.g. crash on panics from
|
||||
# everything except the cdrom, and only report those.
|
||||
#
|
||||
# If you are experiencing many panics, it can be helpful to change
|
||||
# the panic action to report instead of fatal. However, be aware
|
||||
# that anything executed after a panic is uncharted territory and can
|
||||
# cause bochs to become unstable. The panic is a "graceful exit," so
|
||||
# if you disable it you may get a spectacular disaster instead.
|
||||
#=======================================================================
|
||||
panic: action=ask
|
||||
error: action=report
|
||||
info: action=report
|
||||
debug: action=ignore
|
||||
#pass: action=fatal
|
||||
|
||||
#=======================================================================
|
||||
# DEBUGGER_LOG:
|
||||
# Give the path of the log file you'd like Bochs to log debugger output.
|
||||
# If you really don't want it, make it /dev/null or '-'. :^(
|
||||
#
|
||||
# Examples:
|
||||
# debugger_log: ./debugger.out
|
||||
#=======================================================================
|
||||
#debugger_log: /dev/null
|
||||
#debugger_log: debugger.out
|
||||
debugger_log: -
|
||||
|
||||
#=======================================================================
|
||||
# COM1, COM2, COM3, COM4:
|
||||
# This defines a serial port (UART type 16550A). In the '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 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.
|
||||
# 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), 'mouse' (standard serial mouse - requires
|
||||
# mouse option setting 'type=serial', 'type=serial_wheel' or 'type=serial_msys')
|
||||
# and 'socket' (connect a networking socket).
|
||||
#
|
||||
# Examples:
|
||||
# com1: enabled=1, mode=null
|
||||
# com1: enabled=1, mode=mouse
|
||||
# com2: enabled=1, mode=file, dev=serial.out
|
||||
# com3: enabled=1, mode=raw, dev=com1
|
||||
# com3: enabled=1, mode=socket, dev=localhost:8888
|
||||
#=======================================================================
|
||||
#com1: enabled=1, mode=term, dev=/dev/ttyp9
|
||||
|
||||
|
||||
#=======================================================================
|
||||
# PARPORT1, PARPORT2:
|
||||
# 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).
|
||||
#
|
||||
# Examples:
|
||||
# parport1: enabled=1, file="parport.out"
|
||||
# parport2: enabled=1, file="/dev/lp0"
|
||||
# parport1: enabled=0
|
||||
#=======================================================================
|
||||
parport1: enabled=1, file="parport.out"
|
||||
|
||||
#=======================================================================
|
||||
# SB16:
|
||||
# This defines the SB16 sound emulation. It can have several of the
|
||||
# following properties.
|
||||
# All properties are in the format sb16: property=value
|
||||
# midi: The filename is where the midi data is sent. This can be a
|
||||
# device or just a file if you want to record the midi data.
|
||||
# midimode:
|
||||
# 0=no data
|
||||
# 1=output to device (system dependent. midi denotes the device driver)
|
||||
# 2=SMF file output, including headers
|
||||
# 3=output the midi data stream to the file (no midi headers and no
|
||||
# delta times, just command and data bytes)
|
||||
# wave: This is the device/file where wave output is stored
|
||||
# wavemode:
|
||||
# 0=no data
|
||||
# 1=output to device (system dependent. wave denotes the device driver)
|
||||
# 2=VOC file output, incl. headers
|
||||
# 3=output the raw wave stream to the file
|
||||
# log: The file to write the sb16 emulator messages to.
|
||||
# loglevel:
|
||||
# 0=no log
|
||||
# 1=resource changes, midi program and bank changes
|
||||
# 2=severe errors
|
||||
# 3=all errors
|
||||
# 4=all errors plus all port accesses
|
||||
# 5=all errors and port accesses plus a lot of extra info
|
||||
# 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 IPS parameter of the CPU option.
|
||||
#
|
||||
# For an example look at the next line:
|
||||
#=======================================================================
|
||||
|
||||
#sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=600000
|
||||
|
||||
#=======================================================================
|
||||
# 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 '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:
|
||||
# vga_update_interval: 250000
|
||||
#=======================================================================
|
||||
vga_update_interval: 300000
|
||||
|
||||
# using for Winstone '98 tests
|
||||
#vga_update_interval: 100000
|
||||
|
||||
#=======================================================================
|
||||
# KEYBOARD_SERIAL_DELAY:
|
||||
# Approximate time in microseconds that it takes one character to
|
||||
# be transfered from the keyboard to controller over the serial path.
|
||||
# Examples:
|
||||
# keyboard_serial_delay: 200
|
||||
#=======================================================================
|
||||
keyboard_serial_delay: 250
|
||||
|
||||
#=======================================================================
|
||||
# KEYBOARD_PASTE_DELAY:
|
||||
# Approximate time in microseconds between attempts to paste
|
||||
# characters to the keyboard controller. This leaves time for the
|
||||
# guest os to deal with the flow of characters. The ideal setting
|
||||
# depends on how your operating system processes characters. The
|
||||
# default of 100000 usec (.1 seconds) was chosen because it works
|
||||
# consistently in Windows.
|
||||
#
|
||||
# If your OS is losing characters during a paste, increase the paste
|
||||
# delay until it stops losing characters.
|
||||
#
|
||||
# Examples:
|
||||
# keyboard_paste_delay: 100000
|
||||
#=======================================================================
|
||||
keyboard_paste_delay: 100000
|
||||
|
||||
#=======================================================================
|
||||
# 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 (control key + middle
|
||||
# mouse button on X11, SDL, wxWidgets and Win32).
|
||||
# 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' and 'serial_msys' (one com port requires
|
||||
# setting 'mode=mouse'). To connect a mouse to an USB port, see the 'usb1'
|
||||
# option (requires PCI and USB support).
|
||||
#
|
||||
# Examples:
|
||||
# mouse: enabled=1
|
||||
# mouse: enabled=1, type=imps2
|
||||
# mouse: enabled=1, type=serial
|
||||
# mouse: enabled=0
|
||||
#=======================================================================
|
||||
mouse: enabled=0
|
||||
|
||||
#=======================================================================
|
||||
# private_colormap: Request that the GUI create and use it's own
|
||||
# non-shared colormap. This colormap will be used
|
||||
# when in the bochs window. If not enabled, a
|
||||
# shared colormap scheme may be used. Not implemented
|
||||
# on all GUI's.
|
||||
#
|
||||
# Examples:
|
||||
# private_colormap: enabled=1
|
||||
# private_colormap: enabled=0
|
||||
#=======================================================================
|
||||
private_colormap: enabled=0
|
||||
|
||||
#=======================================================================
|
||||
# fullscreen: ONLY IMPLEMENTED ON AMIGA
|
||||
# Request that Bochs occupy the entire screen instead of a
|
||||
# window.
|
||||
#
|
||||
# Examples:
|
||||
# fullscreen: enabled=0
|
||||
# fullscreen: enabled=1
|
||||
#=======================================================================
|
||||
#fullscreen: enabled=0
|
||||
#screenmode: name="sample"
|
||||
|
||||
#=======================================================================
|
||||
# ne2k: NE2000 compatible ethernet adapter
|
||||
#
|
||||
# Examples:
|
||||
# ne2k: ioaddr=IOADDR, irq=IRQ, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT
|
||||
#
|
||||
# ioaddr, irq: You probably won't need to change ioaddr and irq, unless there
|
||||
# are IRQ conflicts.
|
||||
#
|
||||
# mac: The MAC address MUST NOT match the address of any machine on the net.
|
||||
# Also, the first byte must be an even number (bit 0 set means a multicast
|
||||
# address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast
|
||||
# address. For the ethertap module, you must use fe:fd:00:00:00:01. There may
|
||||
# be other restrictions too. To be safe, just use the b0:c4... address.
|
||||
#
|
||||
# ethdev: The ethdev value is the name of the network interface on your host
|
||||
# platform. On UNIX machines, you can get the name by running ifconfig. On
|
||||
# Windows machines, you must run niclist to get the name of the ethdev.
|
||||
# Niclist source code is in misc/niclist.c and it is included in Windows
|
||||
# binary releases.
|
||||
#
|
||||
# script: The script value is optional, and is the name of a script that
|
||||
# is executed after bochs initialize the network interface. You can use
|
||||
# this script to configure this network interface, or enable masquerading.
|
||||
# This is mainly useful for the tun/tap devices that only exist during
|
||||
# Bochs execution. The network interface name is supplied to the script
|
||||
# as first parameter
|
||||
#
|
||||
# If you don't want to make connections to any physical networks,
|
||||
# you can use the following 'ethmod's to simulate a virtual network.
|
||||
# null: All packets are discarded, but logged to a few files.
|
||||
# arpback: ARP is simulated. Disabled by default.
|
||||
# vde: Virtual Distributed Ethernet
|
||||
# vnet: ARP, ICMP-echo(ping), DHCP and read/write TFTP are simulated.
|
||||
# The virtual host uses 192.168.10.1.
|
||||
# DHCP assigns 192.168.10.2 to the guest.
|
||||
# TFTP uses the ethdev value for the root directory and doesn't
|
||||
# overwrite files.
|
||||
#
|
||||
#=======================================================================
|
||||
# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=fbsd, ethdev=en0 #macosx
|
||||
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xl0
|
||||
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0
|
||||
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=win32, ethdev=MYCARD
|
||||
# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0
|
||||
# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig
|
||||
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=null, ethdev=eth0
|
||||
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl"
|
||||
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp"
|
||||
|
||||
#=======================================================================
|
||||
# KEYBOARD_MAPPING:
|
||||
# This enables a remap of a physical localized keyboard to a
|
||||
# virtualized us keyboard, as the PC architecture expects.
|
||||
# If enabled, the keymap file must be specified.
|
||||
#
|
||||
# Examples:
|
||||
# keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map
|
||||
#=======================================================================
|
||||
keyboard_mapping: enabled=0, map=
|
||||
|
||||
#=======================================================================
|
||||
# KEYBOARD_TYPE:
|
||||
# Type of keyboard return by a "identify keyboard" command to the
|
||||
# keyboard controler. It must be one of "xt", "at" or "mf".
|
||||
# Defaults to "mf". It should be ok for almost everybody. A known
|
||||
# exception is french macs, that do have a "at"-like keyboard.
|
||||
#
|
||||
# Examples:
|
||||
# keyboard_type: mf
|
||||
#=======================================================================
|
||||
#keyboard_type: mf
|
||||
|
||||
#=======================================================================
|
||||
# USER_SHORTCUT:
|
||||
# This defines the keyboard shortcut to be sent when you press the "user"
|
||||
# button in the headerbar. The shortcut string is a combination of maximum
|
||||
# 3 key names (listed below) separated with a '-' character. The old-style
|
||||
# syntax (without the '-') still works for the key combinations supported
|
||||
# in Bochs 2.2.1.
|
||||
# Valid key names:
|
||||
# "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc",
|
||||
# "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup",
|
||||
# "plus", "right", "shift", "space", "tab", "up", "win" and "print".
|
||||
#
|
||||
# Example:
|
||||
# user_shortcut: keys=ctrl-alt-del
|
||||
#=======================================================================
|
||||
#user_shortcut: keys=ctrl-alt-del
|
||||
|
||||
#=======================================================================
|
||||
# I440FXSUPPORT:
|
||||
# This option controls the presence 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. If Bochs is compiled with Cirrus SVGA support
|
||||
# you'll have the additional choice 'cirrus'.
|
||||
#
|
||||
# Example:
|
||||
# i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k
|
||||
#=======================================================================
|
||||
i440fxsupport: enabled=1
|
||||
|
||||
#=======================================================================
|
||||
# USB1:
|
||||
# This option controls the presence of the USB root hub which is a part
|
||||
# of the i440FX PCI chipset. With the portX option you can connect devices
|
||||
# to the hub (currently supported: 'mouse', 'tablet', 'keypad' and 'disk').
|
||||
# If you connect the mouse or tablet to one of the ports, Bochs forwards the
|
||||
# mouse movement data to the USB device instead of the selected mouse type.
|
||||
# When connecting the keypad to one of the ports, Bochs forwards the input of
|
||||
# the numeric keypad to the USB device instead of the PS/2 keyboard.
|
||||
# To connect a flat image as an USB hardisk you can use the 'disk' device with
|
||||
# the path to the image separated with a colon (see below).
|
||||
#=======================================================================
|
||||
#usb1: enabled=1
|
||||
#usb1: enabled=1, port1=mouse, port2=disk:usbdisk.img
|
||||
|
||||
#=======================================================================
|
||||
# CMOSIMAGE:
|
||||
# This defines image file that can be loaded into the CMOS RAM at startup.
|
||||
# The rtc_init parameter controls whether initialize the RTC with values stored
|
||||
# in the image. By default the time0 argument given to the clock option is used.
|
||||
# With 'rtc_init=image' the image is the source for the initial time.
|
||||
#
|
||||
# Example:
|
||||
# cmosimage: file=cmos.img, rtc_init=image
|
||||
#=======================================================================
|
||||
#cmosimage: file=cmos.img, rtc_init=time0
|
||||
|
||||
#=======================================================================
|
||||
# MAGIC_BREAK:
|
||||
# This enables the "magic breakpoint" feature when using the debugger.
|
||||
# The useless cpu instruction XCHG BX, BX causes Bochs to enter the
|
||||
# debugger mode. This might be useful for software development.
|
||||
#
|
||||
# Example:
|
||||
# magic_break: enabled=1
|
||||
#=======================================================================
|
||||
#magic_break: enabled=1
|
||||
|
||||
#=======================================================================
|
||||
# other stuff
|
||||
#=======================================================================
|
||||
#load32bitOSImage: os=nullkernel, path=../kernel.img, iolog=../vga_io.log
|
||||
#load32bitOSImage: os=linux, path=../linux.img, iolog=../vga_io.log, initrd=../initrd.img
|
||||
#text_snapshot_check: enabled=1
|
||||
#print_timestamps: enabled=1
|
||||
|
||||
#-------------------------
|
||||
# PCI host device mapping
|
||||
#-------------------------
|
||||
#pcidev: vendor=0x1234, device=0x5678
|
||||
|
||||
#=======================================================================
|
||||
# GDBSTUB:
|
||||
# Enable GDB stub. See user documentation for details.
|
||||
# Default value is enabled=0.
|
||||
#=======================================================================
|
||||
#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.
|
||||
#
|
||||
# vgaromimage: :bios:VGABIOS-elpin-2.40
|
||||
# romimage: file=:bios:BIOS-bochs-latest, address=0xf0000
|
||||
# floppya: 1_44=[fd:], status=inserted
|
||||
#=======================================================================
|
||||
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bxcommit.exe
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bxcommit.exe
Normal file
Binary file not shown.
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bxhub.exe
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bxhub.exe
Normal file
Binary file not shown.
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bximage.exe
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/bximage.exe
Normal file
Binary file not shown.
@@ -0,0 +1,46 @@
|
||||
###############################################################
|
||||
# bochsrc.txt file for DLX Linux disk image.
|
||||
###############################################################
|
||||
|
||||
# how much memory the emulated machine will have
|
||||
megs: 32
|
||||
|
||||
# filename of ROM images
|
||||
romimage: file=../BIOS-bochs-latest
|
||||
vgaromimage: file=../VGABIOS-lgpl-latest
|
||||
|
||||
# what disk images will be used
|
||||
floppya: 1_44=floppya.img, status=inserted
|
||||
floppyb: 1_44=floppyb.img, status=inserted
|
||||
|
||||
# hard disk
|
||||
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
|
||||
ata0-master: type=disk, path="hd10meg.img", cylinders=306, heads=4, spt=17
|
||||
|
||||
# choose the boot disk.
|
||||
boot: c
|
||||
|
||||
# default config interface is textconfig.
|
||||
#config_interface: textconfig
|
||||
#config_interface: wx
|
||||
|
||||
#display_library: x
|
||||
# other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga
|
||||
|
||||
# where do we send log messages?
|
||||
log: bochsout.txt
|
||||
|
||||
# disable the mouse, since DLX is text only
|
||||
mouse: enabled=0
|
||||
|
||||
# enable key mapping, using US layout as default.
|
||||
#
|
||||
# NOTE: In Bochs 1.4, keyboard mapping is only 100% implemented on X windows.
|
||||
# However, the key mapping tables are used in the paste function, so
|
||||
# in the DLX Linux example I'm enabling keyboard_mapping so that paste
|
||||
# will work. Cut&Paste is currently implemented on win32 and X windows only.
|
||||
|
||||
#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map
|
||||
#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-fr.map
|
||||
#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-de.map
|
||||
#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-es.map
|
||||
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/dlxlinux/hd10meg.img
Normal file
BIN
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/dlxlinux/hd10meg.img
Normal file
Binary file not shown.
@@ -0,0 +1,24 @@
|
||||
DLX Linux hard disk image
|
||||
-------------------------
|
||||
|
||||
DLX is a version of Linux which was small enough to distribute along with
|
||||
the Bochs Windows binary release. Because of its small size, a limited
|
||||
number of linux commands are available.
|
||||
|
||||
To boot with the DLX Linux disk image, cd to the dlxlinux directory
|
||||
and run bochs.
|
||||
|
||||
Linux will boot and reach a login: prompt. Type root followed by RETURN
|
||||
to log in, and you get a linux command prompt (#). Have fun! When you
|
||||
are done, type reboot at the "#" prompt. Bochs should exit after stopping
|
||||
all the tasks on the system.
|
||||
|
||||
A collection of larger (and therefore more useful) disk images is at
|
||||
|
||||
http://bochs.sourceforge.net/diskimages.html
|
||||
|
||||
CREDITS:
|
||||
The official DLX site is at http://www.wu-wien.ac.at/usr/h93/h9301726/dlx.html
|
||||
DLX was created by Erich and Hannes Boehm.
|
||||
|
||||
Bryce Denney converted the floppy into a small hard disk image for bochs.
|
||||
@@ -0,0 +1,2 @@
|
||||
cd "C:\software\Bochs-2.3.6\dlxlinux"
|
||||
..\bochs -q -f bochsrc.bxrc
|
||||
124
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/dlxlinux/testform.txt
Normal file
124
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/dlxlinux/testform.txt
Normal file
@@ -0,0 +1,124 @@
|
||||
-------------------------------------------------------------
|
||||
BOCHS TESTING FORM Version 0.3
|
||||
-------------------------------------------------------------
|
||||
|
||||
Because of the variety of platforms and configurations that Bochs
|
||||
supports, it is difficult for any one person to test it thoroughly.
|
||||
This form is intended to help the Bochs developers keep track of test
|
||||
results from different sources. To avoid confusion, this form should
|
||||
be submitted once for each combination of host OS and guest OS you
|
||||
try. For example: your host OS is Debian Linux and you get both Win95
|
||||
and FreeDOS to start up. You would send one form for
|
||||
Win95-under-Debian and a second form for FreeDOS-under-Debian. In
|
||||
this case it would save time to fill in the host OS part, copy it a
|
||||
few times and fill out the guest OS part for each copy.
|
||||
|
||||
To fill in a blank such as [__], replace the underlines and leave
|
||||
the brackets. Example: [Sun Ultrasparc 10]. To fill in a
|
||||
multiple-choice, just put an X in the brackets. Example: [X]
|
||||
Mail completed forms to bochs-testing@tlw.com.
|
||||
|
||||
|
||||
What is the date?
|
||||
[__]
|
||||
|
||||
What is your name?
|
||||
[__]
|
||||
|
||||
What is your email address?
|
||||
[__]
|
||||
|
||||
Do you mind if your name and email address are placed on a testing results
|
||||
web page so that people with a similar setup can write to you?
|
||||
[ ] Ok, put it on a web page
|
||||
[ ] No, keep my address private.
|
||||
|
||||
What type of hardware are you using, e.g. 500MHz Intel Celeron.
|
||||
[__]
|
||||
|
||||
What operating system are you using? Please be specific, e.g.
|
||||
Redhat Linux 6.2 with 2.2.16 kernel.
|
||||
[__]
|
||||
|
||||
What version of bochs are you using?
|
||||
[ ] compiled from version 2.1.1
|
||||
[ ] compiled from version [_____]
|
||||
[ ] I compiled it from the CVS sources from date: [__]
|
||||
[ ] other source distribution from URL: [__]
|
||||
[ ] binary distribution from URL: [__]
|
||||
|
||||
Please fill in the next few questions only if you compiled Bochs
|
||||
yourself, as opposed to downloading a binary.
|
||||
|
||||
Did the configure script run ok, and detect your hardware and
|
||||
operating system?
|
||||
[ ] Yes
|
||||
[ ] No, configure crashed.
|
||||
[ ] No, configure ran ok but produced a bad configuration.
|
||||
[ ] No, I cannot run configure on my platform (win32 and mac).
|
||||
|
||||
If you used configure, what arguments did you give it? If you used a
|
||||
.conf.* script, give the name of the .conf script instead.
|
||||
[__]
|
||||
|
||||
What compiler did you use? (Please include version.)
|
||||
[__]
|
||||
|
||||
Did Bochs compile clean without any hacking?
|
||||
[ ] Yes
|
||||
[ ] No
|
||||
|
||||
If you had to make changes to compile, please summarize the problems you
|
||||
had or include diffs.
|
||||
[__]
|
||||
|
||||
End of compile-specific questions!
|
||||
|
||||
What guest operating system are you using inside bochs?
|
||||
[__]
|
||||
|
||||
Are you booting from a floppy or hard disk?
|
||||
[ ] floppy image
|
||||
[ ] raw floppy drive
|
||||
[ ] hard drive image
|
||||
[ ] raw hard drive (is this even possible?)
|
||||
[ ] other [__]
|
||||
|
||||
Did the guest operating system boot successfully?
|
||||
[ ] Yes
|
||||
[ ] No
|
||||
|
||||
If no, what error messages do you see on the console or in the log file?
|
||||
[__]
|
||||
|
||||
What applications worked under this guest operating system?
|
||||
[__]
|
||||
|
||||
What applications failed under this guest operating system? Did the
|
||||
application function incorrectly, crash Bochs, or what? If you got a
|
||||
panic, paste in the panic message that you received with some
|
||||
description of what was happening at the time.
|
||||
[__]
|
||||
|
||||
The remaining questions are about Bochs features that you may not have
|
||||
used. If you tried out the feature, move the X to the "works" or
|
||||
"fails" column.
|
||||
|
||||
Not Works
|
||||
tested ok Fails Comments?
|
||||
keyboard [ ] [ ] [ ] [__]
|
||||
floppy disk [X] [ ] [ ] [__]
|
||||
raw floppy disk [X] [ ] [ ] [__]
|
||||
hard disk [X] [ ] [ ] [__]
|
||||
floating point [X] [ ] [ ] [__]
|
||||
mouse [X] [ ] [ ] [__]
|
||||
cdrom [X] [ ] [ ] [__]
|
||||
sb16 [X] [ ] [ ] [__]
|
||||
ne2000 [X] [ ] [ ] [__]
|
||||
i440FX pci [X] [ ] [ ] [__]
|
||||
debugger [X] [ ] [ ] [__]
|
||||
external loader [X] [ ] [ ] [__]
|
||||
VGA [X] [ ] [ ] [__]
|
||||
|
||||
Thank you for your contribution in the Bochs testing effort! Please
|
||||
mail completed forms to bochs-testing@tlw.com.
|
||||
@@ -0,0 +1,182 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>About the code</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Ideas for other sections"
|
||||
HREF="other.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Directory Structure"
|
||||
HREF="directory-structure.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="other.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="directory-structure.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="ABOUT-THE-CODE"
|
||||
></A
|
||||
>Chapter 2. About the code</H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="CODE-OVERVIEW"
|
||||
>2.1. Overview</A
|
||||
></H1
|
||||
><P
|
||||
>The initial versions of some sections in this chapter are based on a document
|
||||
written by Peter "Firefly" Lund. It was added and updated in January 2006.</P
|
||||
><P
|
||||
>The Bochs virtual PC consists of many pieces of hardware. At a bare minimum
|
||||
there are always a CPU, a PIT (Programmable Interval Timer), a PIC
|
||||
(Programmable Interrupt Controller), a DMA controller, some memory (this
|
||||
includes both RAM and BIOS ROMs), a video card (usually VGA), a keyboard port
|
||||
(also handles the mouse), an RTC with battery backed NVRAM, and some extra
|
||||
motherboard circuitry.</P
|
||||
><P
|
||||
>There might also be a NE2K ethernet card, a PCI controller, a Sound Blaster 16,
|
||||
an IDE controller (+ harddisks/CDROM), a SCSI controller (+ harddisks), a
|
||||
floppy controller, an APIC ..</P
|
||||
><P
|
||||
>There may also be more than one CPU.</P
|
||||
><P
|
||||
>Most of these pieces of hardware have their own C++ class - and if Bochs is
|
||||
configured to have more than one piece of a type of hardware, each will have
|
||||
its own object.</P
|
||||
><P
|
||||
>The pieces of hardware communicates over a couple of buses with each other -
|
||||
some of the things that the buses carry are reads and writes in memory space,
|
||||
reads and writes in I/O space, interrupt requests, interrupt acknowledges, DMA
|
||||
requests, DMA acknowledges, and NMI request/acknowledge. How that is simulated
|
||||
is explained later.<IMG
|
||||
SRC="../images/undercon.png"></P
|
||||
><P
|
||||
>Other important pieces of the puzzle are: the options object (reads/writes
|
||||
configuration files, can be written to and queried while Bochs is running) and
|
||||
the GUI object. There are many different but compatible implementations of the
|
||||
GUI object, depending on whether you compile for X (Unix/Linux), Win32,
|
||||
Macintosh (two versions: one for Mac OS X and one for older OS's), BeOS, Amiga,
|
||||
etc.</P
|
||||
><P
|
||||
>And then there is the supporting cast: debugger, config menu, panic handler,
|
||||
disassembler, tracer, instrumentation.</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="other.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="directory-structure.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Ideas for other sections</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Directory Structure</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,176 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>How to add keymapping in a GUI client</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="About the code"
|
||||
HREF="about-the-code.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Harddisk Images based on redologs"
|
||||
HREF="harddisk-redologs.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Debugger"
|
||||
HREF="debugger.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="harddisk-redologs.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 2. About the code</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="debugger.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="ADD-KEYMAPPING"
|
||||
>2.10. How to add keymapping in a GUI client</A
|
||||
></H1
|
||||
><P
|
||||
>Christophe Bothamy, wrote the keymapping code for Bochs, provided these
|
||||
instructions to help developers to add keymapping to a GUI.</P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>Bochs creates a bx_keymap_c object named bx_keymap.
|
||||
This object allows you to :
|
||||
- load the configuration specified keymap file
|
||||
- get the translated BX_KEY_* from your GUI key
|
||||
|
||||
You have to provide a translation function from string to your Bit32u key
|
||||
constant. Casting will be necessary if your key constants are not Bit32u typed.
|
||||
The function must be "static Bit32u (*)(const char *)" typed, and must return
|
||||
BX_KEYMAP_UNKNOWN if it can not translate the parameter string.
|
||||
|
||||
What you have to do is :
|
||||
- call once "void loadKeymap(Bit32u (*)(const char*))",
|
||||
providing your translation function, to load the keymap
|
||||
- call "Bit32u getBXKey(Bit32u)" that returns the BX_KEY_*
|
||||
constant, for each key you want to map.
|
||||
|
||||
The file gui/x.cc implements this architecture, so you can refer to it
|
||||
as an example.</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="harddisk-redologs.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Harddisk Images based on redologs</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Debugger</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>available tools</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="other content"
|
||||
HREF="other-content.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="other-content.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 5. Webmastering</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AVAILABLE-TOOLS"
|
||||
>5.6. available tools</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png"> sources, tmp
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="other-content.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>other content</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,275 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Bochs's CMOS map</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="About the code"
|
||||
HREF="about-the-code.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="timers"
|
||||
HREF="timers.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Sound Blaster 16 Emulation"
|
||||
HREF="sb16-emulation-basics.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="timers.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 2. About the code</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="sb16-emulation-basics.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="CMOS-MAP"
|
||||
>2.7. Bochs's CMOS map</A
|
||||
></H1
|
||||
><P
|
||||
>In addition to the default CMOS RAM layout, the Bochs BIOS uses some additional
|
||||
registers for harddisk parameters and the boot sequence. The following table
|
||||
shows all CMOS registers and their meaning.</P
|
||||
><P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>Legend:
|
||||
S - set by the emulator (Bochs)
|
||||
B - set by the bios
|
||||
U - unused by the bios
|
||||
|
||||
LOC NOTES MEANING
|
||||
0x00 S rtc seconds
|
||||
0x01 B second alarm
|
||||
0x02 S rtc minutes
|
||||
0x03 B minute alarm
|
||||
0x04 S rtc hours
|
||||
0x05 B hour alarm
|
||||
|
||||
0x06 S,U day of week
|
||||
0x07 S,B date of month
|
||||
0x08 S,B month
|
||||
0x09 S,B year
|
||||
|
||||
0x0a S,B status register A
|
||||
0x0b S,B status register B
|
||||
0x0c S status register C
|
||||
0x0d S status register D
|
||||
|
||||
0x0f S shutdown status
|
||||
values:
|
||||
0x00: normal startup
|
||||
0x09: normal
|
||||
0x0d+: normal
|
||||
0x05: eoi ?
|
||||
else: unimpl
|
||||
|
||||
0x10 S fd drive type (2 nibbles: high=fd0, low=fd1)
|
||||
values:
|
||||
1: 360K 5.25"
|
||||
2: 1.2MB 5.25"
|
||||
3: 720K 3.5"
|
||||
4: 1.44MB 3.5"
|
||||
5: 2.88MB 3.5"
|
||||
|
||||
!0x11 configuration bits!!
|
||||
|
||||
0x12 S how many disks first (hd type)
|
||||
|
||||
!0x13 advanced configuration bits!!
|
||||
|
||||
0x14 S,U equipment byte (?)
|
||||
bits where what
|
||||
7-6 floppy.cc
|
||||
5-4 vga.cc 0 = vga
|
||||
2 keyboard.cc 1 = enabled
|
||||
0 floppy.cc
|
||||
|
||||
0x15 S,U base memory - low
|
||||
0x16 S,U base memory - high
|
||||
|
||||
0x17 S,U extended memory in k - low
|
||||
0x18 S,U extended memory in k - high
|
||||
|
||||
0x19 S hd0: extended type
|
||||
0x1a S hd1: extended type
|
||||
|
||||
0x1b S,U hd0:cylinders - low
|
||||
0x1c S,U hd0:cylinders - high
|
||||
0x1d S,U hd0:heads
|
||||
0x1e S,U hd0:write pre-comp - low
|
||||
0x1f S,U hd0:write pre-comp - high
|
||||
0x20 S,U hd0:retries/bad_map/heads>8
|
||||
0x21 S,U hd0:landing zone - low
|
||||
0x22 S,U hd0:landing zone - high
|
||||
0x23 S,U hd0:sectors per track
|
||||
|
||||
0x24 S,U hd1:cylinders - low
|
||||
0x25 S,U hd1:cylinders - high
|
||||
0x26 S,U hd1:heads
|
||||
0x27 S,U hd1:write pre-comp - low
|
||||
0x28 S,U hd1:write pre-comp - high
|
||||
0x29 S,U hd1:retries/bad_map/heads>8
|
||||
0x2a S,U hd1:landing zone - low
|
||||
0x2b S,U hd1:landing zone - high
|
||||
0x2c S,U hd1:sectors per track
|
||||
|
||||
0x2d S boot from (bit5: 0:fd, 1:hd)
|
||||
|
||||
0x2e S,U standard cmos checksum (0x10->0x2d) - high
|
||||
0x2f S,U standard cmos checksum (0x10->0x2d) - low
|
||||
|
||||
0x30 S extended memory in k - low
|
||||
0x31 S extended memory in k - high
|
||||
|
||||
0x32 S rtc century
|
||||
|
||||
0x34 S extended memory in 64k - low
|
||||
0x35 S extended memory in 64k - high
|
||||
|
||||
0x37 S ps/2 rtc century (copy of 0x32, needed for winxp)
|
||||
|
||||
0x38 S eltorito boot sequence + boot signature check
|
||||
bits
|
||||
0 floppy boot signature check (1: disabled, 0: enabled)
|
||||
7-4 boot drive #3 (0: unused, 1: fd, 2: hd, 3:cd, else: fd)
|
||||
|
||||
0x39 S ata translation policy - ata0 + ata1
|
||||
bits
|
||||
1-0 ata0-master (0: none, 1: LBA, 2: LARGE, 3: R-ECHS)
|
||||
3-2 ata0-slave
|
||||
5-4 ata1-master
|
||||
7-6 ata1-slave
|
||||
|
||||
0x3a S ata translation policy - ata2 + ata3 (see above)
|
||||
|
||||
0x3d S eltorito boot sequence (see above)
|
||||
bits
|
||||
3-0 boot drive #1
|
||||
7-4 boot drive #2</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="timers.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="sb16-emulation-basics.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>timers</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Sound Blaster 16 Emulation</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,229 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Coding</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="I/O Interface to Bochs Debugger"
|
||||
HREF="iodebug.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="patches:"
|
||||
HREF="patches.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="iodebug.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="patches.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="CODING"
|
||||
></A
|
||||
>Chapter 4. Coding</H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1097"
|
||||
>4.1. Coding guidelines</A
|
||||
></H1
|
||||
><P
|
||||
><P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>Don't make use of any external C++ classes.</B
|
||||
></P
|
||||
><P
|
||||
>They are not offered on all platforms and this would make Bochs non-portable.
|
||||
There is use of such classes in the optional debugger. I plan on removing this use.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>Don't use fancy C++ features.</B
|
||||
></P
|
||||
><P
|
||||
>Bochs is incredibly performance sensitive, and will be increasingly so as
|
||||
more speed enhancements are added. There's a time and place for most everything
|
||||
and this is not it. Some advanced features create overhead in the generated code
|
||||
that you don't see. They also convolute the code, and sometimes occlude that is
|
||||
really going on.
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>Don't use templates</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Don't use virtual functions if not strictly required</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Don't use C++ exceptions</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Don't use overloading of any kind</P
|
||||
></LI
|
||||
></UL
|
||||
></P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>Use soft tabs.</B
|
||||
></P
|
||||
><P
|
||||
>At least when you submit code, convert all hard tabs to spaces.
|
||||
There is no uniform way to handle tabs properly.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>Please do compile with all warnings turned on.</B
|
||||
></P
|
||||
><P
|
||||
>It's really difficult to spot interesting warnings when a compile is littered
|
||||
with non-interesting ones.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>Don't use signed ints where unsigned will do.</B
|
||||
></P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>Make sure that contributed code / patches are LGPL compatible.</B
|
||||
></P
|
||||
></LI
|
||||
></UL
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="iodebug.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="patches.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>I/O Interface to Bochs Debugger</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>patches:</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,149 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Configure Scripting</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="About the code"
|
||||
HREF="about-the-code.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Emulator Objects"
|
||||
HREF="emulator-objects.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Log Functions"
|
||||
HREF="logfunctions.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="emulator-objects.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 2. About the code</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="logfunctions.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="CONFIGURE-SCRIPTING"
|
||||
>2.4. Configure Scripting</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
configure script, makefiles, header files
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="emulator-objects.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="logfunctions.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Emulator Objects</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Log Functions</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,506 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Building a Bochs release</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Coding"
|
||||
HREF="coding.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="patches:"
|
||||
HREF="patches.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="patches.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 4. Coding</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="CVS-RELEASE"
|
||||
>4.3. Building a Bochs release</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1138"
|
||||
>4.3.1. Preparing source files and CVS</A
|
||||
></H2
|
||||
><P
|
||||
>Update version number and strings in configure.in.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>VERSION="2.2.pre2"
|
||||
VER_STRING="2.2.pre2"
|
||||
REL_STRING="Build from CVS snapshot on March 25, 2005"</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
In the README file you have to update version number and date. Add some
|
||||
information about new features if necessary.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>Bochs x86 Pentium+ Emulator
|
||||
Updated: Fri Mar 25 10:33:15 CET 2005
|
||||
Version: 2.2.pre2</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Check date, update/sumup info in CHANGES. Run autoconf to regenerate configure and check them in.
|
||||
Create a CVS tag to mark which revision of each file was used in the release.
|
||||
For prereleases I make a normal CVS tag like this:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> cvs tag REL_2_2_pre2_FINAL</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
But for a real release, I make a CVS branch tag AND a normal tag.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> cvs tag REL_2_2_BASE
|
||||
cvs tag -b REL_2_2</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
The base tag marks where the branch split off of the main trunk.
|
||||
This is very useful in maintaining the branch since you can do diffs
|
||||
against it.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> cvs diff -r REL_2_2_BASE -r HEAD
|
||||
cvs diff -r REL_2_2_BASE -r REL_2_0
|
||||
cvs upd -j REL_2_2_BASE -j HEAD file
|
||||
etc.</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
The release and all bugfix releases after it are on the REL_2_2 branch.
|
||||
When the release is actually finalized, you can do this:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> cvs tag REL_2_2_FINAL</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Now you can start building packages based on the created release tag.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1147"
|
||||
>4.3.2. Building the release on win32</A
|
||||
></H2
|
||||
><P
|
||||
>These instructions require cygwin and MSVC++.</P
|
||||
><P
|
||||
>In Cygwin:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> sh .conf.win32-vcpp # runs configure
|
||||
make win32_snap # unzip workspace, make a win32 source ZIP</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Copy the source ZIP to a windows machine, if necessary.</P
|
||||
><P
|
||||
>Open up Visual C++ and load the workspace file Bochs.dsw. Check
|
||||
the Build:Set Active Project Configuration is set the way you want it.
|
||||
For releases I use "Win32 Release".</P
|
||||
><P
|
||||
>To create "bochsdbg.exe" with Bochs debugger support, manually change two
|
||||
lines in config.h to turn on the debugger.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>#define BX_DEBUGGER 1
|
||||
#define BX_DISASM 1</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
VC++ will rebuild Bochs with debugger and overwrite bochs.exe. To avoid
|
||||
trashing the non-debug version, move it out of the way while the debugger
|
||||
version is being built. Then rename the debugger version to bochsdbg.exe.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>cd obj-release
|
||||
mv bochs.exe bochs-normal.exe
|
||||
(build again with BX_DEBUGGER=1 this time)
|
||||
mv bochs.exe bochsdbg.exe
|
||||
mv bochs-normal.exe bochs.exe</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><P
|
||||
>To get the docbook installed, you need to do something like this:
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> make dl_docbook </P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> copy up to date doc files </P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
Then you can do
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>cd doc/docbook; touch */*.html</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Do make install_win32 into /tmp or someplace:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>make install_win32 prefix=/tmp/bochs-2.2.pre2</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
This copies all the files into /tmp/bochs-2.2.pre2 and then creates a
|
||||
binary ZIP at /tmp/bochs-2.2.pre2.zip. Rename that bochs-2.2.pre2.win32-bin.zip.</P
|
||||
><P
|
||||
>Now make the NSIS installer package (the current script is known to work with NSIS 2.03)
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>cd build/win32/nsis</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Unzip the binary ZIP file into bochs-$VERSION (must match Makefile) and
|
||||
then run make.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>unzip ~/bochs-2.2.pre2.zip
|
||||
make</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
That gives an installer called <TT
|
||||
CLASS="FILENAME"
|
||||
>Bochs-2.2.pre2.exe</TT
|
||||
>. Test and upload it.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1168"
|
||||
>4.3.3. Building the release on Linux</A
|
||||
></H2
|
||||
><P
|
||||
>Do a clean checkout using anonymous cvs, so that the source tarball
|
||||
will be all set up for anonymous cvs. First I'll create a clean
|
||||
directory called "clean-anon".
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>cvs -d:pserver:anonymous@bochs.cvs.sourceforge.net:/cvsroot/bochs login
|
||||
cvs -z3 -d:pserver:anonymous@bochs.cvs.sourceforge.net:/cvsroot/bochs \
|
||||
checkout -d clean-anon bochs</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Start with clean-anon which tracks the CVS head. Change its sticky tag
|
||||
so that it sticks to the release tag.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>cp -a clean-anon bochs-2.2.pre2
|
||||
cd bochs-2.2.pre2
|
||||
cvs upd -P -r REL_2_2_pre2_FINAL
|
||||
cd ..
|
||||
tar czvf bochs-2.2.pre2.tar.gz --exclude CVS --exclude .cvsignore bochs-2.2.pre2</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
The source TAR file bochs-2.2.pre2.tar.gz is ready to upload.</P
|
||||
><P
|
||||
>The RPM will be building using the configuration in .conf.linux with
|
||||
a few parameters from build/redhat/make-rpm. Make any last minute changes
|
||||
to .conf.linux. Any changes will go into the source RPM.
|
||||
WARNING : do not build in /tmp/bochs-XXX...
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>./build/redhat/make-rpm | tee ../build.txt</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
This produces two rpm files in the current directory. Test and upload.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1175"
|
||||
>4.3.4. Uploading files and creating a file release on SF</A
|
||||
></H2
|
||||
><P
|
||||
>When you are ready with creating release packages you have to upload them to SF
|
||||
using anonymous FTP using this location:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>upload.sourceforge.net/incoming</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Note that you cannot modify or delete files after uploading them. If you don't do
|
||||
anything with the uploaded files, they will be deleted by SF after 24 hours.</P
|
||||
><P
|
||||
>To create or edit a file release you have to log in to the <B
|
||||
CLASS="COMMAND"
|
||||
>Admin</B
|
||||
>
|
||||
section on the SF project page of Bochs. Then you have to go to the
|
||||
<B
|
||||
CLASS="COMMAND"
|
||||
>File Releases</B
|
||||
> page and follow the instructions there.</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="patches.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>patches:</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Webmastering</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,349 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Advanced debugger usage</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="How to add keymapping in a GUI client"
|
||||
HREF="add-keymapping.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="The instrumentation feature"
|
||||
HREF="instrumentation.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="add-keymapping.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="instrumentation.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="DEBUGGER-ADVANCED"
|
||||
></A
|
||||
>Chapter 3. Advanced debugger usage</H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="IODEBUG"
|
||||
>3.1. I/O Interface to Bochs Debugger</A
|
||||
></H1
|
||||
><P
|
||||
>This device was added by Dave Poirier (eks@void-core.2y.net).</P
|
||||
><P
|
||||
>Compiling Bochs with iodebug support
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>./configure --enable-iodebug
|
||||
make</PRE
|
||||
>
|
||||
Other optional fields may be added to the ./configure line, see Bochs
|
||||
documentation for all the information. To enable the iodebug plugin at runtime,
|
||||
it must be loaded with the 'plugin_ctrl' bochsrc option.</P
|
||||
><P
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>Using the I/O Interface to the debugger
|
||||
|
||||
port range: 0x8A00 - 0x8A01
|
||||
|
||||
Port 0x8A00 servers as command register. You can use it to enable the i/o interface,
|
||||
change which data register is active, etc.
|
||||
|
||||
Port 0x8A01 is used as data register for the memory monitoring.</PRE
|
||||
></P
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1458"
|
||||
>3.1.1. Commands supported by port 0x8A00</A
|
||||
></H2
|
||||
><P
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> 0x8A00
|
||||
|
||||
Used to enable the device. Any I/O to the debug module before this command is sent
|
||||
is sent will simply be ignored.
|
||||
|
||||
|
||||
0x8A01
|
||||
|
||||
Selects register 0: Memory monitoring range start address (inclusive)
|
||||
|
||||
|
||||
0x8A02
|
||||
|
||||
Selects register 1: Memory monitoring range end address (exclusive)
|
||||
|
||||
|
||||
0x8A80
|
||||
|
||||
Enable address range memory monitoring as indicated by register 0 and 1 and
|
||||
clears both registers
|
||||
|
||||
|
||||
0x8AE0 - Return to Debugger Prompt
|
||||
|
||||
If the debugger is enabled (via --enable-debugger), sending 0x8AE0 to port 0x8A00
|
||||
after the device has been enabled will return the Bochs to the debugger prompt.
|
||||
Basically the same as doing CTRL+C.
|
||||
|
||||
|
||||
0x8AE2 - Instruction Trace Disable
|
||||
|
||||
If the debugger is enabled (via --enable-debugger), sending 0x8AE2 to port 0x8A00
|
||||
after the device has been enabled will disable instruction tracing
|
||||
|
||||
|
||||
0x8AE3 - Instruction Trace Enable
|
||||
|
||||
If the debugger is enabled (via --enable-debugger), sending 0x8AE3 to port 0x8A00
|
||||
after the device has been enabled will enable instruction tracing
|
||||
|
||||
|
||||
0x8AE4 - Register Trace Disable
|
||||
|
||||
If the debugger is enabled (via --enable-debugger), sending 0x8AE4 to port 0x8A00
|
||||
after the device has been enabled will disable register tracing.
|
||||
|
||||
|
||||
0x8AE5 - Register Trace Enable
|
||||
|
||||
If the debugger is enabled (via --enable-debugger), sending 0x8AE5 to port 0x8A00
|
||||
after the device has been enabled will enable register tracing. This currently
|
||||
output the value of all the registers for each instruction traced.
|
||||
Note: instruction tracing must be enabled to view the register tracing
|
||||
|
||||
|
||||
0x8AFF
|
||||
|
||||
Disable the I/O interface to the debugger and the memory monitoring functions.</PRE
|
||||
>
|
||||
<DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>all accesses must be done using word</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
>
|
||||
<DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>reading this register will return 0x8A00 if currently activated, otherwise 0</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1466"
|
||||
>3.1.2. Access to port 0x8A01 (write-only)</A
|
||||
></H2
|
||||
><P
|
||||
>All accesses to this port must be done using words. Writing to this port will shift
|
||||
to the left by 16 the current value of the register and add the provided value to it.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>Sample:
|
||||
|
||||
reg0 = 0x01234567
|
||||
|
||||
out port: 0x8A01 data: 0xABCD
|
||||
|
||||
reg0 = 0x4567ABCD</PRE
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1470"
|
||||
>3.1.3. Sample</A
|
||||
></H2
|
||||
><P
|
||||
>Enable memory monitoring on first page of text screen (0xb8000-0xb8fa0):
|
||||
add in bochrc file: <B
|
||||
CLASS="COMMAND"
|
||||
>optromimage1: file="asmio.rom", address=0xd0000</B
|
||||
>
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>/*
|
||||
* Make asmio ROM file:
|
||||
* gcc -c asmio.S
|
||||
* objcopy -O binary asmio.o asmio.rom
|
||||
*/
|
||||
.text
|
||||
.global start
|
||||
.code16
|
||||
|
||||
/* ROM Header */
|
||||
.byte 0x55
|
||||
.byte 0xAA
|
||||
.byte 1 /* 512 bytes long */
|
||||
|
||||
start:
|
||||
/* Monitor memory access on first page of text screen */
|
||||
mov $0x8A00,%dx /* Enable iodebug (0x8A00->0x8A00) */
|
||||
mov %dx,%ax
|
||||
out %ax,%dx
|
||||
mov $0x8A01,%ax /* Select register 0 start addr (0x8A01->0x8A00) */
|
||||
out %ax,%dx
|
||||
mov $0x8A01,%dx /* Write start addr 0xB8000 (high word first) */
|
||||
mov $0xB,%ax
|
||||
out %ax,%dx
|
||||
mov $0x8000,%ax /* Write start addr (low word) */
|
||||
out %ax,%dx
|
||||
|
||||
mov $0x8A02,%ax /* Select register 1 end addr (0x8A02->0x8A00) */
|
||||
mov $0x8A00,%dx
|
||||
out %ax,%dx
|
||||
mov $0x8A01,%dx /* Write end addr 0xB8FA0 (high word first) */
|
||||
mov $0xB,%ax
|
||||
out %ax,%dx
|
||||
mov $0x8FA0,%ax /* Write end addr (low word) */
|
||||
out %ax,%dx
|
||||
|
||||
mov $0x8A00,%dx /* Enable addr range memory monitoring (0x8A80->0x8A00) */
|
||||
mov $0x8A80,%ax
|
||||
out %ax,%dx
|
||||
|
||||
mov $0x8A00,%dx /* Return to Bochs Debugger Prompt (0x8AE0->0x8A00) */
|
||||
mov $0x8AE0,%ax
|
||||
out %ax,%dx
|
||||
lret
|
||||
|
||||
.byte 0x6b /* Checksum (code dependent!, update it as needed) */
|
||||
.align 512 /* NOP follow */</PRE
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="add-keymapping.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="instrumentation.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>How to add keymapping in a GUI client</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>The instrumentation feature</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>command reference</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Debugger"
|
||||
HREF="debugger.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="get started in debugger"
|
||||
HREF="debugger-get-started.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="techniques"
|
||||
HREF="debugger-techniques.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="debugger-get-started.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 3. Debugger</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="debugger-techniques.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="DEBUGGER-COMMANDS"
|
||||
>3.3. command reference</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger-get-started.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger-techniques.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>get started in debugger</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>techniques</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>get started in debugger</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Debugger"
|
||||
HREF="debugger.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Debugger"
|
||||
HREF="debugger.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="command reference"
|
||||
HREF="debugger-commands.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="debugger.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 3. Debugger</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="debugger-commands.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="DEBUGGER-GET-STARTED"
|
||||
>3.2. get started in debugger</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger-commands.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Debugger</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>command reference</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,147 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Bochs debugger internals</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Advanced debugger usage"
|
||||
HREF="debugger-advanced.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="The instrumentation feature"
|
||||
HREF="instrumentation.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Coding"
|
||||
HREF="coding.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="instrumentation.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 3. Advanced debugger usage</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="DEBUGGER-INTERNALS"
|
||||
>3.3. Bochs debugger internals</A
|
||||
></H1
|
||||
><P
|
||||
><IMG
|
||||
SRC="../images/undercon.png"> Not written yet (take stuff from bxdebugger.html).</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="instrumentation.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>The instrumentation feature</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger-advanced.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Coding</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>techniques</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Debugger"
|
||||
HREF="debugger.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="command reference"
|
||||
HREF="debugger-commands.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="I/O Interface to Bochs Debugger"
|
||||
HREF="iodebug.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="debugger-commands.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 3. Debugger</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="iodebug.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="DEBUGGER-TECHNIQUES"
|
||||
>3.4. techniques</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger-commands.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="iodebug.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>command reference</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>I/O Interface to Bochs Debugger</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,149 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Debugger</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="How to add keymapping in a GUI client"
|
||||
HREF="add-keymapping.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="get started in debugger"
|
||||
HREF="debugger-get-started.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="add-keymapping.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="debugger-get-started.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="DEBUGGER"
|
||||
></A
|
||||
>Chapter 3. Debugger</H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1055"
|
||||
>3.1. compile with debugger support</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="add-keymapping.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger-get-started.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>How to add keymapping in a GUI client</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>get started in debugger</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,302 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Directory Structure</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="About the code"
|
||||
HREF="about-the-code.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="About the code"
|
||||
HREF="about-the-code.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Emulator Objects"
|
||||
HREF="emulator-objects.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 2. About the code</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="emulator-objects.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="DIRECTORY-STRUCTURE"
|
||||
>2.2. Directory Structure</A
|
||||
></H1
|
||||
><P
|
||||
><DIV
|
||||
CLASS="TABLE"
|
||||
><A
|
||||
NAME="AEN99"
|
||||
></A
|
||||
><P
|
||||
><B
|
||||
>Table 2-1. Directory structure</B
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="1"
|
||||
CLASS="CALSTABLE"
|
||||
><COL><COL><THEAD
|
||||
><TR
|
||||
><TH
|
||||
>Location</TH
|
||||
><TH
|
||||
>Meaning</TH
|
||||
></TR
|
||||
></THEAD
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
>bios</TD
|
||||
><TD
|
||||
>System and VGA BIOS images, system BIOS sources and makefile</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>build</TD
|
||||
><TD
|
||||
>additional stuff required for building Bochs on different platforms</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>bx_debug</TD
|
||||
><TD
|
||||
>the builtin Bochs debugger</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>cpu</TD
|
||||
><TD
|
||||
>the cpu emulation sources</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>disasm</TD
|
||||
><TD
|
||||
>the disassembler for the Bochs debugger</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>doc/docbook</TD
|
||||
><TD
|
||||
>the Bochs documentation in DocBook format</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>doc/man</TD
|
||||
><TD
|
||||
>Bochs manual pages</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>docs-html</TD
|
||||
><TD
|
||||
>old Bochs documentation in HTML (will be replaced by DocBook)</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>dynamic</TD
|
||||
><TD
|
||||
>empty directory (reserved for dynamic translation code)</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>font</TD
|
||||
><TD
|
||||
>the default VGA font used by most of the display libraries</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>fpu</TD
|
||||
><TD
|
||||
>the fpu emulation sources</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>gui</TD
|
||||
><TD
|
||||
>display libraries (guis), the simulator interface and text mode config interface</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>gui/bitmaps</TD
|
||||
><TD
|
||||
>bitmaps for the headerbar</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>gui/keymaps</TD
|
||||
><TD
|
||||
>keymaps for the keyboard mapping feature</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>host</TD
|
||||
><TD
|
||||
>host specific drivers (currently only used by the pcidev kernel module for Linux)</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>instrument</TD
|
||||
><TD
|
||||
>directory tree for the instrumentation feature</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>iodev</TD
|
||||
><TD
|
||||
>standard PC devices, PCI devices, lowlevel networking and sound drivers</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>memory</TD
|
||||
><TD
|
||||
>memory management and ROM loader</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>misc</TD
|
||||
><TD
|
||||
>useful utilities (e.g. bximage, bxcommit, niclist)</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>misc/sb16</TD
|
||||
><TD
|
||||
>tool to control the SB16 emulation from the guest side</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>patches</TD
|
||||
><TD
|
||||
>pending patches</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>plex86</TD
|
||||
><TD
|
||||
>plex86 directory structure (possibly outdated)</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
></DIV
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="emulator-objects.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>About the code</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Emulator Objects</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,498 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Emulator Objects</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="About the code"
|
||||
HREF="about-the-code.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Directory Structure"
|
||||
HREF="directory-structure.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Configure Scripting"
|
||||
HREF="configure-scripting.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="directory-structure.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 2. About the code</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="configure-scripting.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="EMULATOR-OBJECTS"
|
||||
>2.3. Emulator Objects</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN175"
|
||||
>2.3.1. Weird macros and other mysteries</A
|
||||
></H2
|
||||
><P
|
||||
>Bochs has many macros with inscrutable names. One might even go as far as to
|
||||
say that Bochs is macro infested.
|
||||
Some of them are gross speed hacks, to cover up the slow speed that C++ causes.
|
||||
Others paper over differences between the simulated PC configurations.
|
||||
Many of the macros exhibit the same problem as C++ does: too much stuff happens
|
||||
behind the programmer's back. More explicitness would be a big win.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="STATIC-METHODS-HACK"
|
||||
>2.3.2. Static methods hack</A
|
||||
></H2
|
||||
><P
|
||||
>C++ methods have an invisible parameter called the this pointer - otherwise the
|
||||
method wouldn't know which object to operate on. In many cases in Bochs, there
|
||||
will only ever be one object - so this flexibility is unnecessary. There is a
|
||||
hack that can be enabled by #defining BX_USE_CPU_SMF to 1 in <TT
|
||||
CLASS="FILENAME"
|
||||
>config.h</TT
|
||||
> that makes most methods static, which means they have a "special
|
||||
relationship" with the class they are declared in but apart from that are
|
||||
normal C functions with no hidden parameters. Of course they still need access
|
||||
to the internals of an object, so the single object of their class has a globally
|
||||
visible name that these functions use. It is all hidden with macros.</P
|
||||
><P
|
||||
>Declaration of a class, from iodev/pic.h:</P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>...
|
||||
#if BX_USE_PIC_SMF
|
||||
# define BX_PIC_SMF static
|
||||
# define BX_PIC_THIS thePic->
|
||||
#else
|
||||
# define BX_PIC_SMF
|
||||
# define BX_PIC_THIS this->
|
||||
#endif
|
||||
...
|
||||
class bx_pic_c : public bx_pic_stub_c {
|
||||
|
||||
public:
|
||||
bx_pic_c(void);
|
||||
~bx_pic_c(void);
|
||||
...
|
||||
BX_PIC_SMF void service_master_pic(void);
|
||||
BX_PIC_SMF void service_slave_pic(void);
|
||||
BX_PIC_SMF void clear_highest_interrupt(bx_pic_t *pic);
|
||||
};</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
>And iodev/pic.cc:</P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>...
|
||||
#define LOG_THIS thePic->
|
||||
...
|
||||
bx_pic_c *thePic = NULL;
|
||||
...
|
||||
void
|
||||
bx_pic_c::service_master_pic(void)
|
||||
{
|
||||
Bit8u unmasked_requests;
|
||||
int irq;
|
||||
Bit8u isr, max_irq;
|
||||
Bit8u highest_priority = BX_PIC_THIS s.master_pic.lowest_priority + 1;
|
||||
if(highest_priority > 7)
|
||||
highest_priority = 0;
|
||||
|
||||
if (BX_PIC_THIS s.master_pic.INT) { /* last interrupt still not acknowleged */
|
||||
return;
|
||||
}
|
||||
|
||||
if (BX_PIC_THIS s.master_pic.special_mask) {
|
||||
/* all priorities may be enabled. check all IRR bits except ones
|
||||
* which have corresponding ISR bits set
|
||||
*/
|
||||
max_irq = highest_priority;
|
||||
}
|
||||
else { /* normal mode */
|
||||
/* Find the highest priority IRQ that is enabled due to current ISR */
|
||||
isr = BX_PIC_THIS s.master_pic.isr;
|
||||
...
|
||||
}
|
||||
...</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
>Ugly, isn't it? If we use static methods, methods prefixed with BX_PIC_SMF are
|
||||
declared static and references to fields inside the object, which are prefixed
|
||||
with BX_PIC_THIS, will use the globally visible object, thePic->. If we don't
|
||||
use static methods, BX_PIC_SMF evaluates to nothing and BX_PIC_THIS becomes this->.
|
||||
Making it evaluate to nothing would be a lot cleaner, but then the scoping rules
|
||||
would change slightly between the two Bochs configurations, which would be a load
|
||||
of bugs just waiting to happen. Some classes use BX_SMF, others have their own
|
||||
version of the macro, like BX_PIC_SMF above.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="CPU-MEM-OBJECTS"
|
||||
>2.3.3. CPU und memory objects in UP/SMP configurations</A
|
||||
></H2
|
||||
><P
|
||||
>The CPU class is a special case of the above: if Bochs is simulating a uni-
|
||||
processor machine then there is obviously only one bx_cpu_c object and the
|
||||
static methods trick can be used. If, on the other hand, Bochs is simulating an
|
||||
smp machine then we can't use the trick. The same seems to be true for memory:
|
||||
for some reason, we have a memory object for each CPU object. This might become
|
||||
relevant for NUMA machines, but they are not all that common -- and even the
|
||||
existing IA-32 NUMA machines bend over backwards to hide that fact: it should
|
||||
only be visible in slightly worse timing for non-local memory and non-local
|
||||
peripherals. Other than that, the memory map and device map presented to each
|
||||
CPU will be identical.</P
|
||||
><P
|
||||
>In a UP configuration, the CPU object is declared as bx_cpu. In an SMP
|
||||
configuration it will be an array of pointers to CPU objects (bx_cpu_array[]).
|
||||
For memory that would be bx_mem and bx_mem_array[], respectively.
|
||||
Each CPU object contains a pointer to its associated memory object.
|
||||
Access of a CPU object often goes through the BX_CPU(x) macro, which either
|
||||
ignores the parameter and evaluates to &bx_cpu, or evaluates to bx_cpu_array
|
||||
[n], so the result will always be a pointer. The same goes for BX_MEM(x).
|
||||
If static methods are used then BX_CPU_THIS_PTR evaluates to BX_CPU(0)->. Ugly,
|
||||
isn't it?</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="CONFIG-PARAMETER-TREE"
|
||||
>2.3.4. The configuration parameter tree</A
|
||||
></H2
|
||||
><P
|
||||
>Starting with version 1.3, the Bochs configuration parameters are stored in parameter
|
||||
objects. These objects have get/set methods with min/max checks and it is possible
|
||||
to define parameter handlers to perform side effects and to override settings.
|
||||
Each parameter type has it's own object type with specific features (numeric,
|
||||
boolean, enum, string and file name). A special object type containing a list of
|
||||
parameters is designed for building and managing configuration menus or dialogs
|
||||
automatically. In the original implementation the parameters could be accessed
|
||||
only with their unique id from a static list or a special structure containing
|
||||
pointers to all parameters.</P
|
||||
><P
|
||||
>Starting with version 2.3, the Bochs parameter object handling has been rewritten
|
||||
to a parameter tree. There is now a root list containing child lists, and these
|
||||
lists can contain lists or parameters and so on. The parameters are now accessed
|
||||
by a name build from all the list names in the path and finally the parameter
|
||||
name separated by periods.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>Bit32u megs = SIM->get_param_num("memory.standard.ram.size")->get();</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><P
|
||||
>The example above shows how to get the memory size in megabytes from the simulator
|
||||
interface. In the root list (".") there is child list named "memory" containing
|
||||
a child list "standard". It's child list "ram" contains the numeric parameter type
|
||||
"size". The SIM->get_param_num() methods returns the object pointer and the get()
|
||||
method returns the parameter value.</P
|
||||
><P
|
||||
>The table below shows all parameter types used by the Bochs configuration interface.
|
||||
<DIV
|
||||
CLASS="TABLE"
|
||||
><A
|
||||
NAME="AEN198"
|
||||
></A
|
||||
><P
|
||||
><B
|
||||
>Table 2-2. Parameter types</B
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="1"
|
||||
CLASS="CALSTABLE"
|
||||
><COL><COL><THEAD
|
||||
><TR
|
||||
><TH
|
||||
>Type</TH
|
||||
><TH
|
||||
>Description</TH
|
||||
></TR
|
||||
></THEAD
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
>bx_object_c</TD
|
||||
><TD
|
||||
>Base class for all the other parameter types. It contains the unique parameter id and the object type value.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>bx_param_c</TD
|
||||
><TD
|
||||
>Generic parameter class. It contains the name, label, description and the input/output formats.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>bx_param_num_c</TD
|
||||
><TD
|
||||
>Numerical (decimal/hex) config settings are stored in this parameter type.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>bx_param_bool_c</TD
|
||||
><TD
|
||||
>This parameter type is based on bx_param_num_c, but it is designed for boolean values. A dependency
|
||||
list can be defined to enable/disable other parameters depending on the value change.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>bx_param_enum_c</TD
|
||||
><TD
|
||||
>Based on bx_param_num_c this parameter type contains a list of valid values.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>bx_param_string_c</TD
|
||||
><TD
|
||||
>Configuration strings are stored in this type of parameter.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>bx_param_filename_c</TD
|
||||
><TD
|
||||
>Based on bx_param_string_c this parameter type is used for file names.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>bx_list_c</TD
|
||||
><TD
|
||||
>Contains a list of pointers to parameters (bx_param_*_c and bx_list_c).
|
||||
In the config interface it is used for menus/dialogs.</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
></DIV
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="SAVE-RESTORE"
|
||||
>2.3.5. The save/restore feature</A
|
||||
></H2
|
||||
><P
|
||||
>The save/restore feature is based on an extension to the parameter tree concept.
|
||||
A subtree (list) called "bochs" appears in the root of the parameter tree
|
||||
and some new "shadow" parameter types store pointers to values instead of the values
|
||||
itself. All the hardware objects have register_state() methods to register pointers
|
||||
to the device registers and switches that need to be saved. The simulator interface
|
||||
saves the registered data in text format to the specified folder (usually one file
|
||||
per item in the save/restore list). Large binary arrays are registered with a
|
||||
special parameter type, so they are saved as separate files.</P
|
||||
><P
|
||||
>The table below shows the additional parameter types for save/restore.
|
||||
<DIV
|
||||
CLASS="TABLE"
|
||||
><A
|
||||
NAME="AEN234"
|
||||
></A
|
||||
><P
|
||||
><B
|
||||
>Table 2-3. Save/restore parameter types</B
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="1"
|
||||
CLASS="CALSTABLE"
|
||||
><COL><COL><THEAD
|
||||
><TR
|
||||
><TH
|
||||
>Type</TH
|
||||
><TH
|
||||
>Description</TH
|
||||
></TR
|
||||
></THEAD
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
>bx_shadow_num_c</TD
|
||||
><TD
|
||||
>Based on bx_param_num_c this type stores a pointer to a numerical variable.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>bx_shadow_bool_c</TD
|
||||
><TD
|
||||
>This parameter type stores a pointer to a boolean variable.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>bx_shadow_data_c</TD
|
||||
><TD
|
||||
>This special parameter type stores pointer size of a binary array.</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
></DIV
|
||||
>
|
||||
It is also possible to use the bx_param_num_c object with parameter save/restore
|
||||
handlers. With this special way several device settings can be save to and restored
|
||||
from one single parameter.</P
|
||||
><P
|
||||
>All devices can uses these two save/restore specific methods:
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>register_state() is called after the device init() to register the device members for save/restore</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>after_restore_state() is an optional method to do things directly after restore</P
|
||||
></LI
|
||||
></UL
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="directory-structure.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="configure-scripting.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Directory Structure</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Configure Scripting</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,612 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Bochs Developers Guide</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Resources for developers"
|
||||
HREF="resources.html"></HEAD
|
||||
><BODY
|
||||
CLASS="BOOK"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="BOOK"
|
||||
><A
|
||||
NAME="AEN1"
|
||||
></A
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
><H1
|
||||
CLASS="TITLE"
|
||||
><A
|
||||
NAME="AEN2"
|
||||
>Bochs Developers Guide</A
|
||||
></H1
|
||||
><H3
|
||||
CLASS="AUTHOR"
|
||||
><A
|
||||
NAME="AEN5"
|
||||
></A
|
||||
>Kevin Lawton</H3
|
||||
><H3
|
||||
CLASS="AUTHOR"
|
||||
><A
|
||||
NAME="AEN8"
|
||||
></A
|
||||
>Bryce Denney</H3
|
||||
><H3
|
||||
CLASS="AUTHOR"
|
||||
><A
|
||||
NAME="AEN11"
|
||||
></A
|
||||
>Christophe Bothamy</H3
|
||||
><H4
|
||||
CLASS="EDITEDBY"
|
||||
>Edited by</H4
|
||||
><H3
|
||||
CLASS="EDITOR"
|
||||
>Michael Calabrese</H3
|
||||
><HR></DIV
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
>1. <A
|
||||
HREF="resources.html"
|
||||
>Resources for developers</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>1.1. <A
|
||||
HREF="resources.html#AEN20"
|
||||
>Setting up CVS write access</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>1.1.1. <A
|
||||
HREF="resources.html#AEN23"
|
||||
>Install ssh and cvs</A
|
||||
></DT
|
||||
><DT
|
||||
>1.1.2. <A
|
||||
HREF="resources.html#AEN36"
|
||||
>ssh to cvs.sf.net</A
|
||||
></DT
|
||||
><DT
|
||||
>1.1.3. <A
|
||||
HREF="resources.html#AEN44"
|
||||
>Set CVS_RSH environment variable to ssh</A
|
||||
></DT
|
||||
><DT
|
||||
>1.1.4. <A
|
||||
HREF="resources.html#AEN48"
|
||||
>cvs checkout</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>1.2. <A
|
||||
HREF="using-cvs-write-access.html"
|
||||
>Using CVS write access</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>1.2.1. <A
|
||||
HREF="using-cvs-write-access.html#AEN59"
|
||||
>Checking in files</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>1.3. <A
|
||||
HREF="trackers.html"
|
||||
>SourceForge bug, feature, and patch trackers</A
|
||||
></DT
|
||||
><DT
|
||||
>1.4. <A
|
||||
HREF="other.html"
|
||||
>Ideas for other sections</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>2. <A
|
||||
HREF="about-the-code.html"
|
||||
>About the code</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>2.1. <A
|
||||
HREF="about-the-code.html#CODE-OVERVIEW"
|
||||
>Overview</A
|
||||
></DT
|
||||
><DT
|
||||
>2.2. <A
|
||||
HREF="directory-structure.html"
|
||||
>Directory Structure</A
|
||||
></DT
|
||||
><DT
|
||||
>2.3. <A
|
||||
HREF="emulator-objects.html"
|
||||
>Emulator Objects</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>2.3.1. <A
|
||||
HREF="emulator-objects.html#AEN175"
|
||||
>Weird macros and other mysteries</A
|
||||
></DT
|
||||
><DT
|
||||
>2.3.2. <A
|
||||
HREF="emulator-objects.html#STATIC-METHODS-HACK"
|
||||
>Static methods hack</A
|
||||
></DT
|
||||
><DT
|
||||
>2.3.3. <A
|
||||
HREF="emulator-objects.html#CPU-MEM-OBJECTS"
|
||||
>CPU und memory objects in UP/SMP configurations</A
|
||||
></DT
|
||||
><DT
|
||||
>2.3.4. <A
|
||||
HREF="emulator-objects.html#CONFIG-PARAMETER-TREE"
|
||||
>The configuration parameter tree</A
|
||||
></DT
|
||||
><DT
|
||||
>2.3.5. <A
|
||||
HREF="emulator-objects.html#SAVE-RESTORE"
|
||||
>The save/restore feature</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>2.4. <A
|
||||
HREF="configure-scripting.html"
|
||||
>Configure Scripting</A
|
||||
></DT
|
||||
><DT
|
||||
>2.5. <A
|
||||
HREF="logfunctions.html"
|
||||
>Log Functions</A
|
||||
></DT
|
||||
><DT
|
||||
>2.6. <A
|
||||
HREF="timers.html"
|
||||
>timers</A
|
||||
></DT
|
||||
><DT
|
||||
>2.7. <A
|
||||
HREF="cmos-map.html"
|
||||
>Bochs's CMOS map</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8. <A
|
||||
HREF="sb16-emulation-basics.html"
|
||||
>Sound Blaster 16 Emulation</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>2.8.1. <A
|
||||
HREF="sb16-emulation-basics.html#AEN283"
|
||||
>How well does it work?</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.2. <A
|
||||
HREF="sb16-emulation-basics.html#AEN288"
|
||||
>Output to a sound card</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.3. <A
|
||||
HREF="sb16-emulation-basics.html#AEN291"
|
||||
>Installation on Linux</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.4. <A
|
||||
HREF="sb16-emulation-basics.html#AEN296"
|
||||
>Configuring Bochs</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.5. <A
|
||||
HREF="sb16-emulation-basics.html#AEN304"
|
||||
>Runtime configuration</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.6. <A
|
||||
HREF="sb16-emulation-basics.html#AEN309"
|
||||
>Features planned for the future</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.7. <A
|
||||
HREF="sb16-emulation-basics.html#AEN316"
|
||||
>Description of the sound output classes</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.8. <A
|
||||
HREF="sb16-emulation-basics.html#AEN322"
|
||||
>Files</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.9. <A
|
||||
HREF="sb16-emulation-basics.html#AEN332"
|
||||
>Classes</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.10. <A
|
||||
HREF="sb16-emulation-basics.html#AEN349"
|
||||
>Methods</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.11. <A
|
||||
HREF="sb16-emulation-basics.html#AEN356"
|
||||
>bx_sound_OS_c(bx_sb16_c*sb16)</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.12. <A
|
||||
HREF="sb16-emulation-basics.html#AEN370"
|
||||
>~bx_sound_OS_c()</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.13. <A
|
||||
HREF="sb16-emulation-basics.html#AEN373"
|
||||
>int openmidioutput(char *device)</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.14. <A
|
||||
HREF="sb16-emulation-basics.html#AEN385"
|
||||
>Description of the parameters:</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.15. <A
|
||||
HREF="sb16-emulation-basics.html#AEN395"
|
||||
>int midiready()</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.16. <A
|
||||
HREF="sb16-emulation-basics.html#AEN411"
|
||||
>int sendmidicommand(int delta, int command, int length, Bit8u data[])</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.17. <A
|
||||
HREF="sb16-emulation-basics.html#AEN433"
|
||||
>int closemidioutput()</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.18. <A
|
||||
HREF="sb16-emulation-basics.html#AEN445"
|
||||
>int openwaveoutput(char *device)</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.19. <A
|
||||
HREF="sb16-emulation-basics.html#AEN479"
|
||||
>int startwaveplayback(int frequency, int bits, int stereo, int format)</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.20. <A
|
||||
HREF="sb16-emulation-basics.html#AEN552"
|
||||
>int waveready()</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.21. <A
|
||||
HREF="sb16-emulation-basics.html#AEN562"
|
||||
>int sendwavepacket(int length, Bit8u data[])</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.22. <A
|
||||
HREF="sb16-emulation-basics.html#AEN606"
|
||||
>int stopwaveplayback()</A
|
||||
></DT
|
||||
><DT
|
||||
>2.8.23. <A
|
||||
HREF="sb16-emulation-basics.html#AEN613"
|
||||
>int closewaveoutput()</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>2.9. <A
|
||||
HREF="harddisk-redologs.html"
|
||||
>Harddisk Images based on redologs</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>2.9.1. <A
|
||||
HREF="harddisk-redologs.html#AEN635"
|
||||
>Description</A
|
||||
></DT
|
||||
><DT
|
||||
>2.9.2. <A
|
||||
HREF="harddisk-redologs.html#AEN644"
|
||||
>How redologs works ?</A
|
||||
></DT
|
||||
><DT
|
||||
>2.9.3. <A
|
||||
HREF="harddisk-redologs.html#AEN737"
|
||||
>Parameters</A
|
||||
></DT
|
||||
><DT
|
||||
>2.9.4. <A
|
||||
HREF="harddisk-redologs.html#AEN901"
|
||||
>Redolog class description</A
|
||||
></DT
|
||||
><DT
|
||||
>2.9.5. <A
|
||||
HREF="harddisk-redologs.html#AEN953"
|
||||
>Disk image classes description</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>2.10. <A
|
||||
HREF="add-keymapping.html"
|
||||
>How to add keymapping in a GUI client</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>3. <A
|
||||
HREF="debugger.html"
|
||||
>Debugger</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>3.1. <A
|
||||
HREF="debugger.html#AEN1055"
|
||||
>compile with debugger support</A
|
||||
></DT
|
||||
><DT
|
||||
>3.2. <A
|
||||
HREF="debugger-get-started.html"
|
||||
>get started in debugger</A
|
||||
></DT
|
||||
><DT
|
||||
>3.3. <A
|
||||
HREF="debugger-commands.html"
|
||||
>command reference</A
|
||||
></DT
|
||||
><DT
|
||||
>3.4. <A
|
||||
HREF="debugger-techniques.html"
|
||||
>techniques</A
|
||||
></DT
|
||||
><DT
|
||||
>3.5. <A
|
||||
HREF="iodebug.html"
|
||||
>I/O Interface to Bochs Debugger</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>3.5.1. <A
|
||||
HREF="iodebug.html#AEN1078"
|
||||
>Commands supported by port 0x8A00</A
|
||||
></DT
|
||||
><DT
|
||||
>3.5.2. <A
|
||||
HREF="iodebug.html#AEN1086"
|
||||
>Access to port 0x8A01 (write-only)</A
|
||||
></DT
|
||||
><DT
|
||||
>3.5.3. <A
|
||||
HREF="iodebug.html#AEN1090"
|
||||
>Sample</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>4. <A
|
||||
HREF="coding.html"
|
||||
>Coding</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>4.1. <A
|
||||
HREF="coding.html#AEN1097"
|
||||
>Coding guidelines</A
|
||||
></DT
|
||||
><DT
|
||||
>4.2. <A
|
||||
HREF="patches.html"
|
||||
>patches:</A
|
||||
></DT
|
||||
><DT
|
||||
>4.3. <A
|
||||
HREF="cvs-release.html"
|
||||
>Building a Bochs release</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>4.3.1. <A
|
||||
HREF="cvs-release.html#AEN1138"
|
||||
>Preparing source files and CVS</A
|
||||
></DT
|
||||
><DT
|
||||
>4.3.2. <A
|
||||
HREF="cvs-release.html#AEN1147"
|
||||
>Building the release on win32</A
|
||||
></DT
|
||||
><DT
|
||||
>4.3.3. <A
|
||||
HREF="cvs-release.html#AEN1168"
|
||||
>Building the release on Linux</A
|
||||
></DT
|
||||
><DT
|
||||
>4.3.4. <A
|
||||
HREF="cvs-release.html#AEN1175"
|
||||
>Uploading files and creating a file release on SF</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>5. <A
|
||||
HREF="webmastering.html"
|
||||
>Webmastering</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>5.1. <A
|
||||
HREF="webmastering.html#WEBSITES"
|
||||
>websites</A
|
||||
></DT
|
||||
><DT
|
||||
>5.2. <A
|
||||
HREF="shell-access.html"
|
||||
>shell access to the website</A
|
||||
></DT
|
||||
><DT
|
||||
>5.3. <A
|
||||
HREF="repository.html"
|
||||
>website html repository</A
|
||||
></DT
|
||||
><DT
|
||||
>5.4. <A
|
||||
HREF="site-update.html"
|
||||
>automatic site update</A
|
||||
></DT
|
||||
><DT
|
||||
>5.5. <A
|
||||
HREF="other-content.html"
|
||||
>other content</A
|
||||
></DT
|
||||
><DT
|
||||
>5.6. <A
|
||||
HREF="available-tools.html"
|
||||
>available tools</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="LOT"
|
||||
><DL
|
||||
CLASS="LOT"
|
||||
><DT
|
||||
><B
|
||||
>List of Tables</B
|
||||
></DT
|
||||
><DT
|
||||
>2-1. <A
|
||||
HREF="directory-structure.html#AEN99"
|
||||
>Directory structure</A
|
||||
></DT
|
||||
><DT
|
||||
>2-2. <A
|
||||
HREF="emulator-objects.html#AEN198"
|
||||
>Parameter types</A
|
||||
></DT
|
||||
><DT
|
||||
>2-3. <A
|
||||
HREF="emulator-objects.html#AEN234"
|
||||
>Save/restore parameter types</A
|
||||
></DT
|
||||
><DT
|
||||
>2-4. <A
|
||||
HREF="sb16-emulation-basics.html#AEN503"
|
||||
>format bits</A
|
||||
></DT
|
||||
><DT
|
||||
>2-5. <A
|
||||
HREF="sb16-emulation-basics.html#AEN527"
|
||||
>codecs</A
|
||||
></DT
|
||||
><DT
|
||||
>2-6. <A
|
||||
HREF="sb16-emulation-basics.html#AEN585"
|
||||
>wave output types</A
|
||||
></DT
|
||||
><DT
|
||||
>2-7. <A
|
||||
HREF="harddisk-redologs.html#AEN658"
|
||||
>Generic header description</A
|
||||
></DT
|
||||
><DT
|
||||
>2-8. <A
|
||||
HREF="harddisk-redologs.html#AEN699"
|
||||
>Redolog specific header description</A
|
||||
></DT
|
||||
><DT
|
||||
>2-9. <A
|
||||
HREF="harddisk-redologs.html#AEN740"
|
||||
>How number of entries in the catalog and number of blocks by extents are computed</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="resources.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Resources for developers</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,147 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>The instrumentation feature</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Advanced debugger usage"
|
||||
HREF="debugger-advanced.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Advanced debugger usage"
|
||||
HREF="debugger-advanced.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Bochs debugger internals"
|
||||
HREF="debugger-internals.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="debugger-advanced.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 3. Advanced debugger usage</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="debugger-internals.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="INSTRUMENTATION"
|
||||
>3.2. The instrumentation feature</A
|
||||
></H1
|
||||
><P
|
||||
><IMG
|
||||
SRC="../images/undercon.png"> Not written yet.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger-advanced.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger-internals.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Advanced debugger usage</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger-advanced.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Bochs debugger internals</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,391 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>I/O Interface to Bochs Debugger</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Debugger"
|
||||
HREF="debugger.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="techniques"
|
||||
HREF="debugger-techniques.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Coding"
|
||||
HREF="coding.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="debugger-techniques.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 3. Debugger</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="IODEBUG"
|
||||
>3.5. I/O Interface to Bochs Debugger</A
|
||||
></H1
|
||||
><P
|
||||
>This device was added by Dave Poirier (eks@void-core.2y.net). </P
|
||||
><P
|
||||
>Compiling Bochs with iodebug support
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>./configure --enable-iodebug
|
||||
make</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Other optional fields may be added to the ./configure line, see Bochs documentation for all the information.</P
|
||||
><P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>Using the I/O Interface to the debugger
|
||||
|
||||
port range: 0x8A00 - 0x8A01
|
||||
|
||||
Port 0x8A00 servers as command register. You can use it to enable the i/o interface,
|
||||
change which data register is active, etc.
|
||||
|
||||
Port 0x8A01 is used as data register for the memory monitoring.</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1078"
|
||||
>3.5.1. Commands supported by port 0x8A00</A
|
||||
></H2
|
||||
><P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> 0x8A00
|
||||
|
||||
Used to enable the device. Any I/O to the debug module before this command is sent
|
||||
is sent will simply be ignored.
|
||||
|
||||
|
||||
0x8A01
|
||||
|
||||
Selects register 0: Memory monitoring range start address (inclusive)
|
||||
|
||||
|
||||
0x8A02
|
||||
|
||||
Selects register 1: Memory monitoring range end address (exclusive)
|
||||
|
||||
|
||||
0x8A80
|
||||
|
||||
Enable address range memory monitoring as indicated by register 0 and 1 and
|
||||
clears both registers
|
||||
|
||||
|
||||
0x8AE0 - Return to Debugger Prompt
|
||||
|
||||
If the debugger is enabled (via --enable-debugger), sending 0x8AE0 to port 0x8A00
|
||||
after the device has been enabled will return the Bochs to the debugger prompt.
|
||||
Basically the same as doing CTRL+C.
|
||||
|
||||
|
||||
0x8AE2 - Instruction Trace Disable
|
||||
|
||||
If the debugger is enabled (via --enable-debugger), sending 0x8AE2 to port 0x8A00
|
||||
after the device has been enabled will disable instruction tracing
|
||||
|
||||
|
||||
0x8AE3 - Instruction Trace Enable
|
||||
|
||||
If the debugger is enabled (via --enable-debugger), sending 0x8AE3 to port 0x8A00
|
||||
after the device has been enabled will enable instruction tracing
|
||||
|
||||
|
||||
0x8AE4 - Register Trace Disable
|
||||
|
||||
If the debugger is enabled (via --enable-debugger), sending 0x8AE4 to port 0x8A00
|
||||
after the device has been enabled will disable register tracing.
|
||||
|
||||
|
||||
0x8AE5 - Register Trace Enable
|
||||
|
||||
If the debugger is enabled (via --enable-debugger), sending 0x8AE5 to port 0x8A00
|
||||
after the device has been enabled will enable register tracing. This currently
|
||||
output the value of all the registers for each instruction traced.
|
||||
Note: instruction tracing must be enabled to view the register tracing
|
||||
|
||||
|
||||
0x8AFF
|
||||
|
||||
Disable the I/O interface to the debugger and the memory monitoring functions.</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
<DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>all accesses must be done using word</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
>
|
||||
<DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>reading this register will return 0x8A00 if currently activated, otherwise 0</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1086"
|
||||
>3.5.2. Access to port 0x8A01 (write-only)</A
|
||||
></H2
|
||||
><P
|
||||
>All accesses to this port must be done using words. Writing to this port will shift
|
||||
to the left by 16 the current value of the register and add the provided value to it.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>Sample:
|
||||
|
||||
reg0 = 0x01234567
|
||||
|
||||
out port: 0x8A01 data: 0xABCD
|
||||
|
||||
reg0 = 0x4567ABCD</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1090"
|
||||
>3.5.3. Sample</A
|
||||
></H2
|
||||
><P
|
||||
>Enable memory monitoring on first page of text screen (0xb8000-0xb8fa0):
|
||||
add in bochrc file: <B
|
||||
CLASS="COMMAND"
|
||||
>optromimage1: file="asmio.rom", address=0xd0000</B
|
||||
>
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>/*
|
||||
* Make asmio ROM file:
|
||||
* gcc -c asmio.S
|
||||
* objcopy -O binary asmio.o asmio.rom
|
||||
*/
|
||||
.text
|
||||
.global start
|
||||
.code16
|
||||
|
||||
/* ROM Header */
|
||||
.byte 0x55
|
||||
.byte 0xAA
|
||||
.byte 1 /* 512 bytes long */
|
||||
|
||||
start:
|
||||
/* Monitor memory access on first page of text screen */
|
||||
mov $0x8A00,%dx /* Enable iodebug (0x8A00->0x8A00) */
|
||||
mov %dx,%ax
|
||||
out %ax,%dx
|
||||
mov $0x8A01,%ax /* Select register 0 start addr (0x8A01->0x8A00) */
|
||||
out %ax,%dx
|
||||
mov $0x8A01,%dx /* Write start addr 0xB8000 (high word first) */
|
||||
mov $0xB,%ax
|
||||
out %ax,%dx
|
||||
mov $0x8000,%ax /* Write start addr (low word) */
|
||||
out %ax,%dx
|
||||
|
||||
mov $0x8A02,%ax /* Select register 1 end addr (0x8A02->0x8A00) */
|
||||
mov $0x8A00,%dx
|
||||
out %ax,%dx
|
||||
mov $0x8A01,%dx /* Write end addr 0xB8FA0 (high word first) */
|
||||
mov $0xB,%ax
|
||||
out %ax,%dx
|
||||
mov $0x8FA0,%ax /* Write end addr (low word) */
|
||||
out %ax,%dx
|
||||
|
||||
mov $0x8A00,%dx /* Enable addr range memory monitoring (0x8A80->0x8A00) */
|
||||
mov $0x8A80,%ax
|
||||
out %ax,%dx
|
||||
|
||||
mov $0x8A00,%dx /* Return to Bochs Debugger Prompt (0x8AE0->0x8A00) */
|
||||
mov $0x8AE0,%ax
|
||||
out %ax,%dx
|
||||
lret
|
||||
|
||||
.byte 0x6b /* Checksum (code dependent!, update it as needed) */
|
||||
.align 512 /* NOP follow */</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger-techniques.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>techniques</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="debugger.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Coding</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,149 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Log Functions</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="About the code"
|
||||
HREF="about-the-code.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Configure Scripting"
|
||||
HREF="configure-scripting.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="timers"
|
||||
HREF="timers.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="configure-scripting.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 2. About the code</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="timers.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="LOGFUNCTIONS"
|
||||
>2.5. Log Functions</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
log functions: what is a panic, what is an error, etc.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="configure-scripting.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="timers.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Configure Scripting</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>timers</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>other content</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="automatic site update"
|
||||
HREF="site-update.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="available tools"
|
||||
HREF="available-tools.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="site-update.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 5. Webmastering</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="available-tools.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="OTHER-CONTENT"
|
||||
>5.5. other content</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png"> sources, tmp
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="site-update.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="available-tools.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>automatic site update</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>available tools</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,161 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Ideas for other sections</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Resources for developers"
|
||||
HREF="resources.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="SourceForge bug, feature, and patch trackers"
|
||||
HREF="trackers.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="About the code"
|
||||
HREF="about-the-code.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="trackers.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 1. Resources for developers</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="OTHER"
|
||||
>1.4. Ideas for other sections</A
|
||||
></H1
|
||||
><P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>Ideas:
|
||||
- how to browse code with cvsweb
|
||||
- how to find an identifier, variable, or specific text in the code
|
||||
- how to make patches with CVS</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="trackers.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>SourceForge bug, feature, and patch trackers</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="resources.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>About the code</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,149 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>patches:</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Coding"
|
||||
HREF="coding.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Coding"
|
||||
HREF="coding.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Building a Bochs release"
|
||||
HREF="cvs-release.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 4. Coding</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="cvs-release.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="PATCHES"
|
||||
>4.2. patches:</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
how to make, where to submit, what happens then?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="cvs-release.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Coding</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Building a Bochs release</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>website html repository</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="shell access to the website"
|
||||
HREF="shell-access.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="automatic site update"
|
||||
HREF="site-update.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="shell-access.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 5. Webmastering</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="site-update.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="REPOSITORY"
|
||||
>5.3. website html repository</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="shell-access.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="site-update.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>shell access to the website</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>automatic site update</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,344 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Resources for developers</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Using CVS write access"
|
||||
HREF="using-cvs-write-access.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="using-cvs-write-access.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="RESOURCES"
|
||||
></A
|
||||
>Chapter 1. Resources for developers</H1
|
||||
><P
|
||||
>The development guide describes resources that are intended for developers
|
||||
in particular. Many Bochs resources are also covered in the User Guide,
|
||||
including compile instructions, bochsrc options, how to find the mailing
|
||||
lists, etc.</P
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN20"
|
||||
>1.1. Setting up CVS write access</A
|
||||
></H1
|
||||
><P
|
||||
>If you are an official SourceForge developer, then you can use CVS with write
|
||||
access. The CVS contains the most recent copy of the source code, and with
|
||||
write access you can upload any changes you make to the CVS server for others
|
||||
to use. A few extra steps are required the first time you use CVS write
|
||||
access.</P
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN23"
|
||||
>1.1.1. Install ssh and cvs</A
|
||||
></H2
|
||||
><P
|
||||
>First you need to install both cvs (Concurrent Version System) and ssh (Secure
|
||||
Shell). These are already installed on many UNIX systems and also Cygwin
|
||||
(win32 platform). If not, you can install binaries or compile cvs and ssh
|
||||
yourself. The links below should help you get going.</P
|
||||
><P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> CVS software and instructions are available at <A
|
||||
HREF="http://www.cvshome.org"
|
||||
TARGET="_top"
|
||||
>www.cvshome.org</A
|
||||
>. </P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> A free version of secure shell called OpenSSH is at <A
|
||||
HREF="http://www.openssh.org"
|
||||
TARGET="_top"
|
||||
>www.openssh.org</A
|
||||
>. </P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> OpenSSH requires a library called OpenSSL from <A
|
||||
HREF="http://www.openssl.org"
|
||||
TARGET="_top"
|
||||
>www.openssl.org</A
|
||||
>. Be sure to install OpenSSL before trying to compile OpenSSH. </P
|
||||
></LI
|
||||
></UL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN36"
|
||||
>1.1.2. ssh to cvs.sf.net</A
|
||||
></H2
|
||||
><P
|
||||
>Next, you need to use secure shell to connect to cvs.sf.net. This step is a
|
||||
little strange, because you can't actually log in and get a shell prompt. All
|
||||
that will happen, when you get the username and password right, is that it
|
||||
will create a home directory on that machine for you. That's it! If you try
|
||||
it again, it will say "This is a restricted Shell Account. You cannot execute
|
||||
anything here." At this point, you've succeeded and you never have to do
|
||||
this step again, ever.
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> ssh <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
>@bochs.cvs.sf.net</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><P
|
||||
>Replace <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
> with your Source Forge username,
|
||||
of course. The first time, you will probably get a message like
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>The authenticity of host 'cvs.sf.net' can't be established.
|
||||
Are you sure you want to continue?</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
Just type yes. When it asks for a password, be sure to type your source
|
||||
forge password. If you have trouble logging in, be sure to use your SOURCE
|
||||
FORGE username and password in the ssh line, which isn't necessarily the same
|
||||
as your local username and password. Add the "-v" option to ssh to see more
|
||||
information about what is failing. If you have ssh version 2, it is possible
|
||||
that you might need to add "-1" to the ssh command to force it to use the
|
||||
version 1 protocol. </P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN44"
|
||||
>1.1.3. Set CVS_RSH environment variable to ssh</A
|
||||
></H2
|
||||
><P
|
||||
>Every time you connect to the Source Forge CVS server (including cvs update,
|
||||
stat, commit, etc.), you must set the CVS_RSH environment variable to ssh. So
|
||||
just take the time now to add one of these lines to your .bashrc/.cshrc, so
|
||||
that the CVS_RSH setting will be there every time you log in.</P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> export CVS_RSH=ssh (bash syntax)
|
||||
setenv CVS_RSH ssh (csh syntax)</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN48"
|
||||
>1.1.4. cvs checkout</A
|
||||
></H2
|
||||
><P
|
||||
>Finally, you should be able to do the checkout! If you already have a Bochs
|
||||
subdirectory directory, move it out of the way because the checkout will
|
||||
overwrite it.</P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> export CVSROOT=":ext:<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
>@bochs.cvs.sourceforge.net:/cvsroot/bochs"
|
||||
cvs -z3 checkout bochs
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
>@bochs.cvs.sourceforge.net's password: <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
><--type your password</I
|
||||
></TT
|
||||
></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
>In the CVSROOT variable, replace <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
> with your SF username. There's
|
||||
no need to add CVSROOT to your rc files because CVS will remember it
|
||||
after the checkout. The -z3 (optional) just adds some compression to make
|
||||
the checkout go faster. Once all the files have been downloaded, you will
|
||||
have a Bochs directory which is checked out with write access!</P
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="using-cvs-write-access.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Bochs Developers Guide</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Using CVS write access</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>shell access to the website</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="website html repository"
|
||||
HREF="repository.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 5. Webmastering</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="repository.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="SHELL-ACCESS"
|
||||
>5.2. shell access to the website</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="repository.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Webmastering</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>website html repository</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>automatic site update</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="website html repository"
|
||||
HREF="repository.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="other content"
|
||||
HREF="other-content.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="repository.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 5. Webmastering</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="other-content.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="SITE-UPDATE"
|
||||
>5.4. automatic site update</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="repository.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="other-content.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>website html repository</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>other content</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,365 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Building a Bochs release</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Coding"
|
||||
HREF="coding.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Coding"
|
||||
HREF="coding.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 4. Coding</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="SVN-RELEASE"
|
||||
>4.2. Building a Bochs release</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1520"
|
||||
>4.2.1. Preparing source files and SVN</A
|
||||
></H2
|
||||
><P
|
||||
>Update version number and strings in configure.in.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>VERSION="2.6.9"
|
||||
VER_MAJOR=2
|
||||
VER_MINOR=6
|
||||
VER_REVISION=9
|
||||
VER_SVN=0
|
||||
REL_STRING="Build from SVN snapshot on April 9, 2017"</PRE
|
||||
>
|
||||
In the README file you have to update version number and date. Add some
|
||||
information about new features if necessary.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>Bochs x86 Pentium+ Emulator
|
||||
Updated: Sun Apr 9 08:45:00 CEST 2017
|
||||
Version: 2.6.9</PRE
|
||||
>
|
||||
In the file <TT
|
||||
CLASS="FILENAME"
|
||||
>bochs.manifest</TT
|
||||
> you have to update the version
|
||||
number for the Windows build.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> version="2.6.9.0"</PRE
|
||||
>
|
||||
Check date, update/sumup info in CHANGES. Run autoconf to regenerate configure and check them in.
|
||||
Create an SVN tag that contains all files of the revision that was used in the release.
|
||||
For prereleases I create a normal SVN tag like this:
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> svn mkdir tags/REL_2_5_pre1_FINAL
|
||||
svn copy trunk/bochs tags/REL_2_5_pre1_FINAL/bochs
|
||||
svn commit</PRE
|
||||
>
|
||||
But for a real release, I make an SVN branch tag AND a normal tag.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> svn mkdir tags/REL_2_5_FINAL
|
||||
svn copy trunk/bochs tags/REL_2_5_FINAL/bochs
|
||||
svn mkdir branches/REL_2_5
|
||||
svn copy trunk/bochs branches/REL_2_5/bochs
|
||||
svn commit</PRE
|
||||
>
|
||||
The tag marks where the branch split off of the main trunk.
|
||||
This is very useful in maintaining the branch since you can do diffs
|
||||
against it.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> svn diff tags/REL_2_5_FINAL/bochs trunk/bochs
|
||||
svn diff tags/REL_2_5_FINAL/bochs branches/REL_2_5
|
||||
etc.</PRE
|
||||
>
|
||||
All bugfix-only releases after the final release should be created from the REL_2_5 branch.
|
||||
Now you can start building packages with the sources from the created release tag.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1530"
|
||||
>4.2.2. Anonymous SVN checkout and platform-independent sources</A
|
||||
></H2
|
||||
><P
|
||||
>An anonymous SVN checkout from the release tag is the base for all official
|
||||
release packages. Do this checkout from the release tag and specify a not yet
|
||||
existing directory name with the version number as the destination. Then create
|
||||
the source package from this new directory. These steps can be done both on
|
||||
Linux and Windows (Cygwin).
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> svn co http://svn.code.sf.net/p/bochs/code/tags/REL_2_5_FINAL/bochs bochs-2.5
|
||||
tar czvf bochs-2.5.tar.gz --exclude=.svn bochs-2.5</PRE
|
||||
>
|
||||
The source TAR file bochs-2.5.tar.gz is ready for upload.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1534"
|
||||
>4.2.3. Building the release on Linux</A
|
||||
></H2
|
||||
><P
|
||||
>The RPM will be building using the configuration in .conf.linux with
|
||||
a few parameters from <B
|
||||
CLASS="COMMAND"
|
||||
>build/redhat/make-rpm</B
|
||||
>. Make any last
|
||||
minute changes to .conf.linux. Any changes will go into the source RPM. The
|
||||
DLX Linux demo package will be downloaded from the Bochs website to the Bochs
|
||||
root directory if it is not already present there.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> ./build/redhat/make-rpm | tee ../build.txt</PRE
|
||||
>
|
||||
This produces two rpm files in the current directory. Test and upload.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1539"
|
||||
>4.2.4. Building the release on win32</A
|
||||
></H2
|
||||
><P
|
||||
>These instructions require cygwin and MSVC++. Use the Bochs sources from
|
||||
the SVN checkout or unpack the TAR file.</P
|
||||
><P
|
||||
>In Cygwin:
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> sh .conf.win32-vcpp # runs configure
|
||||
make win32_snap # unzip workspace, make a win32 source ZIP</PRE
|
||||
>
|
||||
The source ZIP is present in the parent directory of the Bochs root and now
|
||||
ready for upload. To build the binary package, copy it to a Windows machine,
|
||||
if necessary.</P
|
||||
><P
|
||||
>Open up Visual C++ and load the workspace file Bochs.sln. Check
|
||||
the Build:Set Active Project Configuration is set the way you want it.
|
||||
For releases I use "Win32 Release".</P
|
||||
><P
|
||||
>To create "bochsdbg.exe" with Bochs debugger support, manually change these
|
||||
lines in config.h to turn on the debugger and the enhanced debugger gui.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>#define BX_DEBUGGER 1
|
||||
#define BX_DISASM 1
|
||||
#define BX_DEBUGGER_GUI 1</PRE
|
||||
>
|
||||
One of the optimization features must be turned off, since it is currently
|
||||
not compatible with the debugger.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>#define BX_SUPPORT_HANDLERS_CHAINING_SPEEDUPS 0</PRE
|
||||
>
|
||||
VC++ will rebuild Bochs with debugger and overwrite bochs.exe. To avoid
|
||||
trashing the non-debug version, move it out of the way while the debugger
|
||||
version is being built. Then rename the debugger version to bochsdbg.exe.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> cd obj-release
|
||||
mv bochs.exe bochs-normal.exe
|
||||
(build again with BX_DEBUGGER=1 this time)
|
||||
mv bochs.exe bochsdbg.exe
|
||||
mv bochs-normal.exe bochs.exe</PRE
|
||||
></P
|
||||
><P
|
||||
>Do make <SPAN
|
||||
CLASS="emphasis"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
>install_win32</I
|
||||
></SPAN
|
||||
> into the NSIS folder in the Bochs
|
||||
source tree:
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> make install_win32 INSTDIR=./build/win32/nsis/bochs-2.5</PRE
|
||||
>
|
||||
This downloads and unpacks both the DLX Linux demo and the HTML docs from the
|
||||
Bochs website, copies all the files into <SPAN
|
||||
CLASS="emphasis"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
>./build/win32/nsis/bochs-2.5</I
|
||||
></SPAN
|
||||
>
|
||||
and then creates a binary ZIP file in the NSIS folder.</P
|
||||
><P
|
||||
>Now make the NSIS installer package (the current script is known to work with NSIS 3.04)
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> cd build/win32/nsis
|
||||
make</PRE
|
||||
>
|
||||
That gives an installer called <TT
|
||||
CLASS="FILENAME"
|
||||
>Bochs-2.5.exe</TT
|
||||
>. Test and upload it.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN1556"
|
||||
>4.2.5. Creating a file release and uploading files on SF</A
|
||||
></H2
|
||||
><P
|
||||
>When you are ready with creating release packages you have to upload them using
|
||||
the SF file manager feature. Create a subdirectory with the version number in
|
||||
the <TT
|
||||
CLASS="FILENAME"
|
||||
>bochs</TT
|
||||
> directory. Point the download destination to the
|
||||
new directory and start uploading packages. The top of the <TT
|
||||
CLASS="FILENAME"
|
||||
>CHANGES</TT
|
||||
>
|
||||
file should be used as the release notes. After setting up the file properties the
|
||||
new release is ready for download.</P
|
||||
><P
|
||||
>After having all files set up in the download area, don't forget to post an announcement
|
||||
containing a brief summary of changes to the bochs-announce mailing list and the "Project
|
||||
News" section on SF.</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Coding</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="coding.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Webmastering</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>timers</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="About the code"
|
||||
HREF="about-the-code.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Log Functions"
|
||||
HREF="logfunctions.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Bochs's CMOS map"
|
||||
HREF="cmos-map.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="logfunctions.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 2. About the code</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="cmos-map.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="TIMERS"
|
||||
>2.6. timers</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="logfunctions.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="cmos-map.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Log Functions</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="about-the-code.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Bochs's CMOS map</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>SourceForge bug, feature, and patch trackers</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Resources for developers"
|
||||
HREF="resources.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Using CVS write access"
|
||||
HREF="using-cvs-write-access.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Ideas for other sections"
|
||||
HREF="other.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="using-cvs-write-access.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 1. Resources for developers</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="other.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="TRACKERS"
|
||||
>1.3. SourceForge bug, feature, and patch trackers</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="using-cvs-write-access.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="other.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Using CVS write access</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="resources.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Ideas for other sections</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,175 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Updating the online documentation</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Updating the SVN snapshot"
|
||||
HREF="update-svn-snapshot.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="other content"
|
||||
HREF="other-content.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="update-svn-snapshot.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 5. Webmastering</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="other-content.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="UPDATE-ONLINE-DOCS"
|
||||
>5.4. Updating the online documentation</A
|
||||
></H1
|
||||
><P
|
||||
>To update the online documentation, a file called <TT
|
||||
CLASS="FILENAME"
|
||||
>bochsdoc.tar.gz</TT
|
||||
>
|
||||
must be generated with the <B
|
||||
CLASS="COMMAND"
|
||||
>make</B
|
||||
>. This file must be uploaded
|
||||
to the location of the online documentation on SF using <B
|
||||
CLASS="COMMAND"
|
||||
>scp</B
|
||||
>.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>cd doc/docbook
|
||||
make bochsdoc.tar.gz
|
||||
scp bochsdoc.tar.gz vruppert,bochs@web.sf.net:htdocs/doc/docbook</PRE
|
||||
>
|
||||
After a successful upload, the HTML files must be unpacked from the SF shell.
|
||||
See section <A
|
||||
HREF="update-website.html"
|
||||
>Updating the Bochs website content</A
|
||||
>
|
||||
how to create a shell.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>cd /home/project-web/bochs/htdocs/doc/docbook
|
||||
tar xvzf bochsdoc.tar.gz</PRE
|
||||
>
|
||||
The updated files can be accessed from the sidebar of the Bochs website.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="update-svn-snapshot.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="other-content.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Updating the SVN snapshot</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>other content</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,199 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Updating the SVN snapshot</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Updating the Bochs website content"
|
||||
HREF="update-website.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Updating the online documentation"
|
||||
HREF="update-online-docs.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="update-website.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 5. Webmastering</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="update-online-docs.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="UPDATE-SVN-SNAPSHOT"
|
||||
>5.3. Updating the SVN snapshot</A
|
||||
></H1
|
||||
><P
|
||||
>The SVN snapshot
|
||||
<A
|
||||
NAME="AEN1634"
|
||||
HREF="#FTN.AEN1634"
|
||||
><SPAN
|
||||
CLASS="footnote"
|
||||
>[1]</SPAN
|
||||
></A
|
||||
>
|
||||
can be updated with SF shell access using SSH. There is a script
|
||||
called <B
|
||||
CLASS="COMMAND"
|
||||
>update-svn-snapshot.sh</B
|
||||
> that can do all the required steps
|
||||
(checking out SVN, packing the source tree into one archive, updating the website
|
||||
link). See previous section how to create a shell.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>cd /home/project-web/bochs/sitebin/
|
||||
./update-svn-snapshot.sh</PRE
|
||||
></P
|
||||
></DIV
|
||||
><H3
|
||||
CLASS="FOOTNOTES"
|
||||
>Notes</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
CLASS="FOOTNOTES"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
WIDTH="5%"
|
||||
><A
|
||||
NAME="FTN.AEN1634"
|
||||
HREF="update-svn-snapshot.html#AEN1634"
|
||||
><SPAN
|
||||
CLASS="footnote"
|
||||
>[1]</SPAN
|
||||
></A
|
||||
></TD
|
||||
><TD
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
WIDTH="95%"
|
||||
><P
|
||||
>The SVN snapshot link can be found on the bottom of the page
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>getcurrent.html</TT
|
||||
>.</P
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="update-website.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="update-online-docs.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Updating the Bochs website content</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Updating the online documentation</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,194 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Updating the Bochs website content</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Webmastering"
|
||||
HREF="webmastering.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Updating the SVN snapshot"
|
||||
HREF="update-svn-snapshot.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 5. Webmastering</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="update-svn-snapshot.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="UPDATE-WEBSITE"
|
||||
>5.2. Updating the Bochs website content</A
|
||||
></H1
|
||||
><P
|
||||
>The main HTML content of the Bochs website (except online documentation) is stored
|
||||
in the <TT
|
||||
CLASS="FILENAME"
|
||||
>sfsite</TT
|
||||
> directory of the Bochs SVN repository. Unlike
|
||||
other SF projects you don't need to upload these files to the Bochs project webspace.
|
||||
Running a simple SVN update on the SF shell is enough after the files have been
|
||||
updated in the repository. Please see <A
|
||||
HREF="resources.html#SVN-WRITE-ACCESS-SETUP"
|
||||
>Setting
|
||||
up SVN write access</A
|
||||
> for general instructions. The only difference is the
|
||||
directory name <TT
|
||||
CLASS="FILENAME"
|
||||
>sfsite</TT
|
||||
> instead of <TT
|
||||
CLASS="FILENAME"
|
||||
>bochs</TT
|
||||
>.
|
||||
The example below shows how to start the SF shell with SSH and to update the
|
||||
HTML files.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>ssh -t vruppert,bochs@shell.sourceforge.net create
|
||||
vruppert,bochs@shell.sourceforge.net's password:
|
||||
|
||||
Requesting a new shell for "vruppert" and waiting for it to start.
|
||||
queued... starting...
|
||||
|
||||
This is an interactive shell created for user vruppert,bochs.
|
||||
Use the "timeleft" command to see how much time remains before shutdown.
|
||||
Use the "shutdown" command to destroy the shell before the time limit.
|
||||
For path information and login help, type "sf-help".
|
||||
|
||||
[vruppert@shell-24002 ~]$ cd /home/project-web/bochs/htdocs/
|
||||
[vruppert@shell-24002 htdocs]$ svn update
|
||||
U index.html
|
||||
Updated to revision 10752
|
||||
[vruppert@shell-24002 htdocs]$ shutdown
|
||||
Requesting that your shell be shut down.
|
||||
This request will be processed soon.
|
||||
[vruppert@shell-24002 htdocs]$
|
||||
Broadcast message from root (Mon Oct 31 09:45:04 2011):
|
||||
|
||||
The system is going down for system halt NOW!
|
||||
Connection to shell-24002 closed by remote host.
|
||||
Connection to shell-24002 closed.
|
||||
Connection to shell.sourceforge.net closed.</PRE
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="update-svn-snapshot.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Webmastering</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="webmastering.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Updating the SVN snapshot</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,271 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Using CVS write access</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Resources for developers"
|
||||
HREF="resources.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Resources for developers"
|
||||
HREF="resources.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="SourceForge bug, feature, and patch trackers"
|
||||
HREF="trackers.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="resources.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 1. Resources for developers</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="trackers.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="USING-CVS-WRITE-ACCESS"
|
||||
>1.2. Using CVS write access</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN59"
|
||||
>1.2.1. Checking in files</A
|
||||
></H2
|
||||
><P
|
||||
>Once you have a Bochs directory with cvs write access, you can compile the
|
||||
files, edit them, test them, etc. See the documentation section, "Tracking
|
||||
the source code with CVS" for more info on CVS, in the User Manual.
|
||||
(FIXME: add cross reference) But what's new and different is that you can now
|
||||
do cvs commits. When a file is all fixed and ready to share with the rest of
|
||||
the world, you run a commit command to upload your version to the server.
|
||||
First, it's good to do a cvs update to make sure nobody else has changed it
|
||||
since you downloaded it last.</P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> $ cvs update file.cc
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
>@bochs.cvs.sf.net's password: <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
><--type your password</I
|
||||
></TT
|
||||
>
|
||||
$ cvs commit file.cc
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
>@bochs.cvs.sf.net's password: <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
><--type your password</I
|
||||
></TT
|
||||
>
|
||||
[editor opens. type log message, save, and exit.]</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
>When CVS starts an editor, The default is usually vi. If you want a different
|
||||
editor, set the EDITOR environment variable to the name of your preferred
|
||||
editor. When you're done, just save the file and quit the editor. Unless
|
||||
there's some problem, you will see a message that says what the new revision
|
||||
number for the file is, and then "done". If while you're editing the log
|
||||
message, you decide that you don't want to commit after all, don't save the
|
||||
file. Quit the editor, and when it asks where the log message went, tell it
|
||||
to abort.</P
|
||||
><P
|
||||
>Here is an example of a successful checkin:
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> $ cvs commit misc.txt
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
>@bochs.cvs.sf.net's password: <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
><--type your password</I
|
||||
></TT
|
||||
>
|
||||
[edit log msg]
|
||||
Checking in misc.txt;
|
||||
/cvsroot/bochs/bochs/doc/docbook/misc.txt,v <-- misc.txt
|
||||
new revision: 1.6; previous revision: 1.5
|
||||
done</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
And here is an aborted one:
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> $ cvs commit misc.txt
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
>@bochs.cvs.sf.net's password: <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
><--type your password</I
|
||||
></TT
|
||||
>
|
||||
[quit editor without saving]
|
||||
Log message unchanged or not specified
|
||||
a)bort, c)ontinue, e)dit, !)reuse this message unchanged for remaining dirs
|
||||
Action: a
|
||||
cvs [commit aborted]: aborted by user</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
> </P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="resources.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="trackers.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Resources for developers</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="resources.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>SourceForge bug, feature, and patch trackers</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,290 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Using SVN write access</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Resources for developers"
|
||||
HREF="resources.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Resources for developers"
|
||||
HREF="resources.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Ideas for other sections"
|
||||
HREF="other.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="resources.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 1. Resources for developers</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="other.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="USING-SVN-WRITE-ACCESS"
|
||||
>1.2. Using SVN write access</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN28"
|
||||
>1.2.1. Checking in files</A
|
||||
></H2
|
||||
><P
|
||||
>Once you have a Bochs directory, you can compile the files, edit them, test them, etc.
|
||||
See the documentation section, <A
|
||||
HREF="../user/get-src-svn.html"
|
||||
TARGET="_top"
|
||||
>Tracking the source code with SVN</A
|
||||
>
|
||||
for more info on SVN, in the User Manual. But what's new and different is that
|
||||
you can now do SVN commits. When a file is all fixed and ready to share with the rest of
|
||||
the world, you run a commit command to upload your version to the server.
|
||||
First, it's good to do a SVN update to make sure nobody else has changed it
|
||||
since you downloaded it last. At the first commit you'll always have to specify your
|
||||
SF username and type your password.</P
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> $ svn update file.cc
|
||||
$ svn commit --username <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
> file.cc
|
||||
[editor opens. type log message, save, and exit.]
|
||||
Login area: <https://svn.code.sf.net:443> SourceForge Subversion area
|
||||
Username: <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
>
|
||||
Password for '<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sfusername</I
|
||||
></TT
|
||||
>': <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
><--type your password</I
|
||||
></TT
|
||||
>
|
||||
Sending file.cc
|
||||
Transmitting file data .
|
||||
Committed revision 10.</PRE
|
||||
><P
|
||||
>When SVN starts an editor, The default is usually vi. If you want a different
|
||||
editor, set the EDITOR environment variable to the name of your preferred
|
||||
editor. When you're done, just save the file and quit the editor. Unless
|
||||
there's some problem, you will see a message that says what the new SVN revision
|
||||
number is, and then "done". If while you're editing the log message, you decide
|
||||
that you don't want to commit after all, don't save the file. Quit the editor,
|
||||
and when it asks where the log message went, tell it to abort.</P
|
||||
><P
|
||||
>Here is an example of a successful checkin:
|
||||
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> $ svn commit misc.txt
|
||||
[edit log msg]
|
||||
Sending misc.txt
|
||||
Transmitting file data .
|
||||
Committed revision 6.</PRE
|
||||
>
|
||||
|
||||
And here is an aborted one:
|
||||
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> $ svn commit misc.txt
|
||||
[quit editor without saving]
|
||||
Log message unchanged or not specified
|
||||
a)bort, c)ontinue, e)dit:
|
||||
a</PRE
|
||||
> </P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN41"
|
||||
>1.2.2. Creating a backup of the SVN repository</A
|
||||
></H2
|
||||
><P
|
||||
>Backups of the SVN repository can be made with the <B
|
||||
CLASS="COMMAND"
|
||||
>rsync</B
|
||||
> utility.
|
||||
In case of data corruption or other problems on the server, the repository with all
|
||||
revisions, branches and tags can be restored easily. It is recommended to update this
|
||||
backup frequently. The following example creates a folder called
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>bochs-svn-rsync</TT
|
||||
> that contains the repository.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> rsync -av svn.code.sf.net::p/bochs/code bochs-svn-rsync</PRE
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN47"
|
||||
>1.2.3. Setting SVN commit notifications</A
|
||||
></H2
|
||||
><P
|
||||
>The Bochs SVN repository is set up to send a notification email to the "bochs-cvs"
|
||||
mailing list after each successful commit. This email contains the log message, a list
|
||||
of the modified files and a diff against the previous revision. The diff of large
|
||||
commits will be truncated at 96 kByte.</P
|
||||
><P
|
||||
>After each commit the SVN server runs the script <B
|
||||
CLASS="COMMAND"
|
||||
>post-commit</B
|
||||
> located
|
||||
in the <TT
|
||||
CLASS="FILENAME"
|
||||
>hooks</TT
|
||||
> folder. On SourceForge, this script forces a refresh
|
||||
of the Allura code browser and it can call a script <B
|
||||
CLASS="COMMAND"
|
||||
>post-commit-user</B
|
||||
>
|
||||
for addition operations if it exists. For Bochs we have set up this script and call
|
||||
<B
|
||||
CLASS="COMMAND"
|
||||
>svnnotify</B
|
||||
> from it to create the notification email.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>#!/bin/sh
|
||||
|
||||
svnnotify --repos-path $1 --revision $2 -O -C -d -e 98304 -t bochs-cvs@lists.sourceforge.net</PRE
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="resources.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="other.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Resources for developers</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="resources.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Ideas for other sections</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,149 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Webmastering</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Developers Guide"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Building a Bochs release"
|
||||
HREF="cvs-release.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="shell access to the website"
|
||||
HREF="shell-access.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Developers Guide</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="cvs-release.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="shell-access.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="WEBMASTERING"
|
||||
></A
|
||||
>Chapter 5. Webmastering</H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="WEBSITES"
|
||||
>5.1. websites</A
|
||||
></H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="cvs-release.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="shell-access.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Building a Bochs release</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>shell access to the website</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,384 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Docbook Basics</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Documentation Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Layout of Bochs Documentation"
|
||||
HREF="layout.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="References and Other Tutorials"
|
||||
HREF="references.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Documentation Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="layout.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="references.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="BASICS"
|
||||
></A
|
||||
>Chapter 2. Docbook Basics</H1
|
||||
><P
|
||||
>Some of the most commonly used docbook patterns are described here
|
||||
for quick reference. For all the details (sometimes more than you
|
||||
wanted), try <A
|
||||
HREF="http://www.docbook.org/tdg/en/html/docbook.html"
|
||||
TARGET="_top"
|
||||
>DocBook: The Definitive Guide</A
|
||||
> by Norman Walsh and Leonard Muellner, which O'Reilly
|
||||
& Associates has generously placed on their web site. In this section,
|
||||
many of the SGML tags are linked to the page of Walsh's book that describes
|
||||
that tag in detail.</P
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN26"
|
||||
>2.1. Small Tutorial</A
|
||||
></H1
|
||||
><P
|
||||
>Docbook files are text files containing SGML. If you have ever looked
|
||||
at HTML, then a docbook file will look familiar. Not the same, but familiar.
|
||||
The easiest way of getting familiar with the docbook format is by looking at
|
||||
examples such as the Bochs documentation itself. When you compare the source
|
||||
code to the rendered documentation on the web site, it will be pretty obvious
|
||||
what all the codes are doing. HTML is very forgiving about breaking the syntax
|
||||
rules, such as not putting </h1> at then end of an <h1> section.
|
||||
SGML is picky; if you forget that kind of thing in SGML, it will insist that
|
||||
you fix it. </P
|
||||
><P
|
||||
>Every paragraph must begin with the <para> tag and end with the
|
||||
corresponding end tag, </para>.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><<A
|
||||
HREF="http://www.docbook.org/tdg/en/html/para.html"
|
||||
TARGET="_top"
|
||||
>para</A
|
||||
>>
|
||||
This is a paragraph.
|
||||
</para></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><P
|
||||
>A chapter looks like this:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><<A
|
||||
HREF="http://www.docbook.org/tdg/en/html/chapter.html"
|
||||
TARGET="_top"
|
||||
>chapter</A
|
||||
>>
|
||||
<title><TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>title of the chapter</I
|
||||
></TT
|
||||
></title>
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>text of the chapter</I
|
||||
></TT
|
||||
>
|
||||
</chapter></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
The text of the chapter must contain at least one complete <para> tag,
|
||||
and it can include <section>s.</P
|
||||
><P
|
||||
>A section looks like this:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><<A
|
||||
HREF="http://www.docbook.org/tdg/en/html/section.html"
|
||||
TARGET="_top"
|
||||
>section</A
|
||||
>>
|
||||
<title><TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>title of the section</I
|
||||
></TT
|
||||
></title>
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>text of the section</I
|
||||
></TT
|
||||
>
|
||||
</section></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
The text of the section must contain at least one complete <para> tag,
|
||||
and it can include other <section>s.</P
|
||||
><P
|
||||
>To make a link to any URL, use the syntax:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><<A
|
||||
HREF="http://www.docbook.org/tdg/en/html/ulink.html"
|
||||
TARGET="_top"
|
||||
>ulink</A
|
||||
> url="<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>URL</I
|
||||
></TT
|
||||
>"><TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>text of the hyperlink</I
|
||||
></TT
|
||||
></ulink></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
However, if you like to link to another target inside the same document,
|
||||
for example to a section, use something like that:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><section id="<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>unique identifier</I
|
||||
></TT
|
||||
>">
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>All stuff that is needed here...</I
|
||||
></TT
|
||||
>
|
||||
</section>
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>...</I
|
||||
></TT
|
||||
>
|
||||
<<A
|
||||
HREF="http://www.docbook.org/tdg/en/html/link.html"
|
||||
TARGET="_top"
|
||||
>link</A
|
||||
> linkend="<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>unique identifier to link to</I
|
||||
></TT
|
||||
>"><TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>text of hyperlink</I
|
||||
></TT
|
||||
></link></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><P
|
||||
>To include a picture in the text, use the <graphic> tag. In SGML, this
|
||||
graphic tag has no closing tag.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><<A
|
||||
HREF="http://www.docbook.org/tdg/en/html/graphic.html"
|
||||
TARGET="_top"
|
||||
>graphic</A
|
||||
> format="<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>fmt</I
|
||||
></TT
|
||||
>" fileref="<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>filename</I
|
||||
></TT
|
||||
>"></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
The <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>fmt</I
|
||||
></TT
|
||||
> can be one of many formats including GIF,
|
||||
JPG, PNG, PS, and EPS. The filename should be on the local disk. If there is
|
||||
a pathname, it should be relative to the source file or it won't be found on
|
||||
anyone's system other than yours.</P
|
||||
><P
|
||||
>There are over 300 tags defined in the latest version of docbook, so
|
||||
we won't try to list them all here. Once you get the idea, you can
|
||||
either find examples in the rest of the documentation that do what you
|
||||
need, or look at Walsh and Muellner's
|
||||
<A
|
||||
HREF="http://www.docbook.org/tdg/en/html/docbook.html"
|
||||
TARGET="_top"
|
||||
>DocBook: The Definitive Guide</A
|
||||
>
|
||||
for more details.</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="layout.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="references.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Layout of Bochs Documentation</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>References and Other Tutorials</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,219 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Conventions</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Documentation Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="References and Other Tutorials"
|
||||
HREF="references.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Reading and Writing"
|
||||
HREF="reading-writing.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Documentation Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="references.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="reading-writing.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="CONVENTIONS"
|
||||
></A
|
||||
>Chapter 3. Conventions</H1
|
||||
><P
|
||||
>Put a &FIXME; near things that need to be fixed up. A &FIXME; causes
|
||||
the under construction symbol to appear, like this <IMG
|
||||
SRC="../images/undercon.png">.</P
|
||||
><P
|
||||
>A &NEEDHELP; indicates, that you need someone's help in order to document
|
||||
something, you don't know for sure. This is mostly the case if you need inside
|
||||
information from a developer. The symbol looks like this: <IMG
|
||||
SRC="../images/undercon.png">.</P
|
||||
><P
|
||||
>Don't get confused because &FIXME; looks the same as &NEEDHELP; -
|
||||
this is just for the moment. When you like to use one of them, think of what
|
||||
it should mean, instead of how it looks like: Take &FIXME; if you have
|
||||
great ideas of what to document, but have no time or no knowledge about it, or
|
||||
just noticed something wrong or outdated. &NEEDHELP; instead should be used
|
||||
to request help on something (see above).</P
|
||||
><P
|
||||
>This is just a first try to clearify the difference between
|
||||
&NEEDHELP; and &FIXME;.</P
|
||||
><P
|
||||
>To maintain a consistent spelling, some "problem words" are mentioned here,
|
||||
along with a hint on how to spell them.
|
||||
<DIV
|
||||
CLASS="TABLE"
|
||||
><A
|
||||
NAME="AEN83"
|
||||
></A
|
||||
><P
|
||||
><B
|
||||
>Table 3-1. list of problem words</B
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="1"
|
||||
CLASS="CALSTABLE"
|
||||
><COL><COL><TBODY
|
||||
><TR
|
||||
><TD
|
||||
>Bochs</TD
|
||||
><TD
|
||||
>Bochs is written with a leading capital letter.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
></TD
|
||||
><TD
|
||||
> This is what the Bochs configuration file should be refered as. It is a good
|
||||
compromise between what is common on Unix and what is possible on Windows
|
||||
(file names starting with a dot aren't easy to create). Remember to use
|
||||
<<A
|
||||
HREF="http://www.docbook.org/tdg/en/html/filename.html"
|
||||
TARGET="_top"
|
||||
>filename</A
|
||||
>>bochsrc</filename>.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>CD-ROM</TD
|
||||
><TD
|
||||
>This abbreviation is written in all capital letters, with a hyphen in between.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Unix</TD
|
||||
><TD
|
||||
> Unix is written using a leading capital letter, followed by all lower-case letters.
|
||||
See the <A
|
||||
HREF="http://en.wikipedia.org/wiki/Unix#Branding"
|
||||
TARGET="_top"
|
||||
>Unix entry in Wikipedia</A
|
||||
>.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
></DIV
|
||||
></P
|
||||
><P
|
||||
><IMG
|
||||
SRC="../images/undercon.png"> SGML docbook...lower case elements...indentation...remarks...master document/include files</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="references.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="reading-writing.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>References and Other Tutorials</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Reading and Writing</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,529 @@
|
||||
<!--
|
||||
================================================================
|
||||
doc/docbook/documentation/documentation.dbk
|
||||
$Id: documentation.dbk 10918 2012-01-01 17:32:36Z vruppert $
|
||||
|
||||
This is the top level file for the Bochs Documentation Manual.
|
||||
================================================================
|
||||
-->
|
||||
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
|
||||
|
||||
<!-- include definitions that are common to all bochs documentation -->
|
||||
<!ENTITY % bochsdefs SYSTEM "../include/defs.sgm">
|
||||
%bochsdefs;
|
||||
|
||||
]>
|
||||
|
||||
<book>
|
||||
<bookinfo>
|
||||
<title>Bochs Documentation Manual</title>
|
||||
<authorgroup>
|
||||
<author><firstname>Bryce</firstname><surname>Denney</surname></author>
|
||||
<author><firstname>Michael</firstname><surname>Calabrese</surname></author>
|
||||
</authorgroup>
|
||||
</bookinfo>
|
||||
<chapter id="layout"><title>Layout of Bochs Documentation</title>
|
||||
|
||||
<para>
|
||||
The Bochs documentation is divided into three major divisions:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
The User's Guide introduces the Bochs Emulator, and covers installation and use.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Developer's Guide: Describes the internals of the Bochs Emulator for developers.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Documentation Guide: Describes how the documentation is organized, and how to render it, and how to add to it. This section is in the documentation guide.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In docbook terminology, each of the three divisions is a book. Inside each
|
||||
book are a series of chapters. A chapter may be divided into sections, and
|
||||
each section is divided into more sections. Eventually we will add fancy
|
||||
things like a table of contents, index, and glossary, when we learn how.
|
||||
</para>
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter id="basics"><title>Docbook Basics</title>
|
||||
<para>
|
||||
Some of the most commonly used docbook patterns are described here
|
||||
for quick reference. For all the details (sometimes more than you
|
||||
wanted), try &docbookTDG; by Norman Walsh and Leonard Muellner, which O'Reilly
|
||||
& Associates has generously placed on their web site. In this section,
|
||||
many of the SGML tags are linked to the page of Walsh's book that describes
|
||||
that tag in detail.
|
||||
</para>
|
||||
|
||||
<section><title>Small Tutorial</title>
|
||||
|
||||
<para>
|
||||
Docbook files are text files containing SGML. If you have ever looked
|
||||
at HTML, then a docbook file will look familiar. Not the same, but familiar.
|
||||
The easiest way of getting familiar with the docbook format is by looking at
|
||||
examples such as the Bochs documentation itself. When you compare the source
|
||||
code to the rendered documentation on the web site, it will be pretty obvious
|
||||
what all the codes are doing. HTML is very forgiving about breaking the syntax
|
||||
rules, such as not putting </h1> at then end of an <h1> section.
|
||||
SGML is picky; if you forget that kind of thing in SGML, it will insist that
|
||||
you fix it.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Every paragraph must begin with the <para> tag and end with the
|
||||
corresponding end tag, </para>.
|
||||
<programlisting>
|
||||
<<ulink url="http://www.docbook.org/tdg/en/html/para.html">para</ulink>>
|
||||
This is a paragraph.
|
||||
</para>
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A chapter looks like this:
|
||||
<programlisting>
|
||||
<<ulink url="http://www.docbook.org/tdg/en/html/chapter.html">chapter</ulink>>
|
||||
<title><replaceable>title of the chapter</replaceable></title>
|
||||
<replaceable>text of the chapter</replaceable>
|
||||
</chapter>
|
||||
</programlisting>
|
||||
The text of the chapter must contain at least one complete <para> tag,
|
||||
and it can include <section>s.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A section looks like this:
|
||||
<programlisting>
|
||||
<<ulink url="http://www.docbook.org/tdg/en/html/section.html">section</ulink>>
|
||||
<title><replaceable>title of the section</replaceable></title>
|
||||
<replaceable>text of the section</replaceable>
|
||||
</section>
|
||||
</programlisting>
|
||||
The text of the section must contain at least one complete <para> tag,
|
||||
and it can include other <section>s.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To make a link to any URL, use the syntax:
|
||||
<programlisting>
|
||||
<<ulink url="http://www.docbook.org/tdg/en/html/ulink.html">ulink</ulink> url="<replaceable>URL</replaceable>"><replaceable>text of the hyperlink</replaceable></ulink>
|
||||
</programlisting>
|
||||
|
||||
However, if you like to link to another target inside the same document,
|
||||
for example to a section, use something like that:
|
||||
<programlisting>
|
||||
<section id="<replaceable>unique identifier</replaceable>">
|
||||
<replaceable>All stuff that is needed here...</replaceable>
|
||||
</section>
|
||||
<replaceable>...</replaceable>
|
||||
<<ulink url="http://www.docbook.org/tdg/en/html/link.html">link</ulink> linkend="<replaceable>unique identifier to link to</replaceable>"><replaceable>text of hyperlink</replaceable></link>
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To include a picture in the text, use the <graphic> tag. In SGML, this
|
||||
graphic tag has no closing tag.
|
||||
<programlisting>
|
||||
<<ulink url="http://www.docbook.org/tdg/en/html/graphic.html">graphic</ulink> format="<replaceable>fmt</replaceable>" fileref="<replaceable>filename</replaceable>">
|
||||
</programlisting>
|
||||
The <replaceable>fmt</replaceable> can be one of many formats including GIF,
|
||||
JPG, PNG, PS, and EPS. The filename should be on the local disk. If there is
|
||||
a pathname, it should be relative to the source file or it won't be found on
|
||||
anyone's system other than yours.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
There are over 300 tags defined in the latest version of docbook, so
|
||||
we won't try to list them all here. Once you get the idea, you can
|
||||
either find examples in the rest of the documentation that do what you
|
||||
need, or look at Walsh and Muellner's
|
||||
<ulink url="http://www.docbook.org/tdg/en/html/docbook.html">DocBook: The Definitive Guide</ulink>
|
||||
for more details.
|
||||
</para>
|
||||
|
||||
</section> <!-- end of Docbook Basics:Small Tutorial section -->
|
||||
|
||||
<section id="references"><title>References and Other Tutorials</title>
|
||||
|
||||
<para>
|
||||
Docbook was created more than 10 years ago, but since 1999, Docbook has been
|
||||
under the guidance of the DocBook Technical Committee at OASIS. The
|
||||
<ulink url="http://www.oasis-open.org/committees/docbook">OASIS website</ulink>
|
||||
distributes the official DocBook DTDs, and has pages on Docbook history,
|
||||
samples, tools, and runs a few docbook mailing lists.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Since the Linux Documentation Project uses docbook, they have written some
|
||||
good tutorial material. In particular the <ulink url="http://www.linuxdoc.org/LDP/LDP-Author-Guide/index.html">LDP Author Guide</ulink>, by Jorge Godoy
|
||||
is very good.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
O'Reilly & Associates publishes a book called <ulink
|
||||
url="http://www.docbook.org/tdg/en/html/docbook.html">DocBook: The Definitive
|
||||
Guide</ulink> by Norman Walsh and Leonard Muellner. You can buy it or read it
|
||||
online. Norman Walsh knows what he's talking about, since he is the chair of
|
||||
the DocBook Technical Committee. This is good for reference, since it has a
|
||||
complete list of tags and their grammar.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<ulink url="http://www.ibiblio.org/godoy/sgml/docbook/howto/index.html">DocBook
|
||||
HOWTO, also by Jorge Godoy</ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
An article on lwn.net called <ulink
|
||||
url="http://lwn.net/2000/features/DocBook">Exploring SGML Docbook</ulink>
|
||||
focuses mostly on installation of tools from scratch: openjade, Norman Walsh's
|
||||
DSSSL stylesheets, and jade2tex. If you can get the tools from RPMs or
|
||||
whatever package your OS uses, use that instead.
|
||||
</para>
|
||||
|
||||
</section> <!-- end of Docbook Basics:References and Other Tutorials -->
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter id="conventions"><title>Conventions</title>
|
||||
<para>
|
||||
Put a &FIXME; near things that need to be fixed up. A &FIXME; causes
|
||||
the under construction symbol to appear, like this &FIXME;.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A &NEEDHELP; indicates, that you need someone's help in order to document
|
||||
something, you don't know for sure. This is mostly the case if you need inside
|
||||
information from a developer. The symbol looks like this: &NEEDHELP;.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Don't get confused because &FIXME; looks the same as &NEEDHELP; -
|
||||
this is just for the moment. When you like to use one of them, think of what
|
||||
it should mean, instead of how it looks like: Take &FIXME; if you have
|
||||
great ideas of what to document, but have no time or no knowledge about it, or
|
||||
just noticed something wrong or outdated. &NEEDHELP; instead should be used
|
||||
to request help on something (see above).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This is just a first try to clearify the difference between
|
||||
&NEEDHELP; and &FIXME;.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To maintain a consistent spelling, some "problem words" are mentioned here,
|
||||
along with a hint on how to spell them.
|
||||
<table>
|
||||
<title>list of problem words</title>
|
||||
<tgroup cols="2">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Bochs</entry>
|
||||
<entry>Bochs is written with a leading capital letter.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><filename>bochsrc</filename></entry>
|
||||
<entry>
|
||||
This is what the Bochs configuration file should be refered as. It is a good
|
||||
compromise between what is common on Unix and what is possible on Windows
|
||||
(file names starting with a dot aren't easy to create). Remember to use
|
||||
<<ulink url="http://www.docbook.org/tdg/en/html/filename.html">filename</ulink>>bochsrc</filename>.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>CD-ROM</entry>
|
||||
<entry>This abbreviation is written in all capital letters, with a hyphen in between.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Unix</entry>
|
||||
<entry>
|
||||
Unix is written using a leading capital letter, followed by all lower-case letters.
|
||||
See the <ulink url="http://en.wikipedia.org/wiki/Unix#Branding">Unix entry in Wikipedia</ulink>.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
&FIXME; SGML docbook...lower case elements...indentation...remarks...master document/include files
|
||||
</para>
|
||||
</chapter>
|
||||
|
||||
<chapter id="reading-writing"><title>Reading and Writing</title>
|
||||
|
||||
<para>
|
||||
The DocBook source code -- user.dbk, for example -- is a plain text file that
|
||||
can be directly edited and saved with any text editor such as emacs or vi.
|
||||
</para>
|
||||
|
||||
<tip>
|
||||
<para>
|
||||
If you just want to read the documentation, you should not
|
||||
need to read and understand this section, and render the docs yourself. The
|
||||
&bochswebsite; has all this information in readable form already.
|
||||
</para>
|
||||
</tip>
|
||||
|
||||
<para>
|
||||
To render DocBook source code into the nice readable form the end-user will
|
||||
require, several tools are needed. These tools allow the .dbk file to be
|
||||
rendered into such formats as HTML, PDF, and PostScript. This section
|
||||
describes the tools you need and the steps you take to render the Bochs
|
||||
documentation.
|
||||
</para>
|
||||
|
||||
<tip>
|
||||
<para>
|
||||
The rendering process is one-way. That is, the DocBook source files will be
|
||||
downloaded from SVN, edited, and uploaded to SVN as .dbk files. Along the
|
||||
way, it will probably be necessary to render them into HTML, but only to
|
||||
check one's work or to post them as part of a web page. (I hope I'm not the
|
||||
only person to spend nine minutes trying to figure out how to 'compile' HTML
|
||||
into DocBook format.)
|
||||
</para>
|
||||
</tip>
|
||||
|
||||
<sect1>
|
||||
<title>Jade and DSSSL</title>
|
||||
<para>
|
||||
Here is what the Linux Documentation Project says about jade:
|
||||
|
||||
<blockquote>
|
||||
<attribution>
|
||||
LDP author's guide
|
||||
</attribution>
|
||||
<para>
|
||||
Jade is the front-end processor for SGML and XML. It uses the DSSSL and
|
||||
DocBook DTD to perform the verification and rendering from SGML and XML into
|
||||
the target format.
|
||||
</para>
|
||||
</blockquote>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
What does all this mean?
|
||||
For purposes of Bochs documentation, jade reads the docbook source file and
|
||||
writes out a HTML/PDF/PS file. Bochs documentation is in SGML format, though
|
||||
apparantly jade can handle XML Docbooks as well. DSSSL stands for
|
||||
<quote>Document Style Semantics and Specification Language</quote>, and it
|
||||
tells jade how to translate the docbook tags into the target format. DSSSL
|
||||
files are written in the Scheme programming language, which is a variant of
|
||||
LISP. Learn more about DSSSL at <ulink
|
||||
url="http://www.jclark.com/dsssl">Jim Clark's DSSSL page</ulink>.
|
||||
The DocBook DTD is the formal description of what elements and attributes can
|
||||
be used in a docbook.
|
||||
</para>
|
||||
|
||||
<sect2>
|
||||
<title>Installation</title>
|
||||
|
||||
<para>
|
||||
The easiest way to get jade working in Linux is to install packages. The
|
||||
recent RedHat, Suse, and Mandrake Linux distributions all include
|
||||
openjade and SGML tools. If you can get the right packages installed,
|
||||
you may save yourself a few hours of compiling and configuring from scratch.
|
||||
For plex86, which also uses docbook, Kevin Lawton listed the packages that
|
||||
he installed on Mandrake to get jade working:
|
||||
|
||||
<programlisting>
|
||||
jadetex-3.5-2mdk
|
||||
openjade-1.3-10mdk
|
||||
docbook-dtd31-sgml-1.0-3mdk
|
||||
docbook-utils-0.6-1mdk
|
||||
docbook-style-dsssl-1.62-4mdk
|
||||
docbook-dtd412-xml-1.0-3mdk
|
||||
sgml-common-0.2-4mdk
|
||||
xml-common-0.1-3mdk
|
||||
</programlisting>
|
||||
|
||||
Under Debian, the following packages seem to be a bare minimum to install
|
||||
DocBook and get it to render Bochs documentation into reader-friendly formats:
|
||||
|
||||
<programlisting>
|
||||
jade
|
||||
docbook
|
||||
docbook-dsssl
|
||||
</programlisting>
|
||||
|
||||
It's worth mentioning that, at the time of this writing, at least some of
|
||||
the above-mentioned packages were in the testing or unstable branches of
|
||||
Debian.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Under FreeBSD, just install the following ports:
|
||||
|
||||
<programlisting>
|
||||
textproc/jade
|
||||
textproc/dsssl-docbook-modular
|
||||
textproc/docbook-410
|
||||
</programlisting>
|
||||
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Hopefully, the required packages on other Linux distributions have
|
||||
similar names. If you have jade working, please tell a documentation
|
||||
writer the package names that you used so that we can include it in the docs.
|
||||
&NEEDHELP;
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you cannot get jade to work using packages, you need to find and install
|
||||
three things: the DocBook DTD version 4.1 from &OASIS;, the program
|
||||
<ulink url="http://www.jclark.com/jade/">jade</ulink>
|
||||
(or <ulink url="http://openjade.sourceforge.net/">openjade</ulink>), and the
|
||||
<ulink url="http://sourceforge.net/projects/docbook/">Docbook DSSSL
|
||||
stylesheets</ulink> for the formats that you want to render to. The whole
|
||||
process is described in &docbookTDG; in Appendix III section A. If you want
|
||||
to render to PostScript or Adobe PDF, you also need to install TeX and
|
||||
and some associated tools. It is a nontrivial process.
|
||||
</para>
|
||||
|
||||
<tip>
|
||||
<para>
|
||||
Just use the packages.
|
||||
</para>
|
||||
</tip>
|
||||
|
||||
<para>
|
||||
For now, building the Bochs documentation also depends on some scripts called
|
||||
docbook2html, docbook2pdf, and docbook2ps. These come from the docbook-tools
|
||||
project at <ulink url="http://sources.redhat.com/docbook-tools">http://sources.redhat.com/docbook-tools</ulink>.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Using jade with docbook2x scripts</title>
|
||||
|
||||
<para>
|
||||
Check to see if you have the docbook2ps, docbook2pdf, and docbook2html
|
||||
scripts. If so, you can probably use the Bochs Makefile. Just do
|
||||
<programlisting>
|
||||
cd $BOCHS/doc/docbook
|
||||
make
|
||||
</programlisting>
|
||||
It should render three docbook books, one in user, one in development, and one
|
||||
in and documentation. If there are no errors, look for the user guide
|
||||
in <filename>$BOCHS/doc/docbook/user/user.pdf</filename>,
|
||||
<filename>$BOCHS/doc/docbook/users/user.ps</filename>, and
|
||||
<filename>$BOCHS/doc/docbook/users/book1.html</filename>. The HTML is broken
|
||||
into lots of little chunks that link to each other, but book1.html is the first
|
||||
one.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Using jade directly</title>
|
||||
<para>
|
||||
If you don't have docbook2<replaceable>format</replaceable> scripts, you
|
||||
can also run jade manually. The command is long, so you may want to make
|
||||
your own script or edit your copy of the makefile. These commands assume that
|
||||
you installed Norman Walsh's DSSSL stylesheets in <varname>$DSSSL</varname>.
|
||||
To render the user's guide into HTML, type:
|
||||
<programlisting>
|
||||
cd $BOCHS/doc/docbook/user
|
||||
jade -t sgml -d <varname>$DSSSL</varname>/html/docbook.dsl user.dbk
|
||||
</programlisting>
|
||||
Or, if you want to render the developer's guide into TeX format,
|
||||
<programlisting>
|
||||
cd $BOCHS/doc/docbook/developer
|
||||
jade -t tex -d <varname>$DSSSL</varname>/print/docbook.dsl developer.dbk
|
||||
</programlisting>
|
||||
Or, if you want to render the documentation guide into Rich Text Format,
|
||||
<programlisting>
|
||||
cd $BOCHS/doc/docbook/documentation
|
||||
jade -t rtf -d <varname>$DSSSL</varname>/print/docbook.dsl documentation.dbk
|
||||
</programlisting>
|
||||
I believe that the HTML stylesheet must have "-t sgml" but the print
|
||||
stylesheet in the second example can have "-t rtf" for Rich Text Format,
|
||||
"-t tex" for TeX, or "-t mif" for MIF.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Bochs has the convention of calling the docbook files
|
||||
<replaceable>name</replaceable>.dbk, but any file name would work. Some
|
||||
other people call them <replaceable>NAME</replaceable>.sgm for SGML.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Configuration</title>
|
||||
<para>
|
||||
If the generated HTML files do not have the same names as the Bochs documentation
|
||||
on the web, some kind of configuration is required. You need to edit the DSL file
|
||||
to make sure the following settings are used.
|
||||
<screen>
|
||||
(define %root-filename% "index") ;; name for the root html file
|
||||
(define %html-ext% ".html") ;; default extension for html output files
|
||||
(define %html-prefix% "") ;; prefix for all filenames generated (except root)
|
||||
(define %use-id-as-filename% #t) ;; if #t uses ID value, if present, as filename
|
||||
;; otherwise a code is used to indicate level
|
||||
;; of chunk, and general element number
|
||||
;; (nth element in the document)
|
||||
(define use-output-dir #f) ;; output in separate directory?
|
||||
</screen>
|
||||
</para>
|
||||
<para>
|
||||
If you like to have the screen sections shaded, this setting should help.
|
||||
<screen>
|
||||
(define %shade-verbatim% #t)
|
||||
</screen>
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="nsgmls"> <title>Nsgmls</title>
|
||||
|
||||
<para>
|
||||
The Bochs documentation is written in SGML docbook style, so any tool which can
|
||||
check SGML syntax can be used to check the docbook. The DTD (data type
|
||||
description) for docbook tells exactly which elements can be used and where.
|
||||
It says which attributes are required and which are optional, and how elements
|
||||
should be nested. The term "validate" has a specific meaning in SGML. When
|
||||
you validate a SGML document, it means that you read the DTD and then check
|
||||
that the document conforms to all the rules of the DTD.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A program called nsgmls, written by James Clark <email>jjc@jclark.com</email>,
|
||||
can validate an SGML document such as our docbook. Although nsgmls can do many
|
||||
other things, this command will validate the docbook against the DTD which
|
||||
defines the syntax:
|
||||
<cmdsynopsis>
|
||||
<command>nsgmls</command>
|
||||
<arg choice="plain">-s</arg>
|
||||
<arg choice="plain"><replaceable>filename</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Nsgmls is part of SP, a "free object-oriented toolkit for SGML parsing and
|
||||
entity management" by James Clark <email>jjc@jclark.com</email>. SP can be
|
||||
found at
|
||||
<ulink url="http://www.jclark.com/sp">http://www.jclark.com/sp</ulink>.
|
||||
There is a complete man page for nsgmls
|
||||
<ulink url="http://www.jclark.com/sp/nsgmls.htm">here</ulink>.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
</chapter> <!-- end Rendering chapter -->
|
||||
|
||||
</book>
|
||||
@@ -0,0 +1,189 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Bochs Documentation Manual</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Layout of Bochs Documentation"
|
||||
HREF="layout.html"></HEAD
|
||||
><BODY
|
||||
CLASS="BOOK"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="BOOK"
|
||||
><A
|
||||
NAME="AEN1"
|
||||
></A
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
><H1
|
||||
CLASS="TITLE"
|
||||
><A
|
||||
NAME="AEN2"
|
||||
>Bochs Documentation Manual</A
|
||||
></H1
|
||||
><H3
|
||||
CLASS="AUTHOR"
|
||||
><A
|
||||
NAME="AEN5"
|
||||
></A
|
||||
>Bryce Denney</H3
|
||||
><H3
|
||||
CLASS="AUTHOR"
|
||||
><A
|
||||
NAME="AEN8"
|
||||
></A
|
||||
>Michael Calabrese</H3
|
||||
><HR></DIV
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
>1. <A
|
||||
HREF="layout.html"
|
||||
>Layout of Bochs Documentation</A
|
||||
></DT
|
||||
><DT
|
||||
>2. <A
|
||||
HREF="basics.html"
|
||||
>Docbook Basics</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>2.1. <A
|
||||
HREF="basics.html#AEN26"
|
||||
>Small Tutorial</A
|
||||
></DT
|
||||
><DT
|
||||
>2.2. <A
|
||||
HREF="references.html"
|
||||
>References and Other Tutorials</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>3. <A
|
||||
HREF="conventions.html"
|
||||
>Conventions</A
|
||||
></DT
|
||||
><DT
|
||||
>4. <A
|
||||
HREF="reading-writing.html"
|
||||
>Reading and Writing</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>4.1. <A
|
||||
HREF="reading-writing.html#AEN113"
|
||||
>Jade and DSSSL</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>4.1.1. <A
|
||||
HREF="reading-writing.html#AEN122"
|
||||
>Installation</A
|
||||
></DT
|
||||
><DT
|
||||
>4.1.2. <A
|
||||
HREF="reading-writing.html#AEN142"
|
||||
>Using jade with docbook2x scripts</A
|
||||
></DT
|
||||
><DT
|
||||
>4.1.3. <A
|
||||
HREF="reading-writing.html#AEN149"
|
||||
>Using jade directly</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>4.2. <A
|
||||
HREF="nsgmls.html"
|
||||
>Nsgmls</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="LOT"
|
||||
><DL
|
||||
CLASS="LOT"
|
||||
><DT
|
||||
><B
|
||||
>List of Tables</B
|
||||
></DT
|
||||
><DT
|
||||
>3-1. <A
|
||||
HREF="conventions.html#AEN83"
|
||||
>list of problem words</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="layout.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Layout of Bochs Documentation</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,164 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Layout of Bochs Documentation</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Documentation Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Bochs Documentation Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Docbook Basics"
|
||||
HREF="basics.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Documentation Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="basics.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="LAYOUT"
|
||||
></A
|
||||
>Chapter 1. Layout of Bochs Documentation</H1
|
||||
><P
|
||||
>The Bochs documentation is divided into three major divisions:
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> The User's Guide introduces the Bochs Emulator, and covers installation and use.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Developer's Guide: Describes the internals of the Bochs Emulator for developers.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Documentation Guide: Describes how the documentation is organized, and how to render it, and how to add to it. This section is in the documentation guide.
|
||||
</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
</P
|
||||
><P
|
||||
>In docbook terminology, each of the three divisions is a book. Inside each
|
||||
book are a series of chapters. A chapter may be divided into sections, and
|
||||
each section is divided into more sections. Eventually we will add fancy
|
||||
things like a table of contents, index, and glossary, when we learn how.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="basics.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Bochs Documentation Manual</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Docbook Basics</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,184 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Nsgmls</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Documentation Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Reading and Writing"
|
||||
HREF="reading-writing.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Reading and Writing"
|
||||
HREF="reading-writing.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECT1"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Documentation Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="reading-writing.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 4. Reading and Writing</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="NSGMLS"
|
||||
>4.2. Nsgmls</A
|
||||
></H1
|
||||
><P
|
||||
>The Bochs documentation is written in SGML docbook style, so any tool which can
|
||||
check SGML syntax can be used to check the docbook. The DTD (data type
|
||||
description) for docbook tells exactly which elements can be used and where.
|
||||
It says which attributes are required and which are optional, and how elements
|
||||
should be nested. The term "validate" has a specific meaning in SGML. When
|
||||
you validate a SGML document, it means that you read the DTD and then check
|
||||
that the document conforms to all the rules of the DTD.</P
|
||||
><P
|
||||
>A program called nsgmls, written by James Clark <CODE
|
||||
CLASS="EMAIL"
|
||||
><<A
|
||||
HREF="mailto:jjc@jclark.com"
|
||||
>jjc@jclark.com</A
|
||||
>></CODE
|
||||
>,
|
||||
can validate an SGML document such as our docbook. Although nsgmls can do many
|
||||
other things, this command will validate the docbook against the DTD which
|
||||
defines the syntax:
|
||||
<P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>nsgmls</B
|
||||
> -s <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>filename</I
|
||||
></TT
|
||||
> </P
|
||||
></P
|
||||
><P
|
||||
>Nsgmls is part of SP, a "free object-oriented toolkit for SGML parsing and
|
||||
entity management" by James Clark <CODE
|
||||
CLASS="EMAIL"
|
||||
><<A
|
||||
HREF="mailto:jjc@jclark.com"
|
||||
>jjc@jclark.com</A
|
||||
>></CODE
|
||||
>. SP can be
|
||||
found at
|
||||
<A
|
||||
HREF="http://www.jclark.com/sp"
|
||||
TARGET="_top"
|
||||
>http://www.jclark.com/sp</A
|
||||
>.
|
||||
There is a complete man page for nsgmls
|
||||
<A
|
||||
HREF="http://www.jclark.com/sp/nsgmls.htm"
|
||||
TARGET="_top"
|
||||
>here</A
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="reading-writing.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Reading and Writing</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="reading-writing.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,521 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Reading and Writing</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Documentation Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Conventions"
|
||||
HREF="conventions.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Nsgmls"
|
||||
HREF="nsgmls.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Documentation Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="conventions.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="nsgmls.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="READING-WRITING"
|
||||
></A
|
||||
>Chapter 4. Reading and Writing</H1
|
||||
><P
|
||||
>The DocBook source code -- user.dbk, for example -- is a plain text file that
|
||||
can be directly edited and saved with any text editor such as emacs or vi. </P
|
||||
><DIV
|
||||
CLASS="TIP"
|
||||
><BLOCKQUOTE
|
||||
CLASS="TIP"
|
||||
><P
|
||||
><B
|
||||
>Tip: </B
|
||||
>If you just want to read the documentation, you should not
|
||||
need to read and understand this section, and render the docs yourself. The
|
||||
<A
|
||||
HREF="http://bochs.sourceforge.net"
|
||||
TARGET="_top"
|
||||
>Bochs web site</A
|
||||
> has all this information in readable form already.</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
><P
|
||||
>To render DocBook source code into the nice readable form the end-user will
|
||||
require, several tools are needed. These tools allow the .dbk file to be
|
||||
rendered into such formats as HTML, PDF, and PostScript. This section
|
||||
describes the tools you need and the steps you take to render the Bochs
|
||||
documentation.</P
|
||||
><DIV
|
||||
CLASS="TIP"
|
||||
><BLOCKQUOTE
|
||||
CLASS="TIP"
|
||||
><P
|
||||
><B
|
||||
>Tip: </B
|
||||
>The rendering process is one-way. That is, the DocBook source files will be
|
||||
downloaded from CVS, edited, and uploaded to CVS as .dbk files. Along the
|
||||
way, it will probably be necessary to render them into HTML, but only to
|
||||
check one's work or to post them as part of a web page. (I hope I'm not the
|
||||
only person to spend nine minutes trying to figure out how to 'compile' HTML
|
||||
into DocBook format.)</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN113"
|
||||
>4.1. Jade and DSSSL</A
|
||||
></H1
|
||||
><P
|
||||
>Here is what the Linux Documentation Project says about jade:
|
||||
|
||||
<A
|
||||
NAME="AEN116"
|
||||
></A
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
WIDTH="100%"
|
||||
CELLSPACING="0"
|
||||
CELLPADDING="0"
|
||||
CLASS="BLOCKQUOTE"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
><TD
|
||||
VALIGN="TOP"
|
||||
><P
|
||||
> Jade is the front-end processor for SGML and XML. It uses the DSSSL and
|
||||
DocBook DTD to perform the verification and rendering from SGML and XML into
|
||||
the target format.
|
||||
</P
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
COLSPAN="2"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
>--<SPAN
|
||||
CLASS="ATTRIBUTION"
|
||||
> LDP author's guide
|
||||
</SPAN
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><P
|
||||
>What does all this mean?
|
||||
For purposes of Bochs documentation, jade reads the docbook source file and
|
||||
writes out a HTML/PDF/PS file. Bochs documentation is in SGML format, though
|
||||
apparantly jade can handle XML Docbooks as well. DSSSL stands for
|
||||
<SPAN
|
||||
CLASS="QUOTE"
|
||||
>"Document Style Semantics and Specification Language"</SPAN
|
||||
>, and it
|
||||
tells jade how to translate the docbook tags into the target format. DSSSL
|
||||
files are written in the Scheme programming language, which is a variant of
|
||||
LISP. Learn more about DSSSL at <A
|
||||
HREF="http://www.jclark.com/dsssl"
|
||||
TARGET="_top"
|
||||
>Jim Clark's DSSSL page</A
|
||||
>.
|
||||
The DocBook DTD is the formal description of what elements and attributes can
|
||||
be used in a docbook.</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN122"
|
||||
>4.1.1. Installation</A
|
||||
></H2
|
||||
><P
|
||||
>The easiest way to get jade working in Linux is to install packages. The
|
||||
recent RedHat, Suse, and Mandrake Linux distributions all include
|
||||
openjade and SGML tools. If you can get the right packages installed,
|
||||
you may save yourself a few hours of compiling and configuring from scratch.
|
||||
For plex86, which also uses docbook, Kevin Lawton listed the packages that
|
||||
he installed on Mandrake to get jade working:
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> jadetex-3.5-2mdk
|
||||
openjade-1.3-10mdk
|
||||
docbook-dtd31-sgml-1.0-3mdk
|
||||
docbook-utils-0.6-1mdk
|
||||
docbook-style-dsssl-1.62-4mdk
|
||||
docbook-dtd412-xml-1.0-3mdk
|
||||
sgml-common-0.2-4mdk
|
||||
xml-common-0.1-3mdk</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
Under Debian, the following packages seem to be a bare minimum to install
|
||||
DocBook and get it to render Bochs documentation into reader-friendly formats:
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> jade
|
||||
docbook
|
||||
docbook-dsssl</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
It's worth mentioning that, at the time of this writing, at least some of
|
||||
the above-mentioned packages were in the testing or unstable branches of
|
||||
Debian.</P
|
||||
><P
|
||||
>Under FreeBSD, just install the following ports:
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> textproc/jade
|
||||
textproc/dsssl-docbook-modular
|
||||
textproc/docbook-410</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
<IMG
|
||||
SRC="../images/undercon.png"> The generated HTML output doesn't look exactly the same as the Bochs
|
||||
documentation on the web, so it seems as if some kind of configuration is still
|
||||
needed.</P
|
||||
><P
|
||||
>Hopefully, the required packages on other Linux distributions have
|
||||
similar names. If you have jade working, please tell a documentation
|
||||
writer the package names that you used so that we can include it in the docs.
|
||||
<IMG
|
||||
SRC="../images/undercon.png"></P
|
||||
><P
|
||||
>If you cannot get jade to work using packages, you need to find and install
|
||||
three things: the DocBook DTD version 4.1 from <A
|
||||
HREF="http://www.oasis-open.org/"
|
||||
TARGET="_top"
|
||||
>OASIS</A
|
||||
>, the program
|
||||
<A
|
||||
HREF="http://www.jclark.com/jade/"
|
||||
TARGET="_top"
|
||||
>jade</A
|
||||
>
|
||||
(or <A
|
||||
HREF="http://openjade.sourceforge.net/"
|
||||
TARGET="_top"
|
||||
>openjade</A
|
||||
>), and the
|
||||
<A
|
||||
HREF="http://sourceforge.net/projects/docbook/"
|
||||
TARGET="_top"
|
||||
>Docbook DSSSL
|
||||
stylesheets</A
|
||||
> for the formats that you want to render to. The whole
|
||||
process is described in <A
|
||||
HREF="http://www.docbook.org/tdg/en/html/docbook.html"
|
||||
TARGET="_top"
|
||||
>DocBook: The Definitive Guide</A
|
||||
> in Appendix III section A. If you want
|
||||
to render to PostScript or Adobe PDF, you also need to install TeX and
|
||||
and some associated tools. It is a nontrivial process.</P
|
||||
><DIV
|
||||
CLASS="TIP"
|
||||
><BLOCKQUOTE
|
||||
CLASS="TIP"
|
||||
><P
|
||||
><B
|
||||
>Tip: </B
|
||||
>Just use the packages.</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
><P
|
||||
>For now, building the Bochs documentation also depends on some scripts called
|
||||
docbook2html, docbook2pdf, and docbook2ps. These come from the docbook-tools
|
||||
project at <A
|
||||
HREF="http://sources.redhat.com/docbook-tools"
|
||||
TARGET="_top"
|
||||
>http://sources.redhat.com/docbook-tools</A
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN142"
|
||||
>4.1.2. Using jade with docbook2x scripts</A
|
||||
></H2
|
||||
><P
|
||||
>Check to see if you have the docbook2ps, docbook2pdf, and docbook2html
|
||||
scripts. If so, you can probably use the Bochs Makefile. Just do
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> cd $BOCHS/doc/docbook
|
||||
make</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
It should render three docbook books, one in user, one in development, and one
|
||||
in and documentation. If there are no errors, look for the user guide
|
||||
in <TT
|
||||
CLASS="FILENAME"
|
||||
>$BOCHS/doc/docbook/user/user.pdf</TT
|
||||
>,
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>$BOCHS/doc/docbook/users/user.ps</TT
|
||||
>, and
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>$BOCHS/doc/docbook/users/book1.html</TT
|
||||
>. The HTML is broken
|
||||
into lots of little chunks that link to each other, but book1.html is the first
|
||||
one.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN149"
|
||||
>4.1.3. Using jade directly</A
|
||||
></H2
|
||||
><P
|
||||
>If you don't have docbook2<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>format</I
|
||||
></TT
|
||||
> scripts, you
|
||||
can also run jade manually. The command is long, so you may want to make
|
||||
your own script or edit your copy of the makefile. These commands assume that
|
||||
you installed Norman Walsh's DSSSL stylesheets in <CODE
|
||||
CLASS="VARNAME"
|
||||
>$DSSSL</CODE
|
||||
>.
|
||||
To render the user's guide into HTML, type:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> cd $BOCHS/doc/docbook/user
|
||||
jade -t sgml -d <CODE
|
||||
CLASS="VARNAME"
|
||||
>$DSSSL</CODE
|
||||
>/html/docbook.dsl user.dbk</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Or, if you want to render the developer's guide into TeX format,
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> cd $BOCHS/doc/docbook/developer
|
||||
jade -t tex -d <CODE
|
||||
CLASS="VARNAME"
|
||||
>$DSSSL</CODE
|
||||
>/print/docbook.dsl developer.dbk</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Or, if you want to render the documentation guide into Rich Text Format,
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> cd $BOCHS/doc/docbook/documentation
|
||||
jade -t rtf -d <CODE
|
||||
CLASS="VARNAME"
|
||||
>$DSSSL</CODE
|
||||
>/print/docbook.dsl documentation.dbk</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
I believe that the HTML stylesheet must have "-t sgml" but the print
|
||||
stylesheet in the second example can have "-t rtf" for Rich Text Format,
|
||||
"-t tex" for TeX, or "-t mif" for MIF.</P
|
||||
><P
|
||||
>Bochs has the convention of calling the docbook files
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>name</I
|
||||
></TT
|
||||
>.dbk, but any file name would work. Some
|
||||
other people call them <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>NAME</I
|
||||
></TT
|
||||
>.sgm for SGML.</P
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="conventions.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="nsgmls.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Conventions</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Nsgmls</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,188 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>References and Other Tutorials</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs Documentation Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Docbook Basics"
|
||||
HREF="basics.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Docbook Basics"
|
||||
HREF="basics.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Conventions"
|
||||
HREF="conventions.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs Documentation Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="basics.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 2. Docbook Basics</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="conventions.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="REFERENCES"
|
||||
>2.2. References and Other Tutorials</A
|
||||
></H1
|
||||
><P
|
||||
>Docbook was created more than 10 years ago, but since 1999, Docbook has been
|
||||
under the guidance of the DocBook Technical Committee at OASIS. The
|
||||
<A
|
||||
HREF="http://www.oasis-open.org/committees/docbook"
|
||||
TARGET="_top"
|
||||
>OASIS website</A
|
||||
>
|
||||
distributes the official DocBook DTDs, and has pages on Docbook history,
|
||||
samples, tools, and runs a few docbook mailing lists.</P
|
||||
><P
|
||||
>Since the Linux Documentation Project uses docbook, they have written some
|
||||
good tutorial material. In particular the <A
|
||||
HREF="http://www.linuxdoc.org/LDP/LDP-Author-Guide/index.html"
|
||||
TARGET="_top"
|
||||
>LDP Author Guide</A
|
||||
>, by Jorge Godoy
|
||||
is very good.</P
|
||||
><P
|
||||
>O'Reilly & Associates publishes a book called <A
|
||||
HREF="http://www.docbook.org/tdg/en/html/docbook.html"
|
||||
TARGET="_top"
|
||||
>DocBook: The Definitive
|
||||
Guide</A
|
||||
> by Norman Walsh and Leonard Muellner. You can buy it or read it
|
||||
online. Norman Walsh knows what he's talking about, since he is the chair of
|
||||
the DocBook Technical Committee. This is good for reference, since it has a
|
||||
complete list of tags and their grammar.</P
|
||||
><P
|
||||
><A
|
||||
HREF="http://www.ibiblio.org/godoy/sgml/docbook/howto/index.html"
|
||||
TARGET="_top"
|
||||
>DocBook
|
||||
HOWTO, also by Jorge Godoy</A
|
||||
></P
|
||||
><P
|
||||
>An article on lwn.net called <A
|
||||
HREF="http://lwn.net/2000/features/DocBook"
|
||||
TARGET="_top"
|
||||
>Exploring SGML Docbook</A
|
||||
>
|
||||
focuses mostly on installation of tools from scratch: openjade, Norman Walsh's
|
||||
DSSSL stylesheets, and jade2tex. If you can get the tools from RPMs or
|
||||
whatever package your OS uses, use that instead.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="basics.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="conventions.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Docbook Basics</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="basics.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Conventions</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 8.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 383 B |
42
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/docs/index.html
Normal file
42
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/docs/index.html
Normal file
@@ -0,0 +1,42 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Bochs Documentation</TITLE>
|
||||
<style TYPE="text/CSS">
|
||||
<!--
|
||||
A:link {color: blue; text-decoration: none}
|
||||
A:visited {color: blue; text-decoration: none}
|
||||
A:active {color: blue; text-decoration: none}
|
||||
A:hover {color: blue; text-decoration: underline}
|
||||
|
||||
INPUT {border:thin solid black; font-size: 7pt; font-family:Verdana, Arial Helvetica}
|
||||
|
||||
.sidebar {font-family:Verdana, Arial, Helvetica; color: #000000}
|
||||
A.sidebar:link {color: #000000; font-style: normal; text-decoration: none}
|
||||
A.sidebar:visited {color: #000000; font-style: normal; text-decoration: none}
|
||||
A.sidebar:active {color: #000000; font-style: normal; text-decoration: none}
|
||||
A.sidebar:hover {color: blue; text-decoration: underline}
|
||||
-->
|
||||
</style>
|
||||
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF" VLINK="#000000" ALINK="#000000" LINK="#000000">
|
||||
|
||||
<h1>Bochs Documentation</h1>
|
||||
<P>
|
||||
|
||||
The documentation is divided into three parts:
|
||||
<ul>
|
||||
<li><a href="user/index.html">User Guide</a></li>
|
||||
<li><a href="development/index.html">Development Guide</a></li>
|
||||
<li><a href="documentation/index.html">Documentation Guide</a></li>
|
||||
</ul>
|
||||
|
||||
<!--
|
||||
Docbook files can be easily translated into PDF and PostScript.
|
||||
|
||||
However Bryce doesn't have his docbook software installed right, so
|
||||
he can't produce PDF or PS at present. When he can make PDF and PS
|
||||
files, we may want to revert to version 1.3 which had a link to each
|
||||
book in each format.
|
||||
-->
|
||||
@@ -0,0 +1,610 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>BIOS Tips</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Tips and Techniques"
|
||||
HREF="howto.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Using the serial port"
|
||||
HREF="serial-port.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="How to enter special key combination"
|
||||
HREF="enter-special-keys.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="serial-port.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 8. Tips and Techniques</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="enter-special-keys.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="BIOS-TIPS"
|
||||
>8.14. BIOS Tips</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN3150"
|
||||
>8.14.1. Booting from CD-ROMs</A
|
||||
></H2
|
||||
><P
|
||||
>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
|
||||
<A
|
||||
HREF="http://bochs.sourceforge.net/techdata.html"
|
||||
TARGET="_top"
|
||||
>Bochs tech specs page</A
|
||||
>.
|
||||
</P
|
||||
><P
|
||||
>El Torito specifies 3 ways to have a bootable CD:
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>floppy emulation boot: A standard floppy image is burnt on the CD.
|
||||
In this case the BIOS has to redirect all first floppy accesses to this
|
||||
image and the real floppy drive becomes the second one.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>a "no emulation" boot: In this case the BIOS is instructed to load an
|
||||
arbitrary number of sectors straight into memory, and execute it.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>hard disk emulation: A hard disk image is burnt on the CD. The
|
||||
BIOS has to redirect all hard disk accesses to that image. The real hard disks
|
||||
are still available, with BIOS numbers 81h and up.</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
|
||||
In Bochs 2.0, hard disk emulation is not implemented in the BIOS.
|
||||
There are also subtilities about multiple boot-images CD-ROMs, that are
|
||||
not handled by Bochs.
|
||||
</P
|
||||
><P
|
||||
>However, our BIOS may be more strict than real PC BIOSes, I don't know.
|
||||
But I would definitely be interested to know of any CD that can boot
|
||||
on real hardware, but does not in Bochs.
|
||||
</P
|
||||
><P
|
||||
>When failing to boot from CD-ROM, the BIOS outputs
|
||||
the reason of the failure as
|
||||
an error code, in the log file, and on the screen.
|
||||
</P
|
||||
><P
|
||||
>Here is a summary of what can happen when booting from the CD.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="TABLE"
|
||||
><A
|
||||
NAME="AEN3165"
|
||||
></A
|
||||
><P
|
||||
><B
|
||||
>Table 8-1. CD Boot error codes</B
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="1"
|
||||
RULES="all"
|
||||
CLASS="CALSTABLE"
|
||||
><COL><COL><THEAD
|
||||
><TR
|
||||
><TH
|
||||
>Error code</TH
|
||||
><TH
|
||||
>Reason</TH
|
||||
></TR
|
||||
></THEAD
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> 0x01 </TD
|
||||
><TD
|
||||
> no atapi device found </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x02 </TD
|
||||
><TD
|
||||
> no atapi cdrom found </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x03 </TD
|
||||
><TD
|
||||
> can not read cd - BRVD </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x04 </TD
|
||||
><TD
|
||||
> cd is not eltorito (BRVD) </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x05 </TD
|
||||
><TD
|
||||
> cd is not eltorito (ISO TAG) </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x06 </TD
|
||||
><TD
|
||||
> cd is not eltorito (ELTORITO TAG) </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x07 </TD
|
||||
><TD
|
||||
> can not read cd - boot catalog </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x08 </TD
|
||||
><TD
|
||||
> boot catalog : bad header </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x09 </TD
|
||||
><TD
|
||||
> boot catalog : bad platform </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x0A </TD
|
||||
><TD
|
||||
> boot catalog : bad signature </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x0B </TD
|
||||
><TD
|
||||
> boot catalog : bootable flag not set </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> 0x0C </TD
|
||||
><TD
|
||||
> can not read cd - boot image </TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
></DIV
|
||||
><P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>0x01 no atapi device found
|
||||
0x02 no atapi cdrom found</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
For the first two errors, an ata-*: type=cdrom is probably missing
|
||||
from the configuration file. This is what you get if no cdrom has
|
||||
been defined in Bochs conf file.</P
|
||||
><P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>0x03 can not read cd - BRVD</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
For this error, the cdrom support has not been compiled in Bochs,
|
||||
or Bochs could not open the file or device. This is what you get if
|
||||
Bochs is not able to read the cd.</P
|
||||
><P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>0x04 cd is not eltorito (BRVD)
|
||||
0x05 cd is not eltorito (ISO TAG)
|
||||
0x06 cd is not eltorito (ELTORITO TAG)</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
For these errors, the data has been read from the cd, but
|
||||
the cd does not conform to the El Torito specification. This
|
||||
is what you get if the cd is not bootable.</P
|
||||
><P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>0x08 boot catalog : bad header
|
||||
0x09 boot catalog : bad platform
|
||||
0x0A boot catalog : bad signature
|
||||
0x0B boot catalog : bootable flag not set</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
now the cd is eltorito, but the boot catalog is currupt, or
|
||||
the cd was made to boot on a ppc system. This should not happen
|
||||
for a x86 bootable cd.</P
|
||||
><P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>0x07 can not read cd - boot catalog
|
||||
0x0C can not read cd - boot image</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
here, specific part of the cd could not be read. This should
|
||||
definitely not happen.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="BIOS-DISK-TRANSLATION"
|
||||
>8.14.2. Disk translation</A
|
||||
></H2
|
||||
><P
|
||||
>Since the beginning of the PC era, disks have grown in size by a factor of 10000. Due to
|
||||
differences between the ATA specification and BIOSes implementations, when disks reached
|
||||
critical sizes, it
|
||||
became necessary to translate the CHS geometry (cylinders, heads, sectors per track)
|
||||
between the BIOS (int 13h) and the ATA interface. Please refer to the
|
||||
<A
|
||||
HREF="http://burks.brighton.ac.uk/burks/pcinfo/hardware/atafaq/atafq.htm"
|
||||
TARGET="_top"
|
||||
>ATA-FAQ</A
|
||||
>
|
||||
and
|
||||
<A
|
||||
HREF="http://www.ata-atapi.com/hiwchs.htm"
|
||||
TARGET="_top"
|
||||
>Hale Landis' document</A
|
||||
>
|
||||
for a complete discussion of the problem.
|
||||
</P
|
||||
><P
|
||||
>Unfortunately, there has never been any standard on the translation algorithms.
|
||||
</P
|
||||
><P
|
||||
>Bochs implements 4 well-known algorithms, selectable in the configuration file
|
||||
in the "<B
|
||||
CLASS="COMMAND"
|
||||
>ataX-xxxx: ..., translation='algorithm'</B
|
||||
>" section.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="TABLE"
|
||||
><A
|
||||
NAME="AEN3227"
|
||||
></A
|
||||
><P
|
||||
><B
|
||||
>Table 8-2. Disk translation algorithms</B
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="1"
|
||||
RULES="all"
|
||||
CLASS="CALSTABLE"
|
||||
><COL><COL><COL><COL><THEAD
|
||||
><TR
|
||||
><TH
|
||||
>Algorithm</TH
|
||||
><TH
|
||||
>Maximum disk size</TH
|
||||
><TH
|
||||
>Maximum logical and physical geometry (CHS)</TH
|
||||
><TH
|
||||
>Description</TH
|
||||
></TR
|
||||
></THEAD
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
>none</TD
|
||||
><TD
|
||||
>528MB (1032192 sectors)</TD
|
||||
><TD
|
||||
> LCHS:1024/16/63
|
||||
PCHS:1024/16/63
|
||||
</TD
|
||||
><TD
|
||||
> no translation is done. The CHS received at the int13h interface
|
||||
is sent as is to the ATA interface.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>large</TD
|
||||
><TD
|
||||
>4.2GB (8257536 sectors)</TD
|
||||
><TD
|
||||
> LCHS:1024/128/63
|
||||
PCHS:8192/16/63
|
||||
</TD
|
||||
><TD
|
||||
> a standard bitshift algorithm (named Extended-CHS)
|
||||
is used to translate the CHS between
|
||||
the int13h interface
|
||||
and the ATA interface. The translation is acheived by
|
||||
multiplying/dividing the cylinder/head count by a power of 2
|
||||
(2, 4 or 8).
|
||||
(a factor of 16 could not be used because the
|
||||
head count would become 256, and MS-DOS thought this was 0)
|
||||
Note that the number of sectors per track is not changed, so
|
||||
a lower spt value will lead to a lower maximum disk size.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>echs</TD
|
||||
><TD
|
||||
> </TD
|
||||
><TD
|
||||
> </TD
|
||||
><TD
|
||||
>synonym for large</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>rechs</TD
|
||||
><TD
|
||||
>7.9GB (15482880 sectors)</TD
|
||||
><TD
|
||||
> LCHS:1024/240/63
|
||||
PCHS:15360/16/63
|
||||
</TD
|
||||
><TD
|
||||
> a revised bitshift algorithm (called Revised Extended-CHS)
|
||||
is used to translate the CHS between
|
||||
the int13h interface
|
||||
and the ATA interface. First the number of physical heads is forced to
|
||||
15, and the number of cylinders is adjusted accordingly.
|
||||
Then, as in the simple extended CHS algorithm, the translation
|
||||
is acheived by
|
||||
multiplying/dividing the cylinder/head count by a power of 2
|
||||
(2, 4, 8 or 16).
|
||||
The head count being forced to 15, it can safely be multiplied by 16
|
||||
without crashing dos.
|
||||
Note that the number of sectors per track is not changed, so
|
||||
a lower spt value will lead to a lower maximum disk size.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>lba</TD
|
||||
><TD
|
||||
>8.4GB (16450560 sectors)</TD
|
||||
><TD
|
||||
> LCHS:1024/255/63
|
||||
PCHS:16320/16/63
|
||||
</TD
|
||||
><TD
|
||||
> a LBA-assisted algorithm
|
||||
is used to translate the CHS between
|
||||
the int13h interface
|
||||
and the ATA interface. The translation is acheived by
|
||||
first computing the physical size of the disk (LBA=C*H*S).
|
||||
Then the sectors per track is forced to 63, and the head count
|
||||
to 255. Then the cylinder count is computed (C=LBA/(63*255))
|
||||
Note that the number of sectors per track is forced to 63
|
||||
in the logical geometry, regardless of the actual geometry
|
||||
reported by the disk.
|
||||
Also note that the LBA-assisted algorithm has nothing to do with
|
||||
LBA access at the ATA interface.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>auto</TD
|
||||
><TD
|
||||
> </TD
|
||||
><TD
|
||||
> </TD
|
||||
><TD
|
||||
>the best suited algorithm between none, large and lba is used</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
></DIV
|
||||
><P
|
||||
>Setting a specific CHS translation should be done if you use a disk dump
|
||||
of an actual disk, or use a real disk as a block device. You need to
|
||||
know which geometry was used to format the disk, and which translation
|
||||
was used. You must not set the translation to 'auto'.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>rechs translation should only be useful for compaq users who wants to
|
||||
use a disk as a block device. Please report if you know any other
|
||||
system that use such translation.
|
||||
</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
><P
|
||||
>If you plan to create a new disk image (for example with bximage),
|
||||
format it and install an OS on it, select the "auto" translation
|
||||
for an automatic selection
|
||||
of the best algorithm based on the disk image size. Be warned that an image created
|
||||
with the "auto" translation might not be readable with previous versions of Bochs.
|
||||
Upward compatibility will be maintained.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>This translation applies only to int13h BIOS disk accesses. Older OSes (e.g. MS-DOS)
|
||||
tend to use them a lot. On modern OSes, disk accesses through BIOS int13h are
|
||||
limited to boot loaders.
|
||||
The usual rules and tricks of the installed OS still apply (ie 1024 cylinders boot limit).</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="serial-port.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="enter-special-keys.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Using the serial port</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="howto.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>How to enter special key combination</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,187 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>bochs-announce mailing list</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Mailing Lists"
|
||||
HREF="mailinglist.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Mailing Lists"
|
||||
HREF="mailinglist.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="bochs-cvs mailing list"
|
||||
HREF="bochs-cvs.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="mailinglist.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 7. Mailing Lists</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="bochs-cvs.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="BOCHS-ANNOUNCE"
|
||||
>7.2. bochs-announce mailing list</A
|
||||
></H1
|
||||
><P
|
||||
>Bochs-announce is a moderated, low-traffic list which carries only periodic
|
||||
announcements of Bochs releases and important events. If you have a very
|
||||
important and truly relevant Bochs announcement, you can try posting it to
|
||||
bochs-announce, but the moderator will have to approve it before it will
|
||||
go out. On average, bochs-announce subscribers get one or two messages
|
||||
per month. There are about 75 subscribers. Anyone may join the list.</P
|
||||
><P
|
||||
>To subscribe, go to the <A
|
||||
HREF="http://lists.sourceforge.net/lists/listinfo/bochs-announce"
|
||||
TARGET="_top"
|
||||
>Bochs-Announce Info Page</A
|
||||
> and type your email
|
||||
address and a password into the web form and click <B
|
||||
CLASS="COMMAND"
|
||||
>Subscribe</B
|
||||
>.
|
||||
In a few minutes you will get a confirmation email. Follow the directions in
|
||||
the email to complete the subscription process. To unsubscribe, go to the
|
||||
<A
|
||||
HREF="http://lists.sourceforge.net/lists/listinfo/bochs-announce"
|
||||
TARGET="_top"
|
||||
>same
|
||||
page</A
|
||||
> and type your email address in the blank at the bottom and click
|
||||
on <B
|
||||
CLASS="COMMAND"
|
||||
>Edit Options</B
|
||||
>. Then type your password and click
|
||||
<B
|
||||
CLASS="COMMAND"
|
||||
>Unsubscribe</B
|
||||
>.</P
|
||||
><P
|
||||
>There is no need to subscribe to both lists, because all bochs-announce
|
||||
messages are forwarded to the developers list. If you subscribe to both, you
|
||||
will get 2 copies of every announcement.</P
|
||||
><P
|
||||
><A
|
||||
HREF="http://bochs.sourceforge.net/cgi-bin/topper.pl?name=Bochs+Announce+Archive&url=http://sourceforge.net/mailarchive/forum.phpqmrkforum_ideq1855"
|
||||
TARGET="_top"
|
||||
>Archive of bochs-announce messages</A
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="mailinglist.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="bochs-cvs.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Mailing Lists</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="mailinglist.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>bochs-cvs mailing list</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,153 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>bochs-cvs mailing list</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Mailing Lists"
|
||||
HREF="mailinglist.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="bochs-announce mailing list"
|
||||
HREF="bochs-announce.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Mailing List Etiquette"
|
||||
HREF="mailinglist-etiquette.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="bochs-announce.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 7. Mailing Lists</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="mailinglist-etiquette.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="BOCHS-CVS"
|
||||
>7.3. bochs-cvs mailing list</A
|
||||
></H1
|
||||
><P
|
||||
>This is the cvs commit mailinglist (a unified diff email will be sent
|
||||
whenever someone does a checkin in the bochs cvs repository).</P
|
||||
><P
|
||||
><A
|
||||
HREF="http://bochs.sourceforge.net/cgi-bin/topper.pl?name=Bochs+CVS+Mailing+List+Archive&url=http://sourceforge.net/mailarchive/forum.phpqmrkforum_ideq8301"
|
||||
TARGET="_top"
|
||||
>Archive of bochs-cvs messages</A
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="bochs-announce.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="mailinglist-etiquette.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>bochs-announce mailing list</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="mailinglist.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Mailing List Etiquette</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,149 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Bochs GNU/Linux DiskTools</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Tips and Techniques"
|
||||
HREF="howto.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Use mtools to manipulate disk images"
|
||||
HREF="mtools.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Win32 only: Tools to manipulate disk images"
|
||||
HREF="winimage.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="mtools.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 8. Tips and Techniques</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="winimage.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="BOCHS-LINUX-DISKTOOLS"
|
||||
>8.3. Bochs GNU/Linux DiskTools</A
|
||||
></H1
|
||||
><P
|
||||
><IMG
|
||||
SRC="../images/undercon.png">
|
||||
Bochs tools are external tools developped by ..., and useful to copy
|
||||
to / from guest partition from a GNU/Linux host.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="mtools.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="winimage.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Use mtools to manipulate disk images</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="howto.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Win32 only: Tools to manipulate disk images</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
2558
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/docs/user/bochsrc.html
Normal file
2558
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/docs/user/bochsrc.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,209 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Notes about Cirrus SVGA usage</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Tips and Techniques"
|
||||
HREF="howto.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Notes about VESA usage"
|
||||
HREF="vesa-notes.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Disk Image Modes"
|
||||
HREF="harddisk-modes.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="vesa-notes.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 8. Tips and Techniques</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="harddisk-modes.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="CIRRUS-NOTES"
|
||||
>8.17. Notes about Cirrus SVGA usage</A
|
||||
></H1
|
||||
><P
|
||||
> Since Bochs 2.2 it is possible to use Cirrus SVGA graphics. The Cirrus device
|
||||
supports both ISA and PCI depending on the <TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
> settings.
|
||||
If PCI is disabled or the Cirrus card is not assigned to a PCI slot, it appears
|
||||
as a CL-GD5430 ISA with 2MB VRAM. If you assign the Cirrus card to a PCI slot,
|
||||
it appears as a CL-GD5446 PCI with 4MB VRAM.
|
||||
</P
|
||||
><P
|
||||
> In order to use Cirrus SVGA, you need to compile Bochs using the <CODE
|
||||
CLASS="OPTION"
|
||||
>--enable-clgd54xx</CODE
|
||||
>
|
||||
option and enable it in your <TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
> by setting the
|
||||
<A
|
||||
HREF="bochsrc.html#BOCHSOPT-VGA"
|
||||
>vga option</A
|
||||
> to <CODE
|
||||
CLASS="PARAMETER"
|
||||
>cirrus</CODE
|
||||
>.
|
||||
Finally, you need to use the Cirrus version of the
|
||||
<A
|
||||
HREF="http://savannah.nongnu.org/projects/vgabios/"
|
||||
TARGET="_top"
|
||||
>LGPL'd VGABIOS</A
|
||||
>
|
||||
as <A
|
||||
HREF="bochsrc.html#BOCHSOPT-VGAROMIMAGE"
|
||||
>vgaromimage option</A
|
||||
> for
|
||||
applications to correctly detect Cirrus support.
|
||||
</P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> # Enable CL-GD5446 PCI
|
||||
vga: extension=cirrus
|
||||
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest-cirrus
|
||||
i440fxsupport: enabled=1, slot1=cirrus
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
> The VGABIOS is already included in the Bochs release, so no separate download is necessary.
|
||||
</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="vesa-notes.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="harddisk-modes.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Notes about VESA usage</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="howto.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Disk Image Modes</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,286 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Common problems and what to do about them (Troubleshooting)</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Save and restore simulation"
|
||||
HREF="using-save-restore.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Mouse behavior, enabling and disabling"
|
||||
HREF="mouse-toggle.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="using-save-restore.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="mouse-toggle.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="COMMON-PROBLEMS"
|
||||
></A
|
||||
>Chapter 6. Common problems and what to do about them (Troubleshooting)</H1
|
||||
><P
|
||||
> <IMG
|
||||
SRC="../images/undercon.png">
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> How to report a panic to the bug tracker?
|
||||
Keyboard mapping problems
|
||||
[...]
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN2555"
|
||||
>6.1. Bochs panics! What can I do?</A
|
||||
></H1
|
||||
><P
|
||||
> Bochs does a very good job in emulating an x86 compatible computer, however,
|
||||
it does not (yet) include a full (100%) emulation of every possible instruction,
|
||||
(BIOS) function call or (hardware) device. Thus, in case something unusual
|
||||
happens, either a not-so-common call to some (BIOS) function or device by
|
||||
some software running inside of it, Bochs has two possibilities to react:
|
||||
If the command doesn't look important (mainly happens only to non-implemented
|
||||
functions in the BIOS), a notice is logged to the <A
|
||||
HREF="bochsrc.html#BOCHSOPT-LOG"
|
||||
>log file</A
|
||||
>
|
||||
and the emulation continues. If, however, the command looks important, Bochs
|
||||
panics, because the software being emulated might depend on the successful
|
||||
execution of the given instruction or behaviour of the device.
|
||||
</P
|
||||
><P
|
||||
> A panic does not always mean that the software won't run inside of Bochs,
|
||||
as the software might just be probing the computer for the presence of some
|
||||
instruction/device, and in case it is not found, it simply won't be used at
|
||||
all, by the software.
|
||||
</P
|
||||
><P
|
||||
> You can tell Bochs what to do in case of a panic, by re-configuring the
|
||||
<A
|
||||
HREF="bochsrc.html#BOCHSOPT-DEBUG-INFO-ERROR-PANIC"
|
||||
>panic option</A
|
||||
>. If
|
||||
you change the action to "ask", Bochs reports what has happened and asks
|
||||
you what to do. The appearance of the "ask" feature depends on the display
|
||||
library used and the platform. Some display libraries don't support it at all.
|
||||
</P
|
||||
><P
|
||||
> Some of the device names reported in the panic message are abbreviations,
|
||||
since the length of the names is limited to 5 characters. This small list
|
||||
may help you finding out the name of the device that caused the panic.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="TABLE"
|
||||
><A
|
||||
NAME="AEN2563"
|
||||
></A
|
||||
><P
|
||||
><B
|
||||
>Table 6-1. Device prefixes</B
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="1"
|
||||
RULES="all"
|
||||
CLASS="CALSTABLE"
|
||||
><COL><COL><THEAD
|
||||
><TR
|
||||
><TH
|
||||
>Prefix</TH
|
||||
><TH
|
||||
>Description</TH
|
||||
></TR
|
||||
></THEAD
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
>CLVGA</TD
|
||||
><TD
|
||||
>Cirrus SVGA</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>EFIRQ</TD
|
||||
><TD
|
||||
>External FPU IRQ</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>IOAP</TD
|
||||
><TD
|
||||
>I/O APIC</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>KMAP</TD
|
||||
><TD
|
||||
>Keyboard mapping</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>P2I</TD
|
||||
><TD
|
||||
>PCI-to-ISA bridge</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>PIDE</TD
|
||||
><TD
|
||||
>PCI IDE controller</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>PLGIN</TD
|
||||
><TD
|
||||
>Plugin interface</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>STIME</TD
|
||||
><TD
|
||||
>Slowdown timer</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>UNMP</TD
|
||||
><TD
|
||||
>Unmapped I/O handler</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>VTIME</TD
|
||||
><TD
|
||||
>Virtual timer</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="using-save-restore.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="mouse-toggle.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Save and restore simulation</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Mouse behavior, enabling and disabling</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
2377
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/docs/user/compiling.html
Normal file
2377
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/docs/user/compiling.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,629 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Configuring and using a tuntap network interface</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Tips and Techniques"
|
||||
HREF="howto.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Setting Up Networking in DLX Linux"
|
||||
HREF="dlxlinux-networking.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Using Bochs internal debugger"
|
||||
HREF="internal-debugger.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="dlxlinux-networking.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 8. Tips and Techniques</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="internal-debugger.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="CONFIG-TUNTAP"
|
||||
>8.10. Configuring and using a tuntap network interface</A
|
||||
></H1
|
||||
><P
|
||||
>If you use linux (optionally FreeBSD and Solaris, not tested),
|
||||
you may want to access the network through a tuntap interface. The main
|
||||
advantage of this interface, is that the guest has access to the host. The guest can even
|
||||
have access to the whole network if the host routes or masquerades the guest requests.
|
||||
No extra IP address is needed, all can be done using private IP addresses.</P
|
||||
><P
|
||||
>You'll find here instructions to set up Linux/Bochs to provide network access to the guest OS
|
||||
through a tuntap interface and private IP network. We're going to see howto :
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>enable the tuntap interface in the Linux Kernel </P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>configure Bochs to use the tuntap interface </P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>set up the private network between the host and the guest </P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>set up the host to masquerade the guest network accesses </P
|
||||
></LI
|
||||
></UL
|
||||
></P
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN2925"
|
||||
>8.10.1. Tuntap description</A
|
||||
></H2
|
||||
><P
|
||||
>From the <A
|
||||
HREF="http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/tuntap.txt"
|
||||
TARGET="_top"
|
||||
>tuntap.txt</A
|
||||
> file in the Linux kernel tree :
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> TUN/TAP provides packet reception and transmission for user space programs.
|
||||
It can be viewed as a simple Point-to-Point or Ethernet device, which
|
||||
instead of receiving packets from a physical media, receives them from
|
||||
user space program and instead of sending packets via physical media
|
||||
writes them to the user space program.
|
||||
|
||||
When a program opens /dev/net/tun, driver creates and registers corresponding
|
||||
net device tunX or tapX. After a program closed above devices, driver will
|
||||
automatically delete tunXX or tapXX device and all routes corresponding to it.</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN2930"
|
||||
>8.10.2. Set up the linux Kernel
|
||||
<A
|
||||
NAME="AEN2932"
|
||||
HREF="#FTN.AEN2932"
|
||||
><SPAN
|
||||
CLASS="footnote"
|
||||
>[1]</SPAN
|
||||
></A
|
||||
></A
|
||||
></H2
|
||||
><P
|
||||
>First make sure the tuntap module is included in the kernel :
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>if you use a recent distribution, chances are that the needed modules are already build</P
|
||||
><P
|
||||
>Make sure that "Kernel module loader" - module auto-loading support is enabled in your kernel.</P
|
||||
><P
|
||||
>Add following line to the /etc/modules.conf: <TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="90%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> alias char-major-10-200 tun </PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
> </P
|
||||
><P
|
||||
>Run: <TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="90%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> depmod -a</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
> The driver will be automatically loaded when application access /dev/net/tun.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Otherwise, recompile the kernel, including the configuration option
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="90%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> CONFIG_TUN (Network device support -> Universal TUN/TAP device driver support) </PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
<DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>Make sure there is a /dev/net/tun device.
|
||||
(Can be created with '<B
|
||||
CLASS="COMMAND"
|
||||
>mkdir /dev/net ; mknod /dev/net/tun c 10 200'</B
|
||||
>).</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
></P
|
||||
><P
|
||||
>In the same way, to use masquerading, you need a kernel with the following options :
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> CONFIG_IP_NF_CONNTRACK (Connection tracking)
|
||||
CONFIG_IP_NF_IPTABLES (IP tables support)
|
||||
CONFIG_IP_NF_NAT (Full NAT)</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
<DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>Some of the other options in this group is probably also needed,
|
||||
(but the default setting should be OK).</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN2954"
|
||||
>8.10.3. Configure Bochs to use the tuntap interface</A
|
||||
></H2
|
||||
><P
|
||||
>Make sure Bochs has ne2000 support. If you have to recompile Bochs,
|
||||
<B
|
||||
CLASS="COMMAND"
|
||||
>--enable-ne2000</B
|
||||
> when running <B
|
||||
CLASS="COMMAND"
|
||||
>./configure</B
|
||||
>
|
||||
(see <A
|
||||
HREF="compiling.html"
|
||||
>Section 3.4</A
|
||||
>)
|
||||
</P
|
||||
><P
|
||||
>edit your <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>.bochsrc</I
|
||||
></TT
|
||||
> configuration file and add something like :
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01,
|
||||
ethmod=tuntap, ethdev=/dev/net/tun0, script=<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>/path/to/tunconfig</I
|
||||
></TT
|
||||
>
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
><P
|
||||
> Since the tuntap interface cannot be configured until a process opens it,
|
||||
Bochs may run a script file for you. In this case
|
||||
<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>/path/to/tunconfig</I
|
||||
></TT
|
||||
> should be changed to match
|
||||
the actual place where you'll create this script.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN2966"
|
||||
>8.10.4. Set up the private network between the host and the guest</A
|
||||
></H2
|
||||
><P
|
||||
> We'll set up a private network between the host and the guest with the following parameters:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> Host IP : 192.168.1.1
|
||||
Guest IP : 192.168.1.2
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
If your parameters are different, adapt the rest of the section to suit your needs.
|
||||
</P
|
||||
><P
|
||||
> Create the <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>/path/to/tunconfig</I
|
||||
></TT
|
||||
> script :
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> #!/bin/bash
|
||||
/sbin/ifconfig ${1##/*/} 192.168.1.1
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
The script get the interface name as the first parameter. Linux
|
||||
will forward incoming packets between interfaces.
|
||||
</P
|
||||
><P
|
||||
> Make it executable :<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>chmod 755 <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>/path/to/tunconfig</I
|
||||
></TT
|
||||
></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
><P
|
||||
> Run Bochs, install the guest OS, and set the following network parameters in the guest OS:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> IP: 192.168.1.2
|
||||
netmask: 255.255.255.0
|
||||
gateway: 192.168.1.1
|
||||
nameserver: whatever is used in linux
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
<DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
> Bochs must be started by root (at least for now - the
|
||||
script won't have root privileges otherwise).
|
||||
</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
>
|
||||
You may also have to edit /etc/hosts.allow in the host OS and add :
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> ALL: 192.168.1.2
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Don't forget to set up the route on the guest.
|
||||
</P
|
||||
><P
|
||||
> At this point, you should be able to ping/telnet/ftp/ssh the guest from the host
|
||||
and vice-versa.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN2982"
|
||||
>8.10.5. Set up the host to masquerade the guest network accesses</A
|
||||
></H2
|
||||
><P
|
||||
> We are going to set up standard masquerading configuration. Edit
|
||||
the <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>/path/to/tunconfig</I
|
||||
></TT
|
||||
> script ans add :
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> /sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE >& /dev/null
|
||||
/sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE
|
||||
echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
<DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
> The configuration assumes the default policy is
|
||||
ACCEPT (can be examined by doing '<B
|
||||
CLASS="COMMAND"
|
||||
>/sbin/iptables -L</B
|
||||
>')
|
||||
</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
>
|
||||
<DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
> The iptables package must be installed. </P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
>
|
||||
And voila... The host should forward the packets of the guest to the rest of your network.
|
||||
You could even have acces to the internet...
|
||||
<IMG
|
||||
SRC="../images/undercon.png"> add nice screenshot
|
||||
<DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
> You may need to load other modules if you want to use other fancy protocols (ftp,etc...)
|
||||
</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><H3
|
||||
CLASS="FOOTNOTES"
|
||||
>Notes</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
CLASS="FOOTNOTES"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
WIDTH="5%"
|
||||
><A
|
||||
NAME="FTN.AEN2932"
|
||||
HREF="config-tuntap.html#AEN2932"
|
||||
><SPAN
|
||||
CLASS="footnote"
|
||||
>[1]</SPAN
|
||||
></A
|
||||
></TD
|
||||
><TD
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
WIDTH="95%"
|
||||
><P
|
||||
>much of the information of the following section is taken from
|
||||
<A
|
||||
HREF="http://maconlinux.org/lists/mol-general/August01/0056.html"
|
||||
TARGET="_top"
|
||||
> this email from Samuel Rydh of the Mac-On-Linux list</A
|
||||
></P
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="dlxlinux-networking.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="internal-debugger.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Setting Up Networking in DLX Linux</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="howto.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Using Bochs internal debugger</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,373 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Pre-defined CPU models</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Using Bochs"
|
||||
HREF="using-bochs.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="The configuration interface 'textconfig'"
|
||||
HREF="textconfig.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Save and restore simulation"
|
||||
HREF="using-save-restore.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="textconfig.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 5. Using Bochs</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="using-save-restore.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="CPU-MODELS"
|
||||
>5.4. Pre-defined CPU models</A
|
||||
></H1
|
||||
><P
|
||||
>If Bochs is compiled with cpu level 5 or higher the CPUID opcode is supported
|
||||
and it can return some information about the cpu model and it's features. When
|
||||
using a pre-defined CPU model in Bochs the features reported by CPUID are set up
|
||||
according to the model's specification. The following table shows all available
|
||||
CPU models with a short description. The amount of choices depends on the CPU
|
||||
features enabled at compile time (3rd column).</P
|
||||
><DIV
|
||||
CLASS="TABLE"
|
||||
><A
|
||||
NAME="AEN3021"
|
||||
></A
|
||||
><P
|
||||
><B
|
||||
>Table 5-2. Bochs CPU models</B
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="1"
|
||||
RULES="all"
|
||||
CLASS="CALSTABLE"
|
||||
><COL><COL><COL><THEAD
|
||||
><TR
|
||||
><TH
|
||||
>Value</TH
|
||||
><TH
|
||||
>Description</TH
|
||||
><TH
|
||||
>Required Features</TH
|
||||
></TR
|
||||
></THEAD
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
>bx_generic</TD
|
||||
><TD
|
||||
>Default Bochs CPU configured with <A
|
||||
HREF="bochsrc.html#BOCHSOPT-CPUID"
|
||||
>CPUID</A
|
||||
> option</TD
|
||||
><TD
|
||||
>cpu level 5</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>pentium</TD
|
||||
><TD
|
||||
>Intel Pentium (P54C)</TD
|
||||
><TD
|
||||
>cpu level 5</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>pentium_mmx</TD
|
||||
><TD
|
||||
>Intel Pentium MMX</TD
|
||||
><TD
|
||||
>cpu level 5</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>amd_k6_2_chomper</TD
|
||||
><TD
|
||||
>AMD-K6(tm) 3D processor (Chomper)</TD
|
||||
><TD
|
||||
>cpu level 5</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>p2_klamath</TD
|
||||
><TD
|
||||
>Intel Pentium II (Klamath)</TD
|
||||
><TD
|
||||
>cpu level 6</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>p3_katmai</TD
|
||||
><TD
|
||||
>Intel Pentium III (Katmai)</TD
|
||||
><TD
|
||||
>cpu level 6</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>p4_willamette</TD
|
||||
><TD
|
||||
>Intel(R) Pentium(R) 4 (Willamette)</TD
|
||||
><TD
|
||||
>cpu level 6</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>core_duo_t2400_yonah</TD
|
||||
><TD
|
||||
>Intel(R) Core(TM) Duo CPU T2400 (Yonah)</TD
|
||||
><TD
|
||||
>cpu level 6</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>atom_n270</TD
|
||||
><TD
|
||||
>Intel(R) Atom(TM) CPU N270</TD
|
||||
><TD
|
||||
>cpu level 6</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>p4_prescott_celeron_336</TD
|
||||
><TD
|
||||
>Intel(R) Celeron(R) 336 (Prescott)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>athlon64_clawhammer</TD
|
||||
><TD
|
||||
>AMD Athlon(tm) 64 Processor 2800+ (Clawhammer)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>athlon64_venice</TD
|
||||
><TD
|
||||
>AMD Athlon(tm) 64 Processor 3000+ (Venice)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>turion64_tyler</TD
|
||||
><TD
|
||||
>AMD Turion(tm) 64 X2 Mobile TL-60 (Tyler)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>phenom_8650_toliman</TD
|
||||
><TD
|
||||
>AMD Phenom X3 8650 (Toliman)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>core2_penryn_t9600</TD
|
||||
><TD
|
||||
>Intel Mobile Core 2 Duo T9600 (Penryn)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>corei5_lynnfield_750</TD
|
||||
><TD
|
||||
>Intel(R) Core(TM) i5 750 (Lynnfield)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>corei5_arrandale_m520</TD
|
||||
><TD
|
||||
>Intel(R) Core(TM) i5 M 520 (Arrandale)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>corei7_sandy_bridge_2600k</TD
|
||||
><TD
|
||||
>Intel(R) Core(TM) i7-2600K (Sandy Bridge)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64, avx</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>zambezi</TD
|
||||
><TD
|
||||
>AMD FX(tm)-4100 Quad-Core Processor (Zambezi)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64, avx</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>trinity_apu</TD
|
||||
><TD
|
||||
>AMD A8-5600K APU (Trinity)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64, avx</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>ryzen</TD
|
||||
><TD
|
||||
>AMD Ryzen 7 1700</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64, avx</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>corei7_ivy_bridge_3770k</TD
|
||||
><TD
|
||||
>Intel(R) Core(TM) i7-3770K CPU (Ivy Bridge)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64, avx</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>corei7_haswell_4770</TD
|
||||
><TD
|
||||
>Intel(R) Core(TM) i7-4770 CPU (Haswell)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64, avx</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>broadwell_ult</TD
|
||||
><TD
|
||||
>Intel(R) Processor 5Y70 CPU (Broadwell)</TD
|
||||
><TD
|
||||
>cpu level 6, x86-64, avx</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="textconfig.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="using-save-restore.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>The configuration interface 'textconfig'</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="using-bochs.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Save and restore simulation</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,249 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Using Bochs and the remote GDB stub</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Tips and Techniques"
|
||||
HREF="howto.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Using Bochs internal debugger"
|
||||
HREF="internal-debugger.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Using the serial port"
|
||||
HREF="serial-port.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="internal-debugger.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 8. Tips and Techniques</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="serial-port.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="DEBUGGING-WITH-GDB"
|
||||
>8.12. Using Bochs and the remote GDB stub</A
|
||||
></H1
|
||||
><P
|
||||
>This section covers how you can use Bochs with a remote GDB stub to debug your kernel.</P
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN3101"
|
||||
>8.12.1. Configuring Bochs</A
|
||||
></H2
|
||||
><P
|
||||
>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 <B
|
||||
CLASS="COMMAND"
|
||||
>--enable-gdb-stub</B
|
||||
> argument.
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> $ ./configure --enable-gdb-stub</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
After that, just run make and you should have a Bochs binary that contain a GDB stub in your directory.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN3106"
|
||||
>8.12.2. Running Bochs</A
|
||||
></H2
|
||||
><P
|
||||
>Enable the <A
|
||||
HREF="bochsrc.html#BOCHSOPT-GDBSTUB"
|
||||
>gdbstub option</A
|
||||
> in <TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
>, then just start Bochs as normal. Bochs will stop and wait for GDB to connect to the stub.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN3111"
|
||||
>8.12.3. Running GDB</A
|
||||
></H2
|
||||
><P
|
||||
>Bochs GDB stub waits for a connection on TCP port 1234. Just start GDB like this:
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> $ gdb YOUR-KERNEL
|
||||
.
|
||||
.
|
||||
.
|
||||
(gdb) target remote localhost:1234
|
||||
Remote debugging using localhost:1234
|
||||
0x0000fff0 in ?? ()
|
||||
(gdb)</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
|
||||
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:
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> Program received signal 0, Signal 0.
|
||||
syscall_testsuite_result (aux=0x1f11fe4) at ../rtmk/syscalls.c:33
|
||||
33 {
|
||||
(gdb)</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="internal-debugger.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="serial-port.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Using Bochs internal debugger</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="howto.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Using the serial port</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,487 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>How to make a simple disk image</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Tips and Techniques"
|
||||
HREF="howto.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Tips and Techniques"
|
||||
HREF="howto.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Use mtools to manipulate disk images"
|
||||
HREF="mtools.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="howto.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 8. Tips and Techniques</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="mtools.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="DISKIMAGEHOWTO"
|
||||
>8.2. How to make a simple disk image</A
|
||||
></H1
|
||||
><P
|
||||
>This was contributed by Greg Alexander in October 2001 and updated by
|
||||
Volker Ruppert in October 2013.</P
|
||||
><P
|
||||
>What you need:
|
||||
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>An executable version of Bochs. See <A
|
||||
HREF="installation.html#DOWNLOADING"
|
||||
>Downloading Bochs</A
|
||||
> and <A
|
||||
HREF="compiling.html"
|
||||
>Compiling Bochs</A
|
||||
>.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>The bximage program, included with Bochs.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>A FreeDOS boot disk, or a boot disk from another OS capable of
|
||||
producing DOS partitions (e.g. a Linux install disk).</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>(Optional) mtools, a program for manipulating DOS disks/images.</P
|
||||
></LI
|
||||
></UL
|
||||
> </P
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN3729"
|
||||
>8.2.1. Create a flat image</A
|
||||
></H2
|
||||
><P
|
||||
>Option 1: Using the Unix <B
|
||||
CLASS="COMMAND"
|
||||
>dd</B
|
||||
> utility:</P
|
||||
><P
|
||||
>You will need to know the geometry of the disk you want to
|
||||
create. You have to compute the disk sector count:
|
||||
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>Sectors = Cylinders * Heads * SectorsPerTrack</PRE
|
||||
></P
|
||||
><P
|
||||
>Use the dd command to create your file:
|
||||
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>dd if=/dev/zero of=teaching.img bs=512 count=<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>sectors</I
|
||||
></TT
|
||||
></PRE
|
||||
>
|
||||
(replace "sectors" with the number you computed at the
|
||||
previous step).</P
|
||||
><P
|
||||
>When you'll update your configuration file, please
|
||||
fill in the same cylinders, heads and sector per
|
||||
track values.</P
|
||||
><P
|
||||
>Option 2: Run <B
|
||||
CLASS="COMMAND"
|
||||
>bximage</B
|
||||
> to create a disk image file.
|
||||
You will be greeted with the following prompt:
|
||||
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>========================================================================
|
||||
bximage
|
||||
Disk Image Creation / Conversion / Resize and Commit Tool for Bochs
|
||||
$ID: bximage.cc 11906 2013-10-23 08:35:21Z vruppert $
|
||||
========================================================================
|
||||
|
||||
1. Create new floppy or hard disk image
|
||||
2. Convert hard disk image to other format (mode)
|
||||
3. Resize hard disk image
|
||||
4. Commit 'undoable' redolog to base image
|
||||
|
||||
0. Quit
|
||||
|
||||
Please choose one [0]</PRE
|
||||
></P
|
||||
><P
|
||||
>Since we want to create a new image, we have to type '1'
|
||||
and then <B
|
||||
CLASS="KEYCAP"
|
||||
>Enter</B
|
||||
>.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>Do you want to create a floppy disk image or a hard disk image?
|
||||
Please type hd or fd. [hd]</PRE
|
||||
></P
|
||||
><P
|
||||
>Since we are creating a hard disk image, accept the default of hd by
|
||||
pressing <B
|
||||
CLASS="KEYCAP"
|
||||
>Enter</B
|
||||
> or typing 'hd' and pressing
|
||||
<B
|
||||
CLASS="KEYCAP"
|
||||
>Enter</B
|
||||
>. Next, bximage will ask for the type of
|
||||
hd to create:
|
||||
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>What kind of image should I create?
|
||||
Please type flat, sparse, growing or vpc. [flat]</PRE
|
||||
></P
|
||||
><P
|
||||
>We want to create a simple flat image, so accept the default
|
||||
by pressing <B
|
||||
CLASS="KEYCAP"
|
||||
>Enter</B
|
||||
>. Then, bximage will ask
|
||||
for the size of the disk image you want to create, in Megabytes:
|
||||
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>Enter the hard disk size in megabytes, between 1 and 8257535
|
||||
[10]</PRE
|
||||
></P
|
||||
><P
|
||||
>Enter the size of the hard disk you want to create, and press
|
||||
<B
|
||||
CLASS="KEYCAP"
|
||||
>Enter</B
|
||||
>. Then bximage will ask you for a filename to use
|
||||
for the file it is creating.
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>What should be the name of the image?
|
||||
[c.img]</PRE
|
||||
></P
|
||||
><P
|
||||
>At this point, type in the filename you want to use for the image. The
|
||||
default of "c.img" is appropriate if this will be your only hard disk
|
||||
image. After you have typed in the name of the filename you want to
|
||||
use, press <B
|
||||
CLASS="KEYCAP"
|
||||
>Enter</B
|
||||
>. Bximage will tell you it is writing the disk
|
||||
and then it will show you a line that should be added to your
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
> when you want to use this disk image. I named my
|
||||
10 Megabyte image "teaching.img" and the output of bximage looked like
|
||||
this:
|
||||
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>[c.img] teaching.img
|
||||
|
||||
Creating hard disk image 'c.img' with CHS=20/16/63</PRE
|
||||
></P
|
||||
><P
|
||||
>The following line should appear in your <TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
>:
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
> <A
|
||||
HREF="bochsrc.html#BOCHSOPT-ATA-MASTER-SLAVE"
|
||||
>ata0-master</A
|
||||
>: type=disk, path="teaching.img", mode=flat, cylinders=20, heads=16, spt=63</PRE
|
||||
></P
|
||||
><P
|
||||
>At this point, a file called "teaching.img" was created in my current
|
||||
directory and is ready to be used as an image file for a Bochs session.</P
|
||||
><DIV
|
||||
CLASS="TIP"
|
||||
><BLOCKQUOTE
|
||||
CLASS="TIP"
|
||||
><P
|
||||
><B
|
||||
>Tip: </B
|
||||
>You may want to name your image <TT
|
||||
CLASS="FILENAME"
|
||||
>teaching_20-16-63.img</TT
|
||||
>
|
||||
so that you always know the values to use for CHS.</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H2
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="AEN3767"
|
||||
>8.2.2. Partition and format your image file</A
|
||||
></H2
|
||||
><P
|
||||
>Option 1: Using FreeDOS (Advantage: Creates a MBR on the partition.)</P
|
||||
><P
|
||||
>First, you need to edit the <TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
> file that Bochs uses for
|
||||
configuration information (see <A
|
||||
HREF="search-order.html"
|
||||
>Section 5.2</A
|
||||
>). Open <TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
>
|
||||
with a text editor. Remove all lines in the file which start with "ata0-master:". Add the "ata0-master:"
|
||||
line that was displayed when you ran bximage to <TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
> at the
|
||||
same place where you removed the old "ata0-master:" lines from.</P
|
||||
><P
|
||||
>Also, you need to download or create a FreeDOS (or DOS, or Windows, or
|
||||
Linux) disk image. Modify the "floppya:" line in your <TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
> to point
|
||||
at the downloaded FreeDOS floppy image and change its status to "status=inserted".</P
|
||||
><P
|
||||
>Save and close your <TT
|
||||
CLASS="FILENAME"
|
||||
>bochsrc</TT
|
||||
>. Now run Bochs (see <A
|
||||
HREF="using-bochs.html"
|
||||
>Chapter 5</A
|
||||
>).</P
|
||||
><P
|
||||
>Use the standard FreeDOS commands <B
|
||||
CLASS="COMMAND"
|
||||
>fdisk</B
|
||||
> and
|
||||
<B
|
||||
CLASS="COMMAND"
|
||||
>format</B
|
||||
> to format your hard
|
||||
drive image. You must make the image bootable to be able to boot
|
||||
without a floppy disk. However, creating a bootable disk image is best
|
||||
done with a boot disk from the OS you intend to install on the image.</P
|
||||
><P
|
||||
>Option 2: Using mtools (Disadvantage: Cannot create bootable images
|
||||
without a MBR image.)</P
|
||||
><P
|
||||
>Use a text editor to add the following line to the file <TT
|
||||
CLASS="FILENAME"
|
||||
>~/.mtoolsrc</TT
|
||||
>:</P
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>drive c: file="<TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>path</I
|
||||
></TT
|
||||
>/filename.img" partition=1</PRE
|
||||
><P
|
||||
>Save and close <TT
|
||||
CLASS="FILENAME"
|
||||
>.mtoolsrc</TT
|
||||
>. Next, execute the following commands to
|
||||
create a partition table for the drive image:</P
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
>mpartition -I -s <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>spt</I
|
||||
></TT
|
||||
> -t <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>cyl</I
|
||||
></TT
|
||||
> -h <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>heads</I
|
||||
></TT
|
||||
> c:
|
||||
mpartition -cpv -s <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>spt</I
|
||||
></TT
|
||||
> -t <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>cyl</I
|
||||
></TT
|
||||
> -h <TT
|
||||
CLASS="REPLACEABLE"
|
||||
><I
|
||||
>heads</I
|
||||
></TT
|
||||
> c:</PRE
|
||||
><P
|
||||
>For example, for my 10 meg drive, I used:
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>mpartition -I -s 63 -t 20 -h 16 c:
|
||||
mpartition -cpv -s 63 -t 20 -h 16 c:</PRE
|
||||
></P
|
||||
><P
|
||||
>Next, format the partition you just created using the mformat command:
|
||||
|
||||
<PRE
|
||||
CLASS="SCREEN"
|
||||
>mformat c:</PRE
|
||||
></P
|
||||
><P
|
||||
>And you now have a formatted disk image containing a single DOS
|
||||
partition.</P
|
||||
><DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>The mpartition command doesn't handle images larger than 1024 cylinders properly.
|
||||
The partition size reported by fdisk is okay, but mformat reports only 504 MB
|
||||
(tested with mtools 3.9.9).</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="howto.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="mtools.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Tips and Techniques</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="howto.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Use mtools to manipulate disk images</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,331 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Setting Up Networking in DLX Linux</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Tips and Techniques"
|
||||
HREF="howto.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Simulating a Symmetric Multiprocessor (SMP) Machine"
|
||||
HREF="smp.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Configuring and using a tuntap network interface"
|
||||
HREF="config-tuntap.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="smp.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 8. Tips and Techniques</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="config-tuntap.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="DLXLINUX-NETWORKING"
|
||||
>8.9. Setting Up Networking in DLX Linux</A
|
||||
></H1
|
||||
><P
|
||||
>All Bochs binaries come with a working version of DLX Linux. This section
|
||||
describes how to configure networking in Bochs and enable it within
|
||||
DLX Linux. First you must add a <CODE
|
||||
CLASS="VARNAME"
|
||||
>ne2k</CODE
|
||||
> line in your bochsrc
|
||||
file. Then, when you boot the DLX Linux image, you need to type some Linux
|
||||
commands to set up an IP address, a network route, and a name server.</P
|
||||
><P
|
||||
>When you have an <CODE
|
||||
CLASS="VARNAME"
|
||||
>ne2k</CODE
|
||||
> line in your bochsrc file, Bochs
|
||||
will emulate a network card called an NE2000. Below are some examples of valid
|
||||
<CODE
|
||||
CLASS="VARNAME"
|
||||
>ne2k</CODE
|
||||
> lines for various operating systems. Choose the
|
||||
one that's closest to what you need, add it to your bochsrc file, and
|
||||
edit the values if necessary.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> # sample for Mac OS X
|
||||
ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=en0
|
||||
# sample for FreeBSD
|
||||
ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xl0
|
||||
# sample for Linux
|
||||
ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0
|
||||
# sample for Windows
|
||||
ne2k: ioaddr=0x300, irq=9, mac=00:c4:3B:00:C3:00, ethmod=win32, ethdev=NE2000</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
You see the pattern. Usually you won't need to change the I/O address, IRQ
|
||||
number, or MAC address. The <CODE
|
||||
CLASS="VARNAME"
|
||||
>ethmod</CODE
|
||||
> value depends on your
|
||||
host operating system, and it must be either <CODE
|
||||
CLASS="CONSTANT"
|
||||
>null</CODE
|
||||
>,
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>fbsd</CODE
|
||||
> (for FreeBSD or OpenBSD), <CODE
|
||||
CLASS="CONSTANT"
|
||||
>linux</CODE
|
||||
>,
|
||||
or <CODE
|
||||
CLASS="CONSTANT"
|
||||
>win32</CODE
|
||||
>. The <CODE
|
||||
CLASS="VARNAME"
|
||||
>ethdev</CODE
|
||||
> setting is the
|
||||
name of the network interface on your system, and is also OS-dependent. On
|
||||
UNIX systems you can get the name of the network interface by running
|
||||
<B
|
||||
CLASS="COMMAND"
|
||||
>ifconfig</B
|
||||
>. (Don't choose the loopback interface.) On
|
||||
Windows systems, the correct ethdev setting is not always obvious, so we
|
||||
provide a utility called <B
|
||||
CLASS="COMMAND"
|
||||
>niclist</B
|
||||
> to list the names of
|
||||
network interfaces to use. When you run <B
|
||||
CLASS="COMMAND"
|
||||
>niclist</B
|
||||
>, it will
|
||||
suggest an <CODE
|
||||
CLASS="VARNAME"
|
||||
>ne2k</CODE
|
||||
> line which is a very good first try.</P
|
||||
><P
|
||||
>Next, if you are on a UNIX machine you will need to become the root user.
|
||||
Since bochs is sending and receiving raw network packets, you need to be root
|
||||
to use the network device. To allow normal users to do this would be a
|
||||
security problem.</P
|
||||
><P
|
||||
>Now run Bochs to boot DLX Linux. Press enter a few times to accept the default
|
||||
configuration choices. This tells Bochs read the configuration file and then
|
||||
begin. DLX Linux should boot in the Bochs window, and you should see
|
||||
that Linux detects the NE2000 card. Eventually it gets to a login prompt.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
|
||||
NE*000 ethercard probe at 0x300: b0 c4 20 00 00 00
|
||||
eth0: NE2000 found at 0x300, using IRQ 9.</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><P
|
||||
>At the login prompt, type "root" to log in as root. Then type the ifconfig and
|
||||
route commands to set up networking. The exact IP numbers in the example won't
|
||||
work for you; you must choose an IP configuration that is legal on your
|
||||
network.
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> dlx login: root
|
||||
Linux 1.3.89.
|
||||
dlx:~# ifconfig eth0 192.168.0.99 # set bochs IP address
|
||||
dlx:~# route add -net 192.168.0.0 # first 3 numbers match IP
|
||||
dlx:~# route add default gw 192.168.0.1 # your gateway to the net
|
||||
dlx:~# _</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>The bochs IP address must be an unused IP address on your
|
||||
network. If you duplicate someone else's IP address, your network will
|
||||
become very confused.</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
><P
|
||||
>Finally, the network is ready and you can test it out with ping, telnet, or ftp
|
||||
to various machines by their numerical IP address. Keep in mind that for all
|
||||
UNIX host platforms, Bochs networking cannot talk to the host machine. That
|
||||
means the host machine can't be the gateway either. You need another physical
|
||||
machine on the network that bochs can talk to. On Win32 this restriction does
|
||||
not apply.</P
|
||||
><DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
>When you have a working network configuration, you can make DLX Linux recreate
|
||||
the same settings the next time you boot. Just add the ifconfig and route
|
||||
commands to the end of /etc/rc.d/rc.inet1. I won't try to describe how
|
||||
to use the <B
|
||||
CLASS="COMMAND"
|
||||
>vi</B
|
||||
> editor in this limited amount of space...</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
><P
|
||||
>To configure a name
|
||||
server, set up <TT
|
||||
CLASS="FILENAME"
|
||||
>/etc/resolv.conf</TT
|
||||
> with the IP address of
|
||||
your name server as shown.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> dlx:~# echo 'nameserver 192.168.0.1' > /etc/resolv.conf</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="smp.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="config-tuntap.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Simulating a Symmetric Multiprocessor (SMP) Machine</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="howto.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Configuring and using a tuntap network interface</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,186 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>How to enter special key combination</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Tips and Techniques"
|
||||
HREF="howto.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="BIOS Tips"
|
||||
HREF="bios-tips.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Notes about VESA usage"
|
||||
HREF="vesa-notes.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="bios-tips.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 8. Tips and Techniques</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="vesa-notes.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="ENTER-SPECIAL-KEYS"
|
||||
>8.15. How to enter special key combination</A
|
||||
></H1
|
||||
><P
|
||||
>Your window manager may trap the key combination you want to enter
|
||||
in Bochs guest OS, for example <B
|
||||
CLASS="KEYCAP"
|
||||
>control</B
|
||||
>+<B
|
||||
CLASS="KEYCAP"
|
||||
>alt</B
|
||||
>+<B
|
||||
CLASS="KEYCAP"
|
||||
>delete</B
|
||||
>. Here is a work-around:</P
|
||||
><P
|
||||
>Press and hold <B
|
||||
CLASS="KEYCAP"
|
||||
>control</B
|
||||
>+<B
|
||||
CLASS="KEYCAP"
|
||||
>alt</B
|
||||
>,
|
||||
move your mouse cursor outside of the Bochs window. Release them, move
|
||||
the cursor back in the Bochs window and press <B
|
||||
CLASS="KEYCAP"
|
||||
>delete</B
|
||||
>.</P
|
||||
><P
|
||||
>This should work for any key combination.</P
|
||||
><P
|
||||
>If you need one key combination frequently, set it up as <A
|
||||
HREF="bochsrc.html#BOCHSOPT-USER-SHORTCUT"
|
||||
>user key combination</A
|
||||
>
|
||||
in your configuration file. This key combination is sent to the guest OS
|
||||
when you press the user button in the <A
|
||||
HREF="textconfig.html#HEADERBAR"
|
||||
>headerbar</A
|
||||
>.
|
||||
Depending on the used <A
|
||||
HREF="bochsrc.html#BOCHSOPT-DISPLAYLIBRARY"
|
||||
>display_library option</A
|
||||
>,
|
||||
it may even be possible to edit the shortcut before sending it.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="bios-tips.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="vesa-notes.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>BIOS Tips</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="howto.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Notes about VESA usage</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
632
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/docs/user/faq.html
Normal file
632
一些非必要的资料/linux-0.11-quickstart/Bochs-2.3.6/docs/user/faq.html
Normal file
@@ -0,0 +1,632 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>FAQ</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Introduction to Bochs"
|
||||
HREF="introduction.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Supported Platforms"
|
||||
HREF="supported-platforms.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Release Notes"
|
||||
HREF="release-notes.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="supported-platforms.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 1. Introduction to Bochs</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="release-notes.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="FAQ"
|
||||
>1.9. FAQ</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="QANDASET"
|
||||
><DL
|
||||
><DT
|
||||
>1.9.1. <A
|
||||
HREF="faq.html#AEN284"
|
||||
>Is Bochs Open Source?</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.2. <A
|
||||
HREF="faq.html#AEN291"
|
||||
>How do you pronounce "Bochs"?</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.3. <A
|
||||
HREF="faq.html#AEN296"
|
||||
>Who is the author of Bochs?</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.4. <A
|
||||
HREF="faq.html#AEN302"
|
||||
> Who maintains Bochs now?
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.5. <A
|
||||
HREF="faq.html#AEN308"
|
||||
> Tell me about performance when running Bochs.
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.6. <A
|
||||
HREF="faq.html#AEN314"
|
||||
> Does Bochs use a disk partition to install the OS?
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.7. <A
|
||||
HREF="faq.html#AEN319"
|
||||
> Why can't I use Bochs with my current Win95 installation?
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.8. <A
|
||||
HREF="faq.html#AEN324"
|
||||
> Is there a developer's email list for Bochs?
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.9. <A
|
||||
HREF="faq.html#AEN330"
|
||||
> Is there an IRC channel for Bochs?
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.10. <A
|
||||
HREF="faq.html#AEN335"
|
||||
> Do you know of any snapshots of Bochs running Win95?
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.11. <A
|
||||
HREF="faq.html#AEN341"
|
||||
> Does Bochs support a CD-ROM?
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.12. <A
|
||||
HREF="faq.html#AEN346"
|
||||
> Does Bochs support a sound device?
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.13. <A
|
||||
HREF="faq.html#AEN352"
|
||||
> Does Bochs support a network card?
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.14. <A
|
||||
HREF="faq.html#AEN358"
|
||||
> What applications are known to run inside of Bochs?
|
||||
</A
|
||||
></DT
|
||||
><DT
|
||||
>1.9.15. <A
|
||||
HREF="faq.html#AEN364"
|
||||
> I am new to Bochs, how do I start?
|
||||
</A
|
||||
></DT
|
||||
></DL
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN284"
|
||||
></A
|
||||
><B
|
||||
>1.9.1. </B
|
||||
>Is Bochs Open Source?</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Yes! Bochs is released under the <A
|
||||
HREF="http://www.gnu.org/copyleft/lesser.html"
|
||||
TARGET="_top"
|
||||
>GNU LGPL</A
|
||||
>,
|
||||
much thanks to <A
|
||||
HREF="http://www.linux-mandrake.com"
|
||||
TARGET="_top"
|
||||
>MandrakeSoft</A
|
||||
>, makers
|
||||
of the Linux-Mandrake distribution.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN291"
|
||||
></A
|
||||
><B
|
||||
>1.9.2. </B
|
||||
>How do you pronounce "Bochs"?</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Phonetically the same as the English word "box". It's just a play on the word "box", since techies like to call their machines a "Linux box", "Windows box", ... Bochs emulates a box inside a box.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN296"
|
||||
></A
|
||||
><B
|
||||
>1.9.3. </B
|
||||
>Who is the author of Bochs?</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Kevin Lawton is the primary author of Bochs. There have been bug fixes,
|
||||
enhancements, and code contributions from some few hundred people, so
|
||||
it is not possible to list them all. Recently, Kevin has been working
|
||||
on a PC virtualization project called <A
|
||||
HREF="http://savannah.nongnu.org/projects/plex86"
|
||||
TARGET="_top"
|
||||
>plex86</A
|
||||
>. In Fall 2002, he
|
||||
made contributed some major CPU speedups and helped with integration
|
||||
and debugging of the x86-64 emulation code.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN302"
|
||||
></A
|
||||
><B
|
||||
>1.9.4. </B
|
||||
> Who maintains Bochs now?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> With Kevin's help, in April 2001, the members of the bochs-developers
|
||||
mailing list set up a new official Bochs site hosted by <A
|
||||
HREF="http://sourcefourge.net"
|
||||
TARGET="_top"
|
||||
>Source Forge</A
|
||||
>. The admins on this
|
||||
project are Greg Alexander, Don Becker, Christophe Bothamy, and Bryce
|
||||
Denney.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN308"
|
||||
></A
|
||||
><B
|
||||
>1.9.5. </B
|
||||
> Tell me about performance when running Bochs.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Because Bochs emulates every x86 instruction and all the devices in a PC
|
||||
system, it does not reach high emulation speeds. Kevin reported
|
||||
approximately 1.5MIPS using Bochs on a 400MHz PII Linux machine. Users
|
||||
who have an x86 processor and want the highest emulation speeds may want
|
||||
to consider PC virtualization software such as plex86 (free software)
|
||||
or VMware (proprietary and commercial). Another related project is
|
||||
<A
|
||||
HREF="http://fabrice.bellard.free.fr/qemu/"
|
||||
TARGET="_top"
|
||||
>QEMU</A
|
||||
>.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN314"
|
||||
></A
|
||||
><B
|
||||
>1.9.6. </B
|
||||
> Does Bochs use a disk partition to install the OS?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> No. It uses a disk image file, which is simply a large file, like any other file, on your platform's disk.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN319"
|
||||
></A
|
||||
><B
|
||||
>1.9.7. </B
|
||||
> Why can't I use Bochs with my current Win95 installation?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Think about this. If you had two different PC's, they would require different hardware drivers. So you may not be able to safely move a disk drive with Win95 on it, from one to the other. Bochs is no different. It emulates a certain set of hardware devices, and requires each OS be configured for those devices.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN324"
|
||||
></A
|
||||
><B
|
||||
>1.9.8. </B
|
||||
> Is there a developer's email list for Bochs?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Yes. For instructions on joining, refer to
|
||||
<A
|
||||
HREF="mailinglist.html"
|
||||
>Chapter 7</A
|
||||
>.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN330"
|
||||
></A
|
||||
><B
|
||||
>1.9.9. </B
|
||||
> Is there an IRC channel for Bochs?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Yes. You will usually find Bochs developers and users on IRC at irc.freenode.net:6667, channel #bochs.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN335"
|
||||
></A
|
||||
><B
|
||||
>1.9.10. </B
|
||||
> Do you know of any snapshots of Bochs running Win95?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Yes! Look for "screen shots" on <A
|
||||
HREF="http://bochs.sourceforge.net"
|
||||
TARGET="_top"
|
||||
>bochs.sourceforge.net</A
|
||||
> or on other Bochs sites.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN341"
|
||||
></A
|
||||
><B
|
||||
>1.9.11. </B
|
||||
> Does Bochs support a CD-ROM?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> 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.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN346"
|
||||
></A
|
||||
><B
|
||||
>1.9.12. </B
|
||||
> Does Bochs support a sound device?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Yes, there is Sound Blaster emulation support for most common operation systems,
|
||||
see <A
|
||||
HREF="sb16-emulation.html"
|
||||
>Section 4.3</A
|
||||
> for details.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN352"
|
||||
></A
|
||||
><B
|
||||
>1.9.13. </B
|
||||
> Does Bochs support a network card?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Yes. Bochs contains a model of an NE2000 compatible network card.
|
||||
Networking is not supported on all platforms. See
|
||||
<A
|
||||
HREF="features.html"
|
||||
>Section 1.7</A
|
||||
> for details.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN358"
|
||||
></A
|
||||
><B
|
||||
>1.9.14. </B
|
||||
> What applications are known to run inside of Bochs?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> Well, lot's of different OS's run inside of Bochs, so
|
||||
thousands. I'm assuming you are asking about Windows programs.
|
||||
To give you a few, the following ones from the Winstone'98 tests
|
||||
worked: Access 97, CorelDRAW! 7, Excel 97, Lotus 1-2-3 97, Word 97,
|
||||
PowerPoint 97, Quattro Pro 7, WordPerfect 7.</P
|
||||
><P
|
||||
>Also, I've compiled an entire OS kernel inside Bochs before. Not
|
||||
to mention, running DOOM, though at then-pathetic speeds.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="QANDAENTRY"
|
||||
><DIV
|
||||
CLASS="QUESTION"
|
||||
><P
|
||||
><A
|
||||
NAME="AEN364"
|
||||
></A
|
||||
><B
|
||||
>1.9.15. </B
|
||||
> I am new to Bochs, how do I start?
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="ANSWER"
|
||||
><P
|
||||
><B
|
||||
> </B
|
||||
> You should read <A
|
||||
HREF="setup.html"
|
||||
>Chapter 4</A
|
||||
> first. Next, you can check <A
|
||||
HREF="guests.html"
|
||||
>Chapter 9</A
|
||||
>
|
||||
if there are already instructions on how to install your (guest) OS inside of Bochs.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="supported-platforms.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="release-notes.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Supported Platforms</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="introduction.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Release Notes</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
@@ -0,0 +1,536 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Features</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Bochs User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Introduction to Bochs"
|
||||
HREF="introduction.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Third Party Software Licensing and Temporary Files"
|
||||
HREF="thirdparty.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Supported Platforms"
|
||||
HREF="supported-platforms.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECTION"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
SUMMARY="Header navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>Bochs User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="thirdparty.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 1. Introduction to Bochs</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="supported-platforms.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECTION"
|
||||
><H1
|
||||
CLASS="SECTION"
|
||||
><A
|
||||
NAME="FEATURES"
|
||||
>1.7. Features</A
|
||||
></H1
|
||||
><P
|
||||
>The following table shows the features of Bochs and which platforms they
|
||||
currently work with.</P
|
||||
><DIV
|
||||
CLASS="TABLE"
|
||||
><A
|
||||
NAME="AEN83"
|
||||
></A
|
||||
><P
|
||||
><B
|
||||
>Table 1-1. Bochs Features</B
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="1"
|
||||
RULES="all"
|
||||
CLASS="CALSTABLE"
|
||||
><COL><COL><COL><THEAD
|
||||
><TR
|
||||
><TH
|
||||
>Feature</TH
|
||||
><TH
|
||||
>Supported?</TH
|
||||
><TH
|
||||
>Description</TH
|
||||
></TR
|
||||
></THEAD
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
>configure script</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Bochs uses GNU autoconf to configure Makefiles and headers.
|
||||
Autoconf helps Bochs to compile on a wide variety of platforms.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>386,486,Pentium Emulation</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Bochs can be configured to emulate one of several families of Intel hardware. Some Pentium features are unsupported, such as MTRR or SMM (System Management Mode).</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>P6 and later CPU Emulation</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Bochs can be configured to emulate any P6 family processor including optional MMX and SSE instructions.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Pentium 4 Emulation</TD
|
||||
><TD
|
||||
>Incomplete</TD
|
||||
><TD
|
||||
>A few Pentium 4 features are incomplete, such as an on-chip APIC extensions (XAPIC) for SMP simulation.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>x86-64 Extensions Emulation</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Bochs can be configured to emulate x86-64 with all Intel (CMPXCHG16B instruction) or AMD (RDTSCP instruction) extensions.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Command Line Debugger</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Powerful command line debugger (optional) that lets you stop
|
||||
execution and examine registers and memory, set breakpoints, etc. Unfortunatelly
|
||||
the debugger still lacks x86-64 support and almost unusable for debugging
|
||||
x86-64 workloads.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Floating Point</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Uses software floating point engine based on <A
|
||||
HREF="http://www.jhauser.us/arithmetic/SoftFloat.html"
|
||||
TARGET="_top"
|
||||
>SoftFloat floating point emulation library</A
|
||||
>.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Enhanced BIOS</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Implements ElTorito, EDD v3.0, basic APM feature, PCIBIOS features
|
||||
and the PCI interrupt routing table. The latest version of the Bochs BIOS
|
||||
has a 32-bit init for ACPI, SMM and SMP.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>VGA</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>VGA color graphics emulation in a window.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>VBE (VESA) Support</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Currently resolutions up to 1024x768x32bpp are supported.
|
||||
You must compile Bochs with VBE enabled and use the LGPL'd VGABIOS.
|
||||
For more information see <A
|
||||
HREF="vesa-notes.html"
|
||||
>Section 8.16</A
|
||||
>.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Cirrus Logic video card</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Cirrus Logic CL-GD5430 ISA or CL-GD5446 PCI video card support.
|
||||
For more information see <A
|
||||
HREF="cirrus-notes.html"
|
||||
>Section 8.17</A
|
||||
>.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Floppy disk</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Supports floppy disk images on all platforms: 2.88M 3.5", 1.44M 3.5", 1.2M 5.25",
|
||||
720K 3.5" and 360K 5.25". On Unix and Windows 9x/NT/2000/XP, Bochs can access the
|
||||
physical floppy drive.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Multiple ATA channels</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Emulates up to 4 ATA channels. Up to 8 ATA/ATAPI emulated devices can be attached,
|
||||
two per ATA channel.
|
||||
So you can have eight hard disks or seven hard disks and a CD-ROM or four hard
|
||||
disks and four CD-ROMs, or one hard disk and seven CD-ROMs, etc...
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Hard disk</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Emulates ATA-6/IDE hard drives via image files. Physical
|
||||
hard disk access is supported on some architecture, but NOT recommended, primarily for safety reasons.
|
||||
Hard disk up to 127GB are supported, on any platform that support large files access.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>CD-ROM</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Emulates ATAPI-4/IDE CD-ROM. The CD-ROMs can read from an ISO disk image
|
||||
on any platform. On Windows (9x/ME/NT/2000/XP), Linux, SunOS, FreeBSD,
|
||||
NetBSD, OpenBSD, Amiga/MorphOS, MacOSX and BeOS, Bochs can read from the
|
||||
physical CD-ROM drive. Starting with version 1.4, Bochs is even able to boot from
|
||||
a bootable CD or bootable ISO image.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Keyboard</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Emulates a PS/2 keyboard with North American key mappings. Optional keyboard layout
|
||||
remapping files are provided to support localized keyboard in X11 (German, French, Italian, Spanish,
|
||||
Danish, Swedish, Russian).
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Mouse</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Emulates a serial, PS/2 or USB mouse with 3 buttons + optional mouse
|
||||
wheel support.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Sound Blaster</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Emulates a Sound Blaster 16 card (ISA, no plug&play). On Windows, Linux, FreeBSD, MacOS 9 and
|
||||
MacOSX, the output can be sent to the host computer's sound system, see
|
||||
<A
|
||||
HREF="sb16-emulation.html"
|
||||
>Section 4.3</A
|
||||
> for details.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Network card</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Emulates an NE2000 compatible network card. On Windows NT/2000,
|
||||
Linux, FreeBSD, and NetBSD, Bochs will forward packets to and from the
|
||||
operating system so that the guest OS can talk on the physical network.
|
||||
Unfortunately, on some platforms the guest OS can talk to any machine on
|
||||
the network BUT NOT the host machine. On Windows and on systems that
|
||||
allow the TAP or TUN/TAP interface, there is no such limitation. Often
|
||||
the host machine may be configured so the guest OS has access to the
|
||||
internet. On MacOSX, you may download the TUN driver from:
|
||||
<A
|
||||
HREF="http://chrisp.de/en/projects/tunnel.html"
|
||||
TARGET="_top"
|
||||
>http://chrisp.de/en/projects/tunnel.html</A
|
||||
>
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Parallel Port</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Parallel port emulation was added by Volker Ruppert for Bochs 1.3.
|
||||
Data that is sent to the parallel port by the guest OS can be saved into a
|
||||
file or sent directly into the parallel port device (Unix only).
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Serial Port</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>The serial port (single 16550A UART emulation) is usable, on GNU/Linux,
|
||||
NetBSD, OpenBSD, FreeBSD and MacOSX as host and guest. On other OSes the
|
||||
emulation is present, but the connection to hard- or software of the host is
|
||||
not implemented yet. Up to 4 ports are available.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Gameport</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Emulates a standard PC gameport. The connection to a real joystick is
|
||||
currently supported on Linux and win32 only.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>PCI</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Emulates most of the i440FX PCI chipset. The Host-to-PCI bridge
|
||||
(PMC/DBX), the PCI-to-ISA bridge and the PCI IDE controller (PIIX3) are
|
||||
available. For PCI cards there are 5 PCI slots supported.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>USB</TD
|
||||
><TD
|
||||
>incomplete</TD
|
||||
><TD
|
||||
>The USB root hub and the devices 'mouse', 'tablet', 'keypad' and
|
||||
'disk' are available. Plugging in and removing devices at runtime is
|
||||
possible, but still experimental. Access to real hardware is not
|
||||
implemented yet.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Plugins</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Plugins are supported on Linux, MacOS X, Solaris, and Cygwin.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>16/32 bit addressing</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>16 or 32 bit operand sizes, stack size, and addressing</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>v8086/paging</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Virtual-8086 mode including optional v8086 mode extensions (VME) and paging</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>PIC</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Master and slave programmable interrupt controller.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>CMOS functions</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>CMOS functions</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Dynamic Translation/Virtualization</TD
|
||||
><TD
|
||||
>No</TD
|
||||
><TD
|
||||
>Because Bochs is designed to be portable, it does not attempt
|
||||
to do any dynamic code translation or virtualization. See
|
||||
<A
|
||||
HREF="introduction.html#WHATISBOCHS"
|
||||
>Section 1.1</A
|
||||
> for details.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Simulate a Multiprocessor</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Bochs can be configured to simulate up to 8 processors. This
|
||||
feature is still experimental, but it can boot Linux 2.2 kernels with SMP
|
||||
support. Please note that this does NOT mean that Bochs can run
|
||||
faster on a physical SMP machine.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Take advantage of your SMP box</TD
|
||||
><TD
|
||||
>No</TD
|
||||
><TD
|
||||
>At present, Bochs does not use threads or parallel processing, so it
|
||||
will not run any faster on multiprocessor hardware.
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
>Copy and Paste</TD
|
||||
><TD
|
||||
>Yes</TD
|
||||
><TD
|
||||
>Depending on the host platform, the text-mode screen text can be
|
||||
exported to the clipboard. Text in the clipboard can also be pasted, through
|
||||
Bochs, to the guest OS, as simulated keystrokes.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
SUMMARY="Footer navigation table"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="thirdparty.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="H"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="supported-platforms.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Third Party Software Licensing and Temporary Files</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="introduction.html"
|
||||
ACCESSKEY="U"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Supported Platforms</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user