xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH RFC 3/4] Implement save and restore for gic (template impl)
@ 2013-06-05 10:29 Jaeyong Yoo
  0 siblings, 0 replies; 3+ messages in thread
From: Jaeyong Yoo @ 2013-06-05 10:29 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel@lists.xen.org

> > +static int gic_save(struct domain *d, hvm_domain_context_t *h)
> > +{
> > +    struct hvm_hw_gic ctxt;
> > +    struct vcpu *v;
> > +
> > +    /* Save the state of GICs */
> > +    for_each_vcpu( d, v )
> > +    {
> > +        ctxt.gic_hcr = v->arch.gic_hcr;
> > +        ctxt.gic_vmcr = v->arch.gic_vmcr;
> > +        ctxt.gic_apr = v->arch.gic_apr;
> > +        memcpy( ctxt.gic_lr, v->arch.gic_lr, sizeof(v->arch.gic_lr) );
> > +        ctxt.event_mask = v->arch.event_mask;
> > +        ctxt.lr_mask = v->arch.lr_mask;
> 
> In general on x86 the policy is that hvm headers should store only
> architectural state. I think this is a good policy to carry over to ARM.
> 
> With that in mind I don't think either event_mask or lr_mask are
> architectural state but are actually internal state of the vgic
> "emulation" which can and should be reconstructed when loading the
> architectural state.

Thanks! That is very helpful :)

Jaeyong

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [PATCH RFC 0/4] arm: regarding live migration
@ 2013-06-05  5:46 Jaeyong Yoo
  2013-06-05  5:46 ` [PATCH RFC 3/4] Implement save and restore for gic (template impl) Jaeyong Yoo
  0 siblings, 1 reply; 3+ messages in thread
From: Jaeyong Yoo @ 2013-06-05  5:46 UTC (permalink / raw)
  To: xen-devel; +Cc: Jaeyong Yoo

Hi all,
I'm interested in developing live migration in xen arm and possibly 
the contribution to the community and I hope this patch series could be a start.

For this matter, I have following questions:

(1) Is it OK to keep using the keyword "hvm"? Or, is it better to use pvh?

(2) After some overview of source code, I think the required parts
   for save/restore are the following:
      - xen-store info
      - shared info page
      - memory contents (no need for p2m table)
      - cpu/vcpu 
      - gic/vgic
      - drivers
   I think there are still important parts that I'm missing.
   I appreciate if you could give some advice :)

(3) Regarding split drivers, come to think of it, we have to store 
   both side (front/back) states, in-flight event channels, IRQs, etc.
   And those look like quite a work (although evtchn is migrated within vcpu)
   I appreciate  if you guys could share any hints from the experience of 
   migrating split drivers in x86.

Lastly I would like to note that the following patch series is just the 
concept work for reviewing my idea and they are quite preliminary.


Jaeyong Yoo (4):
  Create new directory for stroing hvm-related files in ARM.
  Implement arch_hvm_save and arch_hvm_load functions
  Implement save and restore for gic (template impl)
  Implement XEN_DOMCTL_gethvmcontext part of arch_do_domctl

 xen/arch/arm/Makefile                  |    2 +-
 xen/arch/arm/domctl.c                  |   58 +++++++++++++++-
 xen/arch/arm/hvm.c                     |   67 ------------------
 xen/arch/arm/hvm/Makefile              |    2 +
 xen/arch/arm/hvm/hvm.c                 |  118 ++++++++++++++++++++++++++++++++
 xen/arch/arm/hvm/save.c                |   69 +++++++++++++++++++
 xen/common/Makefile                    |    2 +
 xen/include/asm-arm/hvm/support.h      |   29 ++++++++
 xen/include/public/arch-arm/hvm/save.h |   36 ++++++++++
 9 files changed, 314 insertions(+), 69 deletions(-)
 delete mode 100644 xen/arch/arm/hvm.c
 create mode 100644 xen/arch/arm/hvm/Makefile
 create mode 100644 xen/arch/arm/hvm/hvm.c
 create mode 100644 xen/arch/arm/hvm/save.c
 create mode 100644 xen/include/asm-arm/hvm/support.h

-- 
1.7.9.5

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

end of thread, other threads:[~2013-06-05 10:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-05 10:29 [PATCH RFC 3/4] Implement save and restore for gic (template impl) Jaeyong Yoo
  -- strict thread matches above, loose matches on Subject: below --
2013-06-05  5:46 [PATCH RFC 0/4] arm: regarding live migration Jaeyong Yoo
2013-06-05  5:46 ` [PATCH RFC 3/4] Implement save and restore for gic (template impl) Jaeyong Yoo
2013-06-05  9:21   ` Ian Campbell

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).