Fix typo in softfloat code.
[qemu/mini2440.git] / target-mips / TODO
blob6d842e0148b7ddfd1974492fc1e5e5e8e5986ab0
1 Unsolved issues/bugs in the mips/mipsel backend
2 -----------------------------------------------
4 General
5 -------
6 - Unimplemented ASEs:
7   - MIPS16
8   - MDMX
9   - SmartMIPS
10   - DSP r1
11   - DSP r2
12 - MT ASE only partially implemented and not functional
13 - Shadow register support only partially implemented,
14   lacks set switching on interrupt/exception.
15 - 34K ITC not implemented.
16 - A general lack of documentation, especially for technical internals.
17   Existing documentation is x86-centric.
18 - Reverse endianness bit not implemented
19 - The TLB emulation is very inefficient:
20   Qemu's softmmu implements a x86-style MMU, with separate entries
21   for read/write/execute, a TLB index which is just a modulo of the
22   virtual address, and a set of TLBs for each user/kernel/supervisor
23   MMU mode.
24   MIPS has a single entry for read/write/execute and only one MMU mode.
25   But it is fully associative with randomized entry indices, and uses
26   up to 256 ASID tags as additional matching criterion (which roughly
27   equates to 256 MMU modes). It also has a global flag which causes
28   entries to match regardless of ASID.
29   To cope with these differences, Qemu currently flushes the TLB at
30   each ASID change. Using the MMU modes to implement ASIDs hinges on
31   implementing the global bit efficiently.
33 MIPS64
34 ------
35 - Userland emulation (both n32 and n64) not functional.
37 "Generic" 4Kc system emulation
38 ------------------------------
39 - Doesn't correspond to any real hardware.
41 PICA 61 system emulation
42 ------------------------
43 - No framebuffer support yet.
45 MALTA system emulation
46 ----------------------
47 - We fake firmware support instead of doing the real thing
48 - Real firmware falls over when trying to init RAM, presumably due
49   to lacking system controller emulation.
51 mipssim system emulation
52 ------------------------
53 - The mipsnet.c has a glitch: Booting from NFS root works up until
54   starting /sbin/init, then it Linux hangs with "NFS server not
55   responding".