We might want to look at the docs and see if what Greg just explained a few minutes ago is documented there.
Also worth remembering that this is only an ARMv7-M and ARMv8-M feature because it depends on (1) having true prioritized interrupts (ARMv6-M does not) and (2) the ability to executed C code directly to handle the interrupts.
So it is not a general OS feature.