[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-ia64-devel] PV-on-HVM driver for IPF



Hi Alex,

Alex Williamson wrote:
> On Fri, 2006-08-25 at 17:44 +0900, DOI Tsunehisa wrote:
>   
>>   Sorry, I didn't cleanup about indent.
>>
>>   I'll repost new xen-hyper.patch4.
>>     
>
>    Applied.  The other patches in the original set touch a lot of common
> files.  I think it would be preferable to further split these into ia64
> versus common code changes.  The changes to common files need to be sent
> to xen-devel, the others here.  Thanks,
>   
Thank you for your suggestion. I have splited these patches.

I'll send the ia64 part patches with this message.

Thanks,
-- Tsunehisa Doi

# HG changeset patch
# User Doi.Tsunehisa@xxxxxxxxxxxxxx
# Node ID 25fd8c0ddea218c3b8c09e3c996d2784bbe6c488
# Parent  3e0685ecfe644253d64ab12e83acd81845c4b37d
Fix comment of vmx_hypercall.c

Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@xxxxxxxxxxxxxx>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@xxxxxxxxxxxxxx>

diff -r 3e0685ecfe64 -r 25fd8c0ddea2 xen/arch/ia64/vmx/vmx_hypercall.c
--- a/xen/arch/ia64/vmx/vmx_hypercall.c Fri Aug 25 16:21:39 2006 -0600
+++ b/xen/arch/ia64/vmx/vmx_hypercall.c Sat Aug 26 13:30:46 2006 +0900
@@ -75,7 +75,7 @@ vmx_gnttab_setup_table(unsigned long fra
     o_grant_shared = (unsigned long)d->grant_table->shared;
     d->grant_table->shared = (struct grant_entry *)pgaddr;
 
-    /* Copy existing grant table shared into new page */
+    /* Copy existing grant table new page */
     if (o_grant_shared) {
         memcpy((void *)d->grant_table->shared,
                (void *)o_grant_shared, PAGE_SIZE * nr_frames);
# HG changeset patch
# User Doi.Tsunehisa@xxxxxxxxxxxxxx
# Node ID 153ba50864b7c11a61ecd1d0949858f94d935cb8
# Parent  25fd8c0ddea218c3b8c09e3c996d2784bbe6c488
Modify destroy code for PV-on-HVM on IPF

Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@xxxxxxxxxxxxxx>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@xxxxxxxxxxxxxx>

diff -r 25fd8c0ddea2 -r 153ba50864b7 xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c        Sat Aug 26 13:30:46 2006 +0900
+++ b/xen/arch/ia64/xen/domain.c        Sat Aug 26 13:33:16 2006 +0900
@@ -400,8 +400,16 @@ void arch_domain_destroy(struct domain *
 void arch_domain_destroy(struct domain *d)
 {
        BUG_ON(d->arch.mm.pgd != NULL);
-       if (d->shared_info != NULL)
-           free_xenheap_pages(d->shared_info, get_order_from_shift(XSI_SHIFT));
+       if (d->shared_info != NULL) {
+               /* If this domain is domVTi, the shared_info page may
+                * be replaced with domheap. Then the shared_info page
+                * frees in relinquish_mm().
+                */
+               if (IS_XEN_HEAP_FRAME(virt_to_page(d->shared_info))) {
+                       free_xenheap_pages(d->shared_info,
+                               get_order_from_shift(XSI_SHIFT));
+               }
+       }
        if (d->arch.shadow_bitmap != NULL)
                xfree(d->arch.shadow_bitmap);
 
# HG changeset patch
# User Doi.Tsunehisa@xxxxxxxxxxxxxx
# Node ID 9647400b50415a7ef26729016ca11c58e3e3c5a5
# Parent  153ba50864b7c11a61ecd1d0949858f94d935cb8
Modify linux code of IPF for PV-on-HVM on HPF

Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@xxxxxxxxxxxxxx>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@xxxxxxxxxxxxxx>

diff -r 153ba50864b7 -r 9647400b5041 
linux-2.6-xen-sparse/include/asm-ia64/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h Sat Aug 26 13:33:16 
2006 +0900
+++ b/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h Sat Aug 26 13:37:41 
2006 +0900
@@ -315,7 +315,9 @@ static inline void exit_idle(void) {}
 })
 
 #include <linux/err.h>
+#ifdef CONFIG_XEN
 #include <asm/xen/privop.h>
+#endif /* CONFIG_XEN */
 
 static inline unsigned long
 __HYPERVISOR_ioremap(unsigned long ioaddr, unsigned long size)
diff -r 153ba50864b7 -r 9647400b5041 
linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h        Sat Aug 26 
13:33:16 2006 +0900
+++ b/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h        Sat Aug 26 
13:37:41 2006 +0900
@@ -33,15 +33,9 @@
 #ifndef __HYPERVISOR_H__
 #define __HYPERVISOR_H__
 
-#ifndef CONFIG_XEN
-#define is_running_on_xen()                    (0)
-#define HYPERVISOR_ioremap(offset, size)       (offset)
-#else
 extern int running_on_xen;
 #define is_running_on_xen()                    (running_on_xen)
-#endif
 
-#ifdef CONFIG_XEN
 #include <linux/config.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
@@ -59,7 +53,11 @@ extern shared_info_t *HYPERVISOR_shared_
 extern shared_info_t *HYPERVISOR_shared_info;
 extern start_info_t *xen_start_info;
 
+#ifdef CONFIG_XEN_PRIVILEGED_GUEST
 #define is_initial_xendomain() (xen_start_info->flags & SIF_INITDOMAIN)
+#else
+#define is_initial_xendomain() 0
+#endif
 
 void force_evtchn_callback(void);
 
@@ -182,10 +180,19 @@ MULTI_update_va_mapping(
        mcl->result = 0;
 }
 
+static inline void
+MULTI_grant_table_op(multicall_entry_t *mcl, unsigned int cmd,
+                     void *uop, unsigned int count)
+{
+        mcl->op = __HYPERVISOR_grant_table_op;
+        mcl->args[0] = cmd;
+        mcl->args[1] = (unsigned long)uop;
+        mcl->args[2] = count;
+}
+
 // for debug
 asmlinkage int xprintk(const char *fmt, ...);
 #define xprintd(fmt, ...)      xprintk("%s:%d " fmt, __func__, __LINE__, \
                                        ##__VA_ARGS__)
-#endif /* CONFIG_XEN */
 
 #endif /* __HYPERVISOR_H__ */
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.