[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-next v2 09/10] x86/domain: move PV specific code to pv/domain.c
On Tue, Apr 25, 2017 at 03:52:06PM +0100, Andrew Cooper wrote: > On 25/04/17 14:52, Wei Liu wrote: > > - fail: > > - pv_domain_destroy(d); > > - > > - return rc; > > -} > > - > > +void paravirt_ctxt_switch_from(struct vcpu *v); > > +void paravirt_ctxt_switch_to(struct vcpu *v); > > int arch_domain_create(struct domain *d, unsigned int domcr_flags, > > struct xen_arch_domainconfig *config) > > { > > @@ -1919,7 +1717,8 @@ static void save_segments(struct vcpu *v) > > > > #define switch_kernel_stack(v) ((void)0) > > > > -static void paravirt_ctxt_switch_from(struct vcpu *v) > > +/* Needed by PV guests */ > > +void paravirt_ctxt_switch_from(struct vcpu *v) > > { > > Could these be moved up to avoid the forward declarations above? > Yes and frankly this is going to require more brain power to review, but I'm not the one who reviews this so I don't care. ;p > > diff --git a/xen/arch/x86/pv/Makefile b/xen/arch/x86/pv/Makefile > > index ea94599438..2737824e81 100644 > > --- a/xen/arch/x86/pv/Makefile > > +++ b/xen/arch/x86/pv/Makefile > > @@ -1,2 +1,3 @@ > > obj-y += hypercall.o > > obj-bin-y += dom0_build.init.o > > +obj-y += domain.o > > diff --git a/xen/arch/x86/pv/domain.c b/xen/arch/x86/pv/domain.c > > new file mode 100644 > > index 0000000000..562c3d03f5 > > --- /dev/null > > +++ b/xen/arch/x86/pv/domain.c > > @@ -0,0 +1,232 @@ [...] > > + > > +static int pv_create_gdt_ldt_l1tab(struct domain *d, struct vcpu *v) > > +{ > > + return create_perdomain_mapping(d, GDT_VIRT_START(v), > > + 1 << GDT_LDT_VCPU_SHIFT, > > This should be 1u, when introduced in patch 1. > Will fix. As for other issues you point out, it is rather easier to review and test if I write separate patches for all of them. Expect more patches. > > + > > #ifdef CONFIG_PV > > > +void pv_vcpu_destroy(struct vcpu *v); > > +int pv_vcpu_initialise(struct vcpu *v); > > +void pv_domain_destroy(struct domain *d); > > +int pv_domain_initialise(struct domain *d, unsigned int domcr_flags, > > + struct xen_arch_domainconfig *config); > > #else > > static inline void pv_vcpu_destroy(struct vcpu *v) {}; > static inline int pv_vcpu_initialise(struct vcpu *v) { return > -EOPNOTSUPP; }; > static inline void pv_domain_destroy(struct domain *d) {}; > static inline int pv_domain_initialise(struct domain *d, unsigned int > domcr_flags, > struct xen_arch_domainconfig > *config) { return -EOPNOTSUPP; } > > #endif > > Please can we try to make new code compatible with eventually turning > off CONFIG_PV and CONFIG_HVM. > My original plan was to do that in next stage. But I'm also ok with doing it now. Wei. > ~Andrew > > > + > > +#endif /* __X86_PV_DOMAIN_H__ */ > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |