Il 29/09/2014 13:53, Alexander Graf ha scritto: > > cpu_handle_ioreq() > { > ... > > if (req->type == IOPORT_REGISTERS_SYNCHRONIZED) { > cpu->xen_vcpu_dirty = true; > synchronize_xen_to_env(xenptr, cpu); > } > > handle_ioreq(); > > if (req->type == IOPORT_REGISTERS_SYNCHRONIZED) { > cpu->xen_vcpu_dirty = false; > synchronize_env_to_xen(xenptr, cpu); > } > > ... > } > > void xen_cpu_synchronize_state(CPUState *cpu) > { > assert(cpu->xen_vcpu_dirty); > } > > Then no changes to the vmport code would be necessary and this problems > where some code path wants to do direct access to registers > automatically tells us that things are broken.
Yeah, that would be possible. You do not even need synchronize_state, it seems to me that it introduces more complication for little gain. Paolo