blueswir1 | 0dcda9b | 2008-05-10 12:09:24 +0000 | [diff] [blame] | 1 | TODO-list: |
| 2 | |
| 3 | CPU common: |
| 4 | - Unimplemented features/bugs: |
| 5 | - Delay slot handling may fail sometimes (branch end of page, delay |
| 6 | slot next page) |
| 7 | - Atomical instructions |
| 8 | - CPU features should match real CPUs (also ASI selection) |
| 9 | - Optimizations/improvements: |
| 10 | - Condition code/branch handling like x86, also for FPU? |
blueswir1 | 79c6385 | 2008-05-17 06:08:15 +0000 | [diff] [blame] | 11 | - Remove remaining explicit alignment checks |
blueswir1 | 0dcda9b | 2008-05-10 12:09:24 +0000 | [diff] [blame] | 12 | - Global register for regwptr, so that windowed registers can be |
| 13 | accessed directly |
| 14 | - Improve Sparc32plus addressing |
| 15 | - NPC/PC static optimisations (use JUMP_TB when possible)? (Is this |
| 16 | obsolete?) |
| 17 | - Synthetic instructions |
Dong Xu Wang | 4abf79a | 2011-11-22 18:06:21 +0800 | [diff] [blame] | 18 | - MMU model dependent on CPU model |
blueswir1 | 0dcda9b | 2008-05-10 12:09:24 +0000 | [diff] [blame] | 19 | - Select ASI helper at translation time (on V9 only if known) |
| 20 | - KQemu/KVM support for VM only |
| 21 | - Hardware breakpoint/watchpoint support |
| 22 | - Cache emulation mode |
| 23 | - Reverse-endian pages |
| 24 | - Faster FPU emulation |
| 25 | - Busy loop detection |
| 26 | |
| 27 | Sparc32 CPUs: |
| 28 | - Unimplemented features/bugs: |
| 29 | - Sun4/Sun4c MMUs |
| 30 | - Some V8 ASIs |
| 31 | |
| 32 | Sparc64 CPUs: |
| 33 | - Unimplemented features/bugs: |
| 34 | - Interrupt handling |
| 35 | - Secondary address space, other MMU functions |
| 36 | - Many V9/UA2005/UA2007 ASIs |
| 37 | - Rest of V9 instructions, missing VIS instructions |
| 38 | - IG/MG/AG vs. UA2007 globals |
| 39 | - Full hypervisor support |
| 40 | - SMP/CMT |
| 41 | - Sun4v CPUs |
blueswir1 | 0dcda9b | 2008-05-10 12:09:24 +0000 | [diff] [blame] | 42 | |
| 43 | Sun4: |
| 44 | - To be added |
| 45 | |
| 46 | Sun4c: |
| 47 | - A lot of unimplemented features |
| 48 | - Maybe split from Sun4m |
| 49 | |
| 50 | Sun4m: |
| 51 | - Unimplemented features/bugs: |
| 52 | - Hardware devices do not match real boards |
| 53 | - Floppy does not work |
blueswir1 | fd07bef | 2008-06-20 17:42:20 +0000 | [diff] [blame] | 54 | - CS4231: merge with cs4231a, add DMA |
blueswir1 | 0dcda9b | 2008-05-10 12:09:24 +0000 | [diff] [blame] | 55 | - Add cg6, bwtwo |
| 56 | - Arbitrary resolution support |
| 57 | - PCI for MicroSparc-IIe |
| 58 | - JavaStation machines |
blueswir1 | 79c6385 | 2008-05-17 06:08:15 +0000 | [diff] [blame] | 59 | - SBus slot probing, FCode ROM support |
blueswir1 | 0dcda9b | 2008-05-10 12:09:24 +0000 | [diff] [blame] | 60 | - SMP probing support |
| 61 | - Interrupt routing does not match real HW |
| 62 | - SuSE 7.3 keyboard sometimes unresponsive |
| 63 | - Gentoo 2004.1 SMP does not work |
| 64 | - SS600MP ledma -> lebuffer |
| 65 | - Type 5 keyboard |
| 66 | - Less fixed hardware choices |
| 67 | - DBRI audio (Am7930) |
| 68 | - BPP parallel |
| 69 | - Diagnostic switch |
blueswir1 | 79c6385 | 2008-05-17 06:08:15 +0000 | [diff] [blame] | 70 | - ESP PIO mode |
blueswir1 | 0dcda9b | 2008-05-10 12:09:24 +0000 | [diff] [blame] | 71 | |
| 72 | Sun4d: |
| 73 | - A lot of unimplemented features: |
| 74 | - SBI |
| 75 | - IO-unit |
| 76 | - Maybe split from Sun4m |
| 77 | |
| 78 | Sun4u: |
| 79 | - Unimplemented features/bugs: |
| 80 | - Interrupt controller |
| 81 | - PCI/IOMMU support (Simba, JIO, Tomatillo, Psycho, Schizo, Safari...) |
| 82 | - SMP |
| 83 | - Happy Meal Ethernet, flash, I2C, GPIO |
| 84 | - A lot of real machine types |
| 85 | |
| 86 | Sun4v: |
blueswir1 | c7ba218 | 2008-07-22 07:07:34 +0000 | [diff] [blame] | 87 | - A lot of unimplemented features |
| 88 | - A lot of real machine types |