Xen Security Advisory: x86 – mishandling of debug exceptions
xenbits.xen.org
xenbits.xen.org
https://trixter.oldskool.org/2007/03/17/post-something-dammi...
https://www.pcjs.org/pubs/pc/reference/intel/8086/
http://www.malinov.com/Home/sergeys-projects/sergey-s-xt/his...
Sort of. But it's a balancing act -- if you delay the release of a fix until the day of disclosure, users are all vulnerable to a known exploit until they patch. If you release a patch before public disclosure, chances are much better that users will update before the vulnerability is disclosed, either officially or through reverse-engineering of the patch.
... Except not requiring a buggy instruction emulator.
Traps and MOVSS shadowing (and any other temporary state after an instruction pointer increment) are very complex/bug prone, and I kinda wish x86 weren't so willing to keep adding these in (recent additions that come to mind being MTF and PEBS).
https://www.pagetable.com/?p=25
https://github.com/dynamorio/dynamorio/issues/181
Especially in the case of LAHF/SAHF, it's not like they reused the opcode for something else --- since amd64 processors must be able to execute 16 and 32-bit code, the circuitry required to execute those instructions is there and perfectly functional; they just inexplicably become invalid in 64-bit mode. AMD could've made it far more seamless and compatible; instead they seemingly ripped stuff out without much consideration of what could be depending on it, hence the strange invalidation of certain instructions and the absurd semi-presence of segmentation.
For example, they could've made segmentation disappear completely (and certainly break more applications...) in 64-bit mode, reassigning all the opcodes related to their usage, etc.; or they could've fit 64-bit segments into the existing segmentation model, but the current "segmentation half-working" state is just bizarre.
I'm not sure what you mean by this. IA-64 was Itanium. While it did have two stacks, that feature never existed on either vendor's implementation of x86-64.