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? > > 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. Paolo