On 22/01/2018 10:04, David Woodhouse wrote:
> On Thu, 2018-01-04 at 00:15 +0000, Andrew Cooper wrote:
>> --- a/xen/include/asm-x86/asm_defns.h
>> +++ b/xen/include/asm-x86/asm_defns.h
>> @@ -217,22 +217,34 @@ static always_inline void stac(void)
>>          addq  $-(UREGS_error_code-UREGS_r15), %rsp
>>          cld
>>          movq  %rdi,UREGS_rdi(%rsp)
>> +        xor   %edi, %edi
>>          movq  %rsi,UREGS_rsi(%rsp)
>> +        xor   %esi, %esi
>>          movq  %rdx,UREGS_rdx(%rsp)
>> +        xor   %edx, %edx
>>          movq  %rcx,UREGS_rcx(%rsp)
>> +        xor   %ecx, %ecx
>>          movq  %rax,UREGS_rax(%rsp)
>> +        xor   %eax, %eax
> You didn't want to erase all 64 bits?

This does erase all 64 bits.  (We're in long mode, so the upper 32 bits
are implicitly zeroed, without an added rex prefix.)

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to