Difference between revisions of "QEMU"
(→Processor) |
(Qemu patches) |
||
| Line 22: | Line 22: | ||
== Patches == | == Patches == | ||
| − | MIPS Qemu | + | Currently MIPS support has not yet been integrated into Qemu nor the Linux kernel yet, so you'll need to apply |
| + | some patches. | ||
| + | === Kernel patches === | ||
| + | Qemu currently doesn't configure any existing system. Therefor the Linux kernel needs patches to add support the Qemu platform. | ||
| + | * ftp:/pub/linux/mips/qemu/linux-2.6.12-rc6-2005-06-09.diff | ||
| + | === Qemu patches === | ||
| + | Qemu itself requires a fair bunch of patches which need to be applied in this order: | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-mips.patch | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-kernelmode-kuseg-fix.patch | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-kernel-load-address-fix.patch | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-load_image_return-value-fix.patch | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-disasm-all-mips-stuff.patch | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-fix-cpp-name-typo.patch | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-fix-jump-mask.patch | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-remove-nonsense-exception-code.patch | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-softirq-are-just-irqs.patch | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-debug-junk.patch | ||
| + | * ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-cp0-timer-fixes.patch | ||
== See also == | == See also == | ||
Revision as of 14:33, 9 June 2005
Qemu is a generic open source processor and system emulator. It achieves good performance from using a Just-in-time compilation.
Contents |
System architecture
This paragraph describes the architecture of the MIPS system that currently is being emulated by Qemu. As Qemu is still very much work in progress this is expected to change.
Firmware
There currently is no firmware for Qemu. This is only a minor problem as unlike on a real system Qemu's virtual hardware is mostly initialized after a reset.
Processor
Qemu is simulating a 4Kc MIPS32 processor with a 16 entry TLB. Both I-cache and D-cache are 4kB each, 2-way set-associative with 16 bytes per cacheline however the cache effects are not simulated and cacheops are treated as noops. This is a design decission to iprove performance over accuracy. No benchmarking has been done however it is expected that the performance of the virtual MIPS system will be comparable to emulation of the other processors.
Qemu's source code can also be configured to be built with support for a 4Km processor. However being TLB-less this processor is not of interest for Linux, so does not currently receive any sort of attention.
Graphics card
Qemu is emulating a standard VGA graphics card however underlined, bold and blinking attributes are not supported.
Other peripherals
Qemu supports other peripherals however support for them has not been integrated or tested into the MIPS port.
Status
At this time the MIPS support still is in pre-alpha stage. There is no firmware for qemu yet and patches to add Linux support for running on Qemu have not been published yet.
Patches
Currently MIPS support has not yet been integrated into Qemu nor the Linux kernel yet, so you'll need to apply some patches.
Kernel patches
Qemu currently doesn't configure any existing system. Therefor the Linux kernel needs patches to add support the Qemu platform.
- ftp:/pub/linux/mips/qemu/linux-2.6.12-rc6-2005-06-09.diff
Qemu patches
Qemu itself requires a fair bunch of patches which need to be applied in this order:
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-mips.patch
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-kernelmode-kuseg-fix.patch
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-kernel-load-address-fix.patch
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-load_image_return-value-fix.patch
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-disasm-all-mips-stuff.patch
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-fix-cpp-name-typo.patch
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-fix-jump-mask.patch
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-remove-nonsense-exception-code.patch
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-softirq-are-just-irqs.patch
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-debug-junk.patch
- ftp://ftp.linux-mips.org/pub/linux/mips/qemu/qemu-2005-06-08-cp0-timer-fixes.patch
See also
- The Qemu homepage at http://fabrice.bellard.free.fr/qemu.
Credits
Originally authored by French wizzard Fabrice Bellard, Jocelyn Mayer did add support for MIPS as a target, others are now trying to complete the project.