Re: Hard as I try...
At least one person proposed something even simpler, in essence saving the speculative state along with thread/task state, and restoring it on thread/task switch.
I'm curious why you think this would close the cache timing channel. Or indeed most other side channels.