Xen Test Framework
Long Mode #TS exception

Task Switches are removed from the AMD64 spec, but contrary to popular belief, these are not the only source of #TS exceptions.

This is a demonstration of #TS occurring in 64bit mode (and 32bit to show that the behaviour is consistent.)

#TS can occur because of a limit violation accessing %tr. Construct a scenario where the TSS limit includes {e,r}sp0 (so we can handle exceptions from lower privileges), but excludes {e,r}sp1 (so we can trigger #TS).

See also
tests/lm-ts/main.c