> > +#if IS_ENABLED(CONFIG_KVM_INTEL) > > +/* > > + * KVM VMX reinjects IRQ on its current stack, it's a sync call > > + * thus the values in the pt_regs structure are not used in > > + * executing IRQ handlers, except cs.RPL and flags.IF, which > > + * are both always 0 in the VMX IRQ reinjection context. > > + * > > + * However, the pt_regs structure is sometimes used in stack > > + * dump, e.g., show_regs(). So let the caller, i.e., KVM VMX > > + * decide how to initialize the input pt_regs structure. > > + */ > > +EXPORT_SYMBOL_GPL(external_interrupt); > > +#endif > > If the x86 maintainers don't object, I would prefer this to be squashed with the > actual KVM usage, that way discussions on exactly what the exported API should be > can be contained in a single thread. The KVM usage is the only one now, thus it does make sense to squash into one. I'm working on v6 and will merge this patch into the corresponding KVM patch. BTW, I will stop using "reinject" as asked.