Commit d0f48074dbc21248f3b0a9fb48126cb0d95991b5

Authored by ths
1 parent 89fc88da

Update TODO.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3383 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 26 additions and 1 deletions
target-mips/TODO
... ... @@ -3,7 +3,32 @@ Unsolved issues/bugs in the mips/mipsel backend
3 3  
4 4 General
5 5 -------
6   -- [ls][dw][lr] report broken (aligned) BadVAddr
  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.
7 32  
8 33 MIPS64
9 34 ------
... ...