Statistics
| Branch: | Revision:

root / target-mips / TODO @ feature-archipelago

History | View | Annotate | Download (1.9 kB)

1 2c52c816 ths
Unsolved issues/bugs in the mips/mipsel backend
2 2c52c816 ths
-----------------------------------------------
3 2c52c816 ths
4 15dcf5aa ths
General
5 15dcf5aa ths
-------
6 d0f48074 ths
- Unimplemented ASEs:
7 d0f48074 ths
  - MDMX
8 d0f48074 ths
  - SmartMIPS
9 b30706dd Jia Liu
  - microMIPS DSP r1 & r2 encodings
10 d0f48074 ths
- MT ASE only partially implemented and not functional
11 d0f48074 ths
- Shadow register support only partially implemented,
12 d0f48074 ths
  lacks set switching on interrupt/exception.
13 d0f48074 ths
- 34K ITC not implemented.
14 d0f48074 ths
- A general lack of documentation, especially for technical internals.
15 d0f48074 ths
  Existing documentation is x86-centric.
16 d0f48074 ths
- Reverse endianness bit not implemented
17 d0f48074 ths
- The TLB emulation is very inefficient:
18 6576b74b Stefan Weil
  QEMU's softmmu implements a x86-style MMU, with separate entries
19 d0f48074 ths
  for read/write/execute, a TLB index which is just a modulo of the
20 d0f48074 ths
  virtual address, and a set of TLBs for each user/kernel/supervisor
21 d0f48074 ths
  MMU mode.
22 d0f48074 ths
  MIPS has a single entry for read/write/execute and only one MMU mode.
23 d0f48074 ths
  But it is fully associative with randomized entry indices, and uses
24 d0f48074 ths
  up to 256 ASID tags as additional matching criterion (which roughly
25 d0f48074 ths
  equates to 256 MMU modes). It also has a global flag which causes
26 d0f48074 ths
  entries to match regardless of ASID.
27 6576b74b Stefan Weil
  To cope with these differences, QEMU currently flushes the TLB at
28 d0f48074 ths
  each ASID change. Using the MMU modes to implement ASIDs hinges on
29 d0f48074 ths
  implementing the global bit efficiently.
30 bec19c09 ths
- save/restore of the CPU state is not implemented (see machine.c).
31 2c52c816 ths
32 15dcf5aa ths
MIPS64
33 15dcf5aa ths
------
34 540635ba ths
- Userland emulation (both n32 and n64) not functional.
35 15dcf5aa ths
36 15dcf5aa ths
"Generic" 4Kc system emulation
37 15dcf5aa ths
------------------------------
38 ebbd0ffd ths
- Doesn't correspond to any real hardware. Should be removed some day,
39 ebbd0ffd ths
  U-Boot is the last remaining user.
40 15dcf5aa ths
41 509b8ab2 ths
PICA 61 system emulation
42 509b8ab2 ths
------------------------
43 509b8ab2 ths
- No framebuffer support yet.
44 509b8ab2 ths
45 15dcf5aa ths
MALTA system emulation
46 15dcf5aa ths
----------------------
47 2c52c816 ths
- We fake firmware support instead of doing the real thing
48 ebbd0ffd ths
- Real firmware (YAMON) falls over when trying to init RAM, presumably
49 ebbd0ffd ths
  due to lacking system controller emulation.
50 0300e3fa ths
- Bonito system controller not implemented
51 0300e3fa ths
- MSC1 system controller not implemented