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 dependant 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
- Optimizations/improvements:
 - Use TCG logic ops for VIS when possible

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
 - Missing keys, sendkey support for all keys
 - 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:
- To be added
