[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] Re: [Xen-devel] Porting PV-on-HVM for ia64 platform
Hi, Doi.Tsunehisa@xxxxxxxxxxxxxx wrote: > Currently, we are trying to modify PV-on-HVM feature for IPF with > the same method of x86 code. And in preliminary implement, we could do > the feature. I will post patches for PV-on-HVM on ia64 platform. These patches modify common code for PV-on-HVM on IPF. We ported PV-on-HVM for IPF under this consideration: * Expand memory_op hypercall + Introduce XENMEM_add_to_physmap - A virtual space allocated on HVM-guest OS is remapped original shared_info and grant_table page with this hypercall. - This method is same as x86 method. * Reduce hvm_op hypercall + Delete functions introduced for old PV-on-HVM on IPF. * Revert domain destroy logic + revert arch_domain_destroy() for old PV-on-HVM on IPF. * Modify unmodified_drivers initialization + cut off unused codes for IPF + modify build rule for IPF These patch include: (common code) * unmodified-driver.patch - unmodified_drivers modification for IPF * unmodified-build.patch - unmodified_drivers build rule modification for IPF We have tested that this patch doesn't affect dom0, domVTi without pv-on-hvm driver attaching, and domVTi using pv-on-hvm driver works VBD/VNIF on IPF. Thanks, - Tsunehisa Doi # HG changeset patch # User Doi.Tsunehisa@xxxxxxxxxxxxxx # Node ID 96749232df478225e939252e704927be89dbae07 # Parent 259aea558618ad79219d838dcb520142a5f04897 Modify unmodified_drivers code for IPF Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@xxxxxxxxxxxxxx> Signed-off-by: Tomonari Horikoshi <t.horikoshi@xxxxxxxxxxxxxx> diff -r 259aea558618 -r 96749232df47 unmodified_drivers/linux-2.6/platform-pci/platform-pci.c --- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c Tue Aug 29 18:42:04 2006 +0900 +++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c Tue Aug 29 18:45:43 2006 +0900 @@ -115,6 +115,7 @@ unsigned long alloc_xen_mmio(unsigned lo return addr; } +#ifndef __ia64__ /* Lifted from hvmloader.c */ static int get_hypercall_stubs(void) { @@ -160,6 +161,7 @@ static int get_hypercall_stubs(void) return 0; } +#endif /* !__ia64__ */ static int __devinit platform_pci_init(struct pci_dev *pdev, const struct pci_device_id *ent) @@ -201,9 +203,11 @@ static int __devinit platform_pci_init(s platform_mmio = mmio_addr; platform_mmiolen = mmio_len; +#ifndef __ia64__ ret = get_hypercall_stubs(); if (ret < 0) goto out; +#endif /* __ia64__ */ if ((ret = init_xen_info())) diff -r 259aea558618 -r 96749232df47 unmodified_drivers/linux-2.6/platform-pci/xen_support.c --- a/unmodified_drivers/linux-2.6/platform-pci/xen_support.c Tue Aug 29 18:42:04 2006 +0900 +++ b/unmodified_drivers/linux-2.6/platform-pci/xen_support.c Tue Aug 29 18:45:43 2006 +0900 @@ -26,11 +26,13 @@ #include <asm/hypervisor.h> #include "platform-pci.h" +#ifndef __ia64__ void xen_machphys_update(unsigned long mfn, unsigned long pfn) { BUG(); } EXPORT_SYMBOL(xen_machphys_update); +#endif /* __ia64__ */ void balloon_update_driver_allowance(long delta) { @@ -41,3 +43,15 @@ void balloon_release_driver_page(struct { } EXPORT_SYMBOL(balloon_release_driver_page); + +#ifdef __ia64__ +int running_on_xen=1; +EXPORT_SYMBOL(running_on_xen); + +int ia64_xenmem_reservation_op(unsigned long op, + struct xen_memory_reservation* reservation__) +{ + return 0; +} +EXPORT_SYMBOL(ia64_xenmem_reservation_op); +#endif /* __ia64__ */ # HG changeset patch # User Doi.Tsunehisa@xxxxxxxxxxxxxx # Node ID b5cafa21c61f2789b6a78c5980a2414486917f69 # Parent 96749232df478225e939252e704927be89dbae07 Modify unmodified_drivers build rule for IPF Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@xxxxxxxxxxxxxx> Signed-off-by: Tomonari Horikoshi <t.horikoshi@xxxxxxxxxxxxxx> diff -r 96749232df47 -r b5cafa21c61f unmodified_drivers/linux-2.6/mkbuildtree --- a/unmodified_drivers/linux-2.6/mkbuildtree Tue Aug 29 18:45:43 2006 +0900 +++ b/unmodified_drivers/linux-2.6/mkbuildtree Tue Aug 29 18:46:45 2006 +0900 @@ -42,6 +42,12 @@ i[34567]86) ln -sf ${XL}/include/asm-i386/mach-xen/asm/synch_bitops.h include/asm ln -sf ${XL}/include/asm-i386/mach-xen/asm/maddr.h include/asm ;; +"ia64") + ln -sf ${XL}/include/asm-ia64/hypervisor.h include/asm + ln -sf ${XL}/include/asm-ia64/hypercall.h include/asm + ln -sf ${XL}/include/asm-ia64/synch_bitops.h include/asm + ln -sf ${XL}/include/asm-ia64/maddr.h include/asm + ;; *) echo unknown architecture $uname exit 1 _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |