On 6/27/22 16:59, Kai Huang wrote: > If so, in the assembly, I think we can just XOR TDX_SW_ERROR to the %rax and > return %rax: > > 2: > /* > * SEAMCALL caused #GP or #UD. By reaching here %eax contains > * the trap number. Convert trap number to TDX error code by setting > * TDX_SW_ERROR to the high 32-bits of %rax. > */ > xorq $TDX_SW_ERROR, %rax > > How does this look? I guess it doesn't matter if you know the things being masked together are padded correctly, but I probably would have done a straight OR, not XOR. Otherwise, I think that looks OK. Simplifies the assembly for sure.