qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/7 v2] KVM regsync
@ 2013-01-10 15:28 Jason J. Herne
  2013-01-11 10:04 ` Bhushan Bharat-R65777
  2013-01-15  3:22 ` Bhushan Bharat-R65777
  0 siblings, 2 replies; 3+ messages in thread
From: Jason J. Herne @ 2013-01-10 15:28 UTC (permalink / raw)
  To: agraf, borntraeger, aliguori, mtosatti, qemu-devel, R65777,
	jan.kiszka

Rework the method used to synchronize CPU registers between Qemu &
KVM.  This patch set extends kvm_arch_put_registers() and
kvm_arch_get_registers() to take a register bitmap parameter.  All
existing code paths are updated to specify this new parameter.

IMPORTANT NOTE:  The PPC and i386 implementations are incomplete.
I am submitting this code at this time only to get a review on the
implementation of the existing code and to perhaps seek assistance
with the mentioned architectures.

I am not sure who will finish the implementation of PPC/i386 yet.  Due
to the fact that I am unfamiliar with these architectures at the
register level and I do not have test environments I would like to
humbly request that a maintainer of these architectures take a look at
it.  Or perhaps Bharat could handle the PPC code?  This would only leave 
i386 to worry about.  If I cannot find someone to handle i386 I
will look into the feasibility of completing it myself.

In order to complete the missing implementations,
kvm_arch_get_registers and kvm_arch_put_registers (and associated
helper functions) will need to be updated to only sync the registers
contained in the new bitmap argument.  Also, each set of registers
represented  by one of the bits must be mutually exclusive with respect
to every other bit.  if this is not the case then local register data
can be lost when kvm_arch_get_registers is called causing an old
register value to overwrite a newer local value.

-- 
-- Jason J. Herne (jjherne@linux.vnet.ibm.com)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH 0/7 v2] KVM regsync
  2013-01-10 15:28 [Qemu-devel] [PATCH 0/7 v2] KVM regsync Jason J. Herne
@ 2013-01-11 10:04 ` Bhushan Bharat-R65777
  2013-01-15  3:22 ` Bhushan Bharat-R65777
  1 sibling, 0 replies; 3+ messages in thread
From: Bhushan Bharat-R65777 @ 2013-01-11 10:04 UTC (permalink / raw)
  To: jjherne@linux.vnet.ibm.com, agraf@suse.de, borntraeger@de.ibm.com,
	aliguori@us.ibm.com, mtosatti@redhat.com, qemu-devel@nongnu.org,
	jan.kiszka@siemens.com



> -----Original Message-----
> From: Jason J. Herne [mailto:jjherne@linux.vnet.ibm.com]
> Sent: Thursday, January 10, 2013 8:59 PM
> To: agraf@suse.de; borntraeger@de.ibm.com; aliguori@us.ibm.com;
> mtosatti@redhat.com; qemu-devel@nongnu.org; Bhushan Bharat-R65777;
> jan.kiszka@siemens.com
> Subject: [PATCH 0/7 v2] KVM regsync
> 
> Rework the method used to synchronize CPU registers between Qemu & KVM.  This
> patch set extends kvm_arch_put_registers() and
> kvm_arch_get_registers() to take a register bitmap parameter.  All existing code
> paths are updated to specify this new parameter.
> 
> IMPORTANT NOTE:  The PPC and i386 implementations are incomplete.
> I am submitting this code at this time only to get a review on the
> implementation of the existing code and to perhaps seek assistance with the
> mentioned architectures.
> 
> I am not sure who will finish the implementation of PPC/i386 yet.  Due to the
> fact that I am unfamiliar with these architectures at the register level and I
> do not have test environments I would like to humbly request that a maintainer
> of these architectures take a look at it.  Or perhaps Bharat could handle the
> PPC code?  This would only leave

I will handle the PPC code.

-Bharat

> i386 to worry about.  If I cannot find someone to handle i386 I will look into
> the feasibility of completing it myself.
> 
> In order to complete the missing implementations, kvm_arch_get_registers and
> kvm_arch_put_registers (and associated helper functions) will need to be updated
> to only sync the registers contained in the new bitmap argument.  Also, each set
> of registers represented  by one of the bits must be mutually exclusive with
> respect to every other bit.  if this is not the case then local register data
> can be lost when kvm_arch_get_registers is called causing an old register value
> to overwrite a newer local value.
> 
> --
> -- Jason J. Herne (jjherne@linux.vnet.ibm.com)
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH 0/7 v2] KVM regsync
  2013-01-10 15:28 [Qemu-devel] [PATCH 0/7 v2] KVM regsync Jason J. Herne
  2013-01-11 10:04 ` Bhushan Bharat-R65777
@ 2013-01-15  3:22 ` Bhushan Bharat-R65777
  1 sibling, 0 replies; 3+ messages in thread
From: Bhushan Bharat-R65777 @ 2013-01-15  3:22 UTC (permalink / raw)
  To: jjherne@linux.vnet.ibm.com, agraf@suse.de, borntraeger@de.ibm.com,
	aliguori@us.ibm.com, mtosatti@redhat.com, qemu-devel@nongnu.org,
	jan.kiszka@siemens.com



> -----Original Message-----
> From: Jason J. Herne [mailto:jjherne@linux.vnet.ibm.com]
> Sent: Thursday, January 10, 2013 8:59 PM
> To: agraf@suse.de; borntraeger@de.ibm.com; aliguori@us.ibm.com;
> mtosatti@redhat.com; qemu-devel@nongnu.org; Bhushan Bharat-R65777;
> jan.kiszka@siemens.com
> Subject: [PATCH 0/7 v2] KVM regsync
> 
> Rework the method used to synchronize CPU registers between Qemu & KVM.  This
> patch set extends kvm_arch_put_registers() and
> kvm_arch_get_registers() to take a register bitmap parameter.  All existing code
> paths are updated to specify this new parameter.
> 
> IMPORTANT NOTE:  The PPC and i386 implementations are incomplete.
> I am submitting this code at this time only to get a review on the
> implementation of the existing code and to perhaps seek assistance with the
> mentioned architectures.
> 
> I am not sure who will finish the implementation of PPC/i386 yet.  Due to the
> fact that I am unfamiliar with these architectures at the register level and I
> do not have test environments I would like to humbly request that a maintainer
> of these architectures take a look at it.  Or perhaps Bharat could handle the
> PPC code?  This would only leave
> i386 to worry about.  If I cannot find someone to handle i386 I will look into
> the feasibility of completing it myself.
> 
> In order to complete the missing implementations, kvm_arch_get_registers and
> kvm_arch_put_registers (and associated helper functions) will need to be updated
> to only sync the registers contained in the new bitmap argument.  Also, each set
> of registers represented  by one of the bits must be mutually exclusive with
> respect to every other bit.  if this is not the case then local register data
> can be lost when kvm_arch_get_registers is called causing an old register value
> to overwrite a newer local value.

I think net step can be let the register bitmap to go all upto the KVM, so the KVM also read/write the specified registers set only.

Thanks
-Bharat

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-01-15  3:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-10 15:28 [Qemu-devel] [PATCH 0/7 v2] KVM regsync Jason J. Herne
2013-01-11 10:04 ` Bhushan Bharat-R65777
2013-01-15  3:22 ` Bhushan Bharat-R65777

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).