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
|