> From: Dave Hansen <dave.hansen@xxxxxxxxx> > Sent: Wednesday, November 23, 2022 8:05 AM > On 11/22/22 17:56, Dexuan Cui wrote: > >> From: Dexuan Cui > >> [...] > >> The existing asm code for __tdx_hypercall() passes through R10~R15 > >> (see TDVMCALL_EXPOSE_REGS_MASK) to the (KVM) hypervisor. > >> > >> Unluckily, for Hyper-V, we need to pass through RDX, R8, R10 and R11 > >> to Hyper-V, so I don't think I can use the existing __tdx_hypercall() ? > > I'm checking with the Hyper-V team to see if it's possible for them > > to not use RDX and R8, and use R12 and R13 instead. Will keep the > > thread updated. > > That would be nice. But, to be honest, I don't expect them to change > the ABI for one OS. It's not a big deal to just make the function a bit > more flexible. Then I'll implement a C function using __tdx_hypercall() that will be expaneed by Kirill. Thank you all for the suggestions!