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 |