Question

I'm not sure if SO is the best place to ask this question. If not, please let me know which sister site I should go to.

I've been reading a paper about Intel's Trusted Execution Technology (TXT) and it has the following text that I can't seem to figure out:

"Intel created a new 'leaf' instruction called GETSEC, which can be customized to invoke various leaf operations (including SENTER)"

I can't find out anything about leaf instructions. What are they and why/when are they used? Any hints?

p.s. Paper's called "How low can you go? Recommendations for Hardware-Supported Minimal TCB Code Execution" by McCune et al.

Était-ce utile?

La solution

Most instructions do one thing - add, subtract, move, etc. Some (rare) instructions do completely different things in different situations. One example of this is the CPUID instruction, which does different things depending on the initial value of EAX (and sometimes ECX too). These "different things" are called leaves (by Intel).

Intel's "GETSEC" instruction is like this. It's one instruction, but depending on the initial value of EAX it can do completely different things. For example, if you set EAX to zero beforehand the GETSEC instruction will do the "(get) CAPABILITIES leaf function", if you set EAX to 4 beforehand the GETSEC instruction will do the "SENTER leaf function", and if you set EAX to 5 beforehand the GETSEC instruction will do the "SEXIT leaf function".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top