Subversion Repositories HelenOS-doc

Compare Revisions

Ignore whitespace Rev 36 → Rev 42

/prjdoc/trunk/tools/tools.tex
173,6 → 173,12
troubleshooting. Moreover, part of the simulators featured integrated debugging facilities.
Without them, a lot of bugs would remain unresolved or even go unnoticed.
 
Using several virtual environments for testing one architecture is well justified by the
fact that sometimes HelenOS would run on two and crash on third or vice versa. Sometimes
we found that it runs on real hardware but fails in a simulator. The opposite case was,
however, more common. Simply put, the more configurations, no matter whether real or virtual,
the better.
 
From one point of view, we have tested our system on eight different virtual environments:
 
\begin{itemize}
210,7 → 216,10
(patch \#1282033).
 
Bochs has some debugging facilities but those have been very impractical and broken
in SMP mode.
in SMP mode. Moreover, it is possible to use the GNU debugger {\tt gbd} to connect to running
simulation, but this has also proven not very useful as we often needed to debug
problems that existed only in multiprocessor configurations, which {\tt gdb}
does not understand.
 
\subsection{GXemul}
GXemul is an emulator of several processor architectures. Nevertheless, we have
251,6 → 260,11
which was nice for those of us who use notebooks as their development
machine.
 
Similar to Bochs, QEMU simulation can be aided by {\tt gdb}. Debugging
with {\tt gdb} can be pretty comfortable\footnote{Especially when the kernel is
compiled with {\tt -g3}.} until one needs to debug a SMP kernel running on multiple
processors.
 
\subsection{Simics}
Virtutech's Simics simulator can be compared to a Swiss-army knife for operating system debugging.
This proprietary piece of software was available to us under an academic license for free.
295,12 → 309,12
make it far enough for the HP to fix or at least clarify the issue. Finally, we adopted a workaround implemented by {\JJ}
that simply swaps LMA and the program entry point in the kernel ELF image.
 
\subsection{VMware}
VMware is the only virtualizer we have used in HelenOS development. It virtualizes the ia32 host machine.
Since VMware version 5.5, we made use of its possibility to run the guest system (i.e. HelenOS) on multiple processors.
VMware has no support for debugging but is very useful for compatibility and regression testing because
it's closest to the real hardware. VMware, being a virtualizer, is also the fastest of all the virtual environments
we have utilized.
\subsection{VMware} VMware is the only virtualizer we have used in
HelenOS development. It virtualizes the ia32 host machine. Since VMware
version 5.5, we made use of its possibility to run the guest system
(i.e. HelenOS) on multiple processors. VMware has no support for
debugging but is very useful for compatibility and regression testing
because it's closest to the real hardware. VMware, being a virtualizer,
is also the fastest of all the virtual environments we have utilized.
 
 
\section{Authoring tools}