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} |
|