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