Subversion Repositories HelenOS-doc

Rev

Rev 31 | Rev 33 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 31 Rev 32
Line 239... Line 239...
239
QEMU emulates several processor architectures. We have used it to emulate
239
QEMU emulates several processor architectures. We have used it to emulate
240
ia32 and amd64. It can simulate SMP, but contrary to Bochs, it uses dynamic
240
ia32 and amd64. It can simulate SMP, but contrary to Bochs, it uses dynamic
241
translation of emulated instructions and performs much better because of
241
translation of emulated instructions and performs much better because of
242
that.
242
that.
243
 
243
 
-
 
244
This emulator seemed to realistically emulate the {\tt hlt} instruction,
-
 
245
which was nice for those of us who use notebooks as their development
-
 
246
machine.
-
 
247
 
244
\subsection{Simics}
248
\subsection{Simics}
-
 
249
Simics simulator can be compared to a Swiss-army knife for operating system debugging.
-
 
250
This proprietary piece of software was available to us under an academic license for free.
-
 
251
 
-
 
252
Simics can be set to simulate many different configurations of many different machines.
-
 
253
It has the most advanced debugging features we have ever seen. To highlight some, its
-
 
254
memory access tracing ability has been really helpfull to us. During device driver
-
 
255
development, we appreciated the possibility to turn logging of the devices to a specified
-
 
256
verbosity.
-
 
257
 
-
 
258
We used it to test and develop amd64 and ia32 architectures in SMP mode and mips32 architecture in UP mode.
-
 
259
 
-
 
260
Regardless of its invaluable qualities, it has still contained bugs. One of the most
-
 
261
serious was bug with ticket \#3351. {\OP} discovered that its BIOS rewrites kernel memory
-
 
262
during application processors start. Another bugs found were related to amd64 and mips32.
-
 
263
As for amd64, Simics did not report general protection fault when {\tt EFER.NXE} was 0 and a non-executable
-
 
264
page was found (\#4214). As for mips32, Simics misemulated {\tt MSUB} and {\tt MSUBU} instructions.
-
 
265
 
245
\subsection{Ski}
266
\subsection{Ski}
246
\subsection{VMware}
267
\subsection{VMware}
247
 
268
 
248
\section{Authoring tools}
269
\section{Authoring tools}