On Tue, Apr 20, 2021 at 4:12 PM Kuppuswamy, Sathyanarayanan <sathyanarayanan.kuppusw...@linux.intel.com> wrote: [..] > >>> Also, do you *REALLY* need to do this from assembly? Can't it be done > >>> in the C wrapper? > >> Its common for all use cases of TDVMCALL (vendor specific, in/out, etc). > >> so added > >> it here. > >
Can I ask a favor? Please put a line break between quoted lines and your reply. > > That's not a good reason. You could just as easily have a C wrapper > > which all uses of TDVMCALL go through. ...because this runs together when reading otherwise. > Any reason for not preferring it in assembly code? > Also, using wrapper will add more complication for in/out instruction > substitution use case. please check the use case in following patch. > https://github.com/intel/tdx/commit/1b73f60aa5bb93554f3b15cd786a9b10b53c1543 This commit still has open coded assembly for the TDVMCALL? I thought we talked about it being unified with the common definition, or has this patch not been reworked with that feedback yet? I expect there is no performance reason why in/out need to get their own custom coded TDVMCALL implementation. It should also be the case the failure should behave the same as native in/out failure i.e. all ones on read failure, and silent drops on write failure.