On 3/14/24 18:17, Edgecombe, Rick P wrote: > I guess there are three options: > 1. Export the low level seamcall function > 2. Export a bunch of higher level helper functions > 3. Duplicate __seamcall asm in KVM > > Letting modules make unrestricted seamcalls is not ideal. Preventing > the compiler from inlining the small logic in the static inline helpers > is not ideal. Duplicating code is not ideal. Hmm. > > I want to say 2 sounds the least worst of the three. But I'm not sure. > I'm not sure if x86 folks would like to police new seamcalls, or be > bothered by it, either. #3 is the only objectively awful one. :) In the end, we actually _want_ to have conversations about these things. There are going to be considerations about what functionality should be in KVM or the core kernel. We don't want KVM doing any calls that could affect global TDX module state, for instance. But I'd also defer to the KVM maintainers on this. They're the ones that have to play the symbol exporting game a lot more than I ever do. If they cringe at the idea of adding 20 (or whatever) exports, then that's a lot more important than the possibility of some other silly module abusing the generic exported __seamcall.