qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 6/7] vmport: Add VMware all ring hack


From: Don Slutz
Subject: Re: [Qemu-devel] [PATCH v4 6/7] vmport: Add VMware all ring hack
Date: Thu, 30 Apr 2015 11:15:06 -0400
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

On 04/30/15 09:54, Paolo Bonzini wrote:
> On 30/04/2015 15:32, Don Slutz wrote:
>> This is done by adding a new machine property vmware-port-ring3 that
>> needs to be enabled to have any effect.  It only effects accel=tcg
>> mode.  It is needed if you want to use VMware tools in accel=tcg
>> mode.
> 
> How does it work on KVM or Xen?
> 

Xen change is in progress (patch posted).  I have not done any work on
HVM yet.


>>
>> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
>> index 3305e09..5085f29 100644
>> --- a/target-i386/cpu.c
>> +++ b/target-i386/cpu.c
>> @@ -2592,6 +2592,7 @@ static void x86_cpu_reset(CPUState *s)
>>      X86CPUClass *xcc = X86_CPU_GET_CLASS(cpu);
>>      CPUX86State *env = &cpu->env;
>>      int i;
>> +    bool save_vmware_port_ring3 = env->hflags2 & HF2_VMPORT_HACK_MASK;
>>  
>>      xcc->parent_reset(s);
>>  
>> @@ -2607,6 +2608,9 @@ static void x86_cpu_reset(CPUState *s)
>>      env->hflags |= HF_SOFTMMU_MASK;
>>  #endif
>>      env->hflags2 |= HF2_GIF_MASK;
>> +    if (save_vmware_port_ring3) {
>> +        env->hflags2 |= HF2_VMPORT_HACK_MASK;
>> +    }
>>  
>>      cpu_x86_update_cr0(env, 0x60000010);
>>      env->a20_mask = ~0x0;
> 
> The save/restore suggests that you want a new bool-typed field in
> CPUX86State instead of a bit env->hflags2.
> 

That is a possibility.  It did not look simple to access CPUX86State
where I needed to check HF2_VMPORT_HACK_MASK.  Instead of the
save/restore I could add it both places.

   -Don Slutz


> Paolo
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]