Subversion Repositories HelenOS-doc

Compare Revisions

Ignore whitespace Rev 31 → Rev 32

/prjdoc/trunk/tools/tools.tex
241,7 → 241,28
translation of emulated instructions and performs much better because of
that.
 
This emulator seemed to realistically emulate the {\tt hlt} instruction,
which was nice for those of us who use notebooks as their development
machine.
 
\subsection{Simics}
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.
 
Simics can be set to simulate many different configurations of many different machines.
It has the most advanced debugging features we have ever seen. To highlight some, its
memory access tracing ability has been really helpfull to us. During device driver
development, we appreciated the possibility to turn logging of the devices to a specified
verbosity.
 
We used it to test and develop amd64 and ia32 architectures in SMP mode and mips32 architecture in UP mode.
 
Regardless of its invaluable qualities, it has still contained bugs. One of the most
serious was bug with ticket \#3351. {\OP} discovered that its BIOS rewrites kernel memory
during application processors start. Another bugs found were related to amd64 and mips32.
As for amd64, Simics did not report general protection fault when {\tt EFER.NXE} was 0 and a non-executable
page was found (\#4214). As for mips32, Simics misemulated {\tt MSUB} and {\tt MSUBU} instructions.
 
\subsection{Ski}
\subsection{VMware}