import
This commit is contained in:
51
qemu/target-mips/TODO
Normal file
51
qemu/target-mips/TODO
Normal file
@@ -0,0 +1,51 @@
|
||||
Unsolved issues/bugs in the mips/mipsel backend
|
||||
-----------------------------------------------
|
||||
|
||||
General
|
||||
-------
|
||||
- Unimplemented ASEs:
|
||||
- MDMX
|
||||
- SmartMIPS
|
||||
- microMIPS DSP r1 & r2 encodings
|
||||
- MT ASE only partially implemented and not functional
|
||||
- Shadow register support only partially implemented,
|
||||
lacks set switching on interrupt/exception.
|
||||
- 34K ITC not implemented.
|
||||
- A general lack of documentation, especially for technical internals.
|
||||
Existing documentation is x86-centric.
|
||||
- Reverse endianness bit not implemented
|
||||
- The TLB emulation is very inefficient:
|
||||
QEMU's softmmu implements a x86-style MMU, with separate entries
|
||||
for read/write/execute, a TLB index which is just a modulo of the
|
||||
virtual address, and a set of TLBs for each user/kernel/supervisor
|
||||
MMU mode.
|
||||
MIPS has a single entry for read/write/execute and only one MMU mode.
|
||||
But it is fully associative with randomized entry indices, and uses
|
||||
up to 256 ASID tags as additional matching criterion (which roughly
|
||||
equates to 256 MMU modes). It also has a global flag which causes
|
||||
entries to match regardless of ASID.
|
||||
To cope with these differences, QEMU currently flushes the TLB at
|
||||
each ASID change. Using the MMU modes to implement ASIDs hinges on
|
||||
implementing the global bit efficiently.
|
||||
- save/restore of the CPU state is not implemented (see machine.c).
|
||||
|
||||
MIPS64
|
||||
------
|
||||
- Userland emulation (both n32 and n64) not functional.
|
||||
|
||||
"Generic" 4Kc system emulation
|
||||
------------------------------
|
||||
- Doesn't correspond to any real hardware. Should be removed some day,
|
||||
U-Boot is the last remaining user.
|
||||
|
||||
PICA 61 system emulation
|
||||
------------------------
|
||||
- No framebuffer support yet.
|
||||
|
||||
MALTA system emulation
|
||||
----------------------
|
||||
- We fake firmware support instead of doing the real thing
|
||||
- Real firmware (YAMON) falls over when trying to init RAM, presumably
|
||||
due to lacking system controller emulation.
|
||||
- Bonito system controller not implemented
|
||||
- MSC1 system controller not implemented
|
||||
Reference in New Issue
Block a user