|  | TODO-list: | 
|  |  | 
|  | CPU common: | 
|  | - Unimplemented features/bugs: | 
|  | - Delay slot handling may fail sometimes (branch end of page, delay | 
|  | slot next page) | 
|  | - Atomical instructions | 
|  | - CPU features should match real CPUs (also ASI selection) | 
|  | - Optimizations/improvements: | 
|  | - Condition code/branch handling like x86, also for FPU? | 
|  | - Remove remaining explicit alignment checks | 
|  | - Global register for regwptr, so that windowed registers can be | 
|  | accessed directly | 
|  | - Improve Sparc32plus addressing | 
|  | - NPC/PC static optimisations (use JUMP_TB when possible)? (Is this | 
|  | obsolete?) | 
|  | - Synthetic instructions | 
|  | - MMU model dependent on CPU model | 
|  | - Select ASI helper at translation time (on V9 only if known) | 
|  | - KQemu/KVM support for VM only | 
|  | - Hardware breakpoint/watchpoint support | 
|  | - Cache emulation mode | 
|  | - Reverse-endian pages | 
|  | - Faster FPU emulation | 
|  | - Busy loop detection | 
|  |  | 
|  | Sparc32 CPUs: | 
|  | - Unimplemented features/bugs: | 
|  | - Sun4/Sun4c MMUs | 
|  | - Some V8 ASIs | 
|  |  | 
|  | Sparc64 CPUs: | 
|  | - Unimplemented features/bugs: | 
|  | - Interrupt handling | 
|  | - Secondary address space, other MMU functions | 
|  | - Many V9/UA2005/UA2007 ASIs | 
|  | - Rest of V9 instructions, missing VIS instructions | 
|  | - IG/MG/AG vs. UA2007 globals | 
|  | - Full hypervisor support | 
|  | - SMP/CMT | 
|  | - Sun4v CPUs | 
|  |  | 
|  | Sun4: | 
|  | - To be added | 
|  |  | 
|  | Sun4c: | 
|  | - A lot of unimplemented features | 
|  | - Maybe split from Sun4m | 
|  |  | 
|  | Sun4m: | 
|  | - Unimplemented features/bugs: | 
|  | - Hardware devices do not match real boards | 
|  | - Floppy does not work | 
|  | - CS4231: merge with cs4231a, add DMA | 
|  | - Add cg6, bwtwo | 
|  | - Arbitrary resolution support | 
|  | - PCI for MicroSparc-IIe | 
|  | - JavaStation machines | 
|  | - SBus slot probing, FCode ROM support | 
|  | - SMP probing support | 
|  | - Interrupt routing does not match real HW | 
|  | - SuSE 7.3 keyboard sometimes unresponsive | 
|  | - Gentoo 2004.1 SMP does not work | 
|  | - SS600MP ledma -> lebuffer | 
|  | - Type 5 keyboard | 
|  | - Less fixed hardware choices | 
|  | - DBRI audio (Am7930) | 
|  | - BPP parallel | 
|  | - Diagnostic switch | 
|  | - ESP PIO mode | 
|  |  | 
|  | Sun4d: | 
|  | - A lot of unimplemented features: | 
|  | - SBI | 
|  | - IO-unit | 
|  | - Maybe split from Sun4m | 
|  |  | 
|  | Sun4u: | 
|  | - Unimplemented features/bugs: | 
|  | - Interrupt controller | 
|  | - PCI/IOMMU support (Simba, JIO, Tomatillo, Psycho, Schizo, Safari...) | 
|  | - SMP | 
|  | - Happy Meal Ethernet, flash, I2C, GPIO | 
|  | - A lot of real machine types | 
|  |  | 
|  | Sun4v: | 
|  | - A lot of unimplemented features | 
|  | - A lot of real machine types |