On 19/02/16 17:06, Lengyel, Tamas wrote:


On Tue, Feb 16, 2016 at 3:47 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>> On 16.02.16 at 07:58, <kevin.tian@intel.com> wrote:
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -490,6 +490,7 @@ static void vmx_vmcs_save(struct vcpu *v, struct hvm_hw_cpu
>> *c)
>>      __vmread(GUEST_SYSENTER_CS, &c->sysenter_cs);
>>      __vmread(GUEST_SYSENTER_ESP, &c->sysenter_esp);
>>      __vmread(GUEST_SYSENTER_EIP, &c->sysenter_eip);
>> +    __vmread(GUEST_DR7, &c->dr7);
>>
>
> Hi, Tamas, I didn't see the open closed around "v != current", if
> I'm not missing some mails... Have you confirmed with Jan that
> he is OK with it?

We didn't really settle on this yet. I'm not heavily opposed to it
remaining unconditional for now, but as said in the other replay
my fear is that this might later lead to further additions which
may then also be of no interest to the main (save/migration)
user of this code.

Andrew, any comment if this is OK from your perspective?

I specifically suggested the use of vmx_save_dr() to make all debug state consistent.

I don't see much purpose in being able to introspect just %dr7.  If any debug related activities are going on, all debug registers are relevant.

Is this not the case?

~Andrew