На процессорах Intel все инструкции, которые могут вызвать выход из виртуальной машины или которые ведут себя по-разному в гостевой системе, описаны в томе 3 главы 25 SDM.Pushf и popf не перечислены нигде в этой главе, что означает, что эти инструкции не вызывают выхода из виртуальной машины, и их наблюдаемое поведение при выполнении в гостевой системе такое же, как и при выполнении вне гостевой системы.
Причинадля команды popf не требуется выхода из виртуальной машины (несмотря на слайды, на которые есть ссылки в вопросе), поскольку VMCS имеет элементы управления для переопределения поведения, которое обычно контролируется регистром флагов.Например, находясь в гостевой системе, флаг IF не только контролирует доставку прерываний;вместо этого флаги в VMCS управляют тем, доставляются ли внешние прерывания гостю или происходит ли выход виртуальной машины.
Меня не удивляет, что popf оказывает нетривиальное влияние на производительность, учитывая все, что он делает.Подробнее см. Описание popf в руководстве разработчика программного обеспечения.