|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RESEND v5 1/6] xen/arm: Implement hvm save and restore
12.11.2013 19:15, Ian Campbell wrote: On Fri, 2013-11-08 at 16:50 +0900, Jaeyong Yoo wrote: If these get resent again please can you CC the ARM maintainers. $ git grep -A5 ARM MAINTAINERS MAINTAINERS:ARM (W/ VIRTUALISATION EXTENSIONS) ARCHITECTURE MAINTAINERS-M: Ian Campbell <ian.campbell@xxxxxxxxxx> MAINTAINERS-M: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx> MAINTAINERS-M: Tim Deegan <tim@xxxxxxx> MAINTAINERS-S: Supported MAINTAINERS-L: xen-devel@xxxxxxxxxxxxxFrom: Evgeny Fedotov <e.fedotov@xxxxxxxxxxx> Implement save/restore of hvm context hypercall. In hvm context save/restore, we save gic, timer and vfp registers. Changes from v4: Save vcpu registers within hvm context, and purge the save-vcpu-register patch.The inter-version changelog should go after the main commit message and the S-o-b separated by a "---" on a line by itself. This way it is not included in the final commit. OK. [...] I think this lock can be removed, thanks. If we use memcpy I think we should always check if the size of source and destination is equal. Of course, BUILD_BUG_ON is safe so I can use it. Thanks. The only GICD structure we save for guest domain is struct vgic_irq_rank, it includes: IENABLE, IACTIVE, IPEND, PENDSGI, ICFG, IPRIORITY, ITARGETS registers. We create the same structure inside hvm : vgic_rank (that is no guaranteed to be the same as struct vgic_irq_rank) and save it calling vgic_irq_rank_save routine below in gic_save. Well, I tried to save LR to restore all interrupt queues (pending and active) in future to minimize the quantity of lost IRQs during the migration. But in this stage it is quite wrong to save LR so I remove this.
OK Yes, I think vcpu_guest_core_regs is already common definition for ARM32 and ARM64. [...] + #ifdef CONFIG_ARM_32#ifdef in the first columns please. OK + ctxt.spsr_fiq = c.spsr_fiq; + ctxt.spsr_irq = c.spsr_irq; + ctxt.spsr_und = c.spsr_und; + ctxt.spsr_abt = c.spsr_abt;and don't indent these as if they were inside a block Sure You had this right when you saved the MAIR registers above.+ #endif + #ifdef CONFIG_ARM_64or #else if you prefer. OK
OK diff --git a/xen/include/asm-arm/hvm/support.h b/xen/include/asm-arm/hvm/support.h new file mode 100644 index 0000000..8311f2f --- /dev/null +++ b/xen/include/asm-arm/hvm/support.h @@ -0,0 +1,29 @@ +/* + * support.h: HVM support routines used by ARMv7 VE.Not just on Vexpress nor just on v7 I expect? VE means Virtualization Extentions here.OK, we should support ARM v8 in future,so can be "HVM support routines used by ARMv7/v8 with Virtualization Extensions" a good comment? + * + * Copyright (c) 2012, Citrix SystemsReally? OK + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place - Suite 330, Boston, MA 02111-1307 USA. + */ + +#ifndef __ASM_ARM_HVM_SUPPORT_H__ +#define __ASM_ARM_HVM_SUPPORT_H__ + +#include <xen/types.h> +#include <public/hvm/ioreq.h> +#include <xen/sched.h> +#include <xen/hvm/save.h> +#include <asm/processor.h>Just some #includes here? Yes, I remove unnecessary includes. Ian, _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |