KPTI to-do list
- R|W mapping of TSS? (should check if this is still the case and whether we can make it RO, since we don't really need to change esp0 every switch back to userland any more)
- Should we add other intrs to kpti_flt IST? All the other "contributory" interrupts?
- Nicer way to generate
MACHCPU_PAD
? Maybe break the structs up? - KPTI "off" switch and boot argument (set old IDT etc)
- Clean up
__i386
sections now that that is gone? - Make T_FRAME_* and T_FRAMERET_* into offsets.in?
- kmdb blacklists for single-stepping or BPs in the dbg trampolines (and maybe normal trampolines?)
- Figure out why single-stepping a return tramp still breaks the world even with the kdi_idt punched in
- int $8 push logic: use addr instead of zero at (%rsp), maybe? seems hacky.
- Copyrights and cstyle and shiz
Testing to-do list
- Exhaustive trap tester
- Test weird floating point things like #XM, #MF and so on
- Test NMI in bad situations (maybe put an infinite loop in a trampoline?)
- Find a box that takes MCEs a lot
- #BR?
- Find someone who cares about sol10 brand zones?
I believe Solaris 10 Branded Zones are currently broken and have been for quite some time. We have to run our last remaining S10 zones on an older SmartOS release (our own build):
uname -v
everycity_20131114T173308Z
So I wouldn't worry too much.