Use newly introduced TDCALL instead of tdcall() to issue VM_RD/VM_WR tdcalls It increase code slightly: Function old new delta tdx_early_init 744 776 +32 but combined with VP_INFO changes the total effect on tdx_early_init() is code reduction. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> --- arch/x86/coco/tdx/tdx.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/arch/x86/coco/tdx/tdx.c b/arch/x86/coco/tdx/tdx.c index e1849878f3bc..6559f3842f67 100644 --- a/arch/x86/coco/tdx/tdx.c +++ b/arch/x86/coco/tdx/tdx.c @@ -76,27 +76,13 @@ static inline void tdcall(u64 fn, struct tdx_module_args *args) /* Read TD-scoped metadata */ static inline u64 tdg_vm_rd(u64 field, u64 *value) { - struct tdx_module_args args = { - .rdx = field, - }; - u64 ret; - - ret = __tdcall_ret(TDG_VM_RD, &args); - *value = args.r8; - - return ret; + return TDCALL_1(TDG_VM_RD, 0, field, 0, 0, value); } /* Write TD-scoped metadata */ static inline u64 tdg_vm_wr(u64 field, u64 value, u64 mask) { - struct tdx_module_args args = { - .rdx = field, - .r8 = value, - .r9 = mask, - }; - - return __tdcall(TDG_VM_WR, &args); + return TDCALL_1(TDG_VM_WR, 0, field, value, mask, value); } /** -- 2.43.0