On 08.04.2025 09:12, Jan Beulich wrote: > On 08.04.2025 03:15, dm...@proton.me wrote: >> +static inline enum vmx_insn_errno vmread_safe(unsigned long field, >> + unsigned long *value) >> +{ >> + asm goto ( "vmread %[field], %[value]\n\t" >> + "jc %l[vmfail_invalid]\n\t" >> + "jz %l[vmfail_error]" >> + : >> + : [field] "r" (field), [value] "m" (*value) > > See comments on the vmr() adjustments you're making.
Oh, and - why is "+rm" lost here and there? We shouldn't be taking away from the compiler the option of not going through memory here. Aiui that's solely because you figured that you can't use "rm" (i.e. an input). But then you drew the wrong conclusion. Jan