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

[Xen-changelog] Fixes for first step in getting domU back up (by Kevin Tian)



# HG changeset patch
# User djm@xxxxxxxxxxxxxxx
# Node ID aa81f4e44ca5e4eddb1b7a29f9a25ec46fa9d796
# Parent  7eac3edd0589e7077932f1bbc207c6e33d15d97b
Fixes for first step in getting domU back up (by Kevin Tian)

diff -r 7eac3edd0589 -r aa81f4e44ca5 
linux-2.6-xen-sparse/arch/ia64/xen/drivers/patches/privcmd.c.patch
--- a/linux-2.6-xen-sparse/arch/ia64/xen/drivers/patches/privcmd.c.patch        
Tue Oct 25 03:00:35 2005
+++ b/linux-2.6-xen-sparse/arch/ia64/xen/drivers/patches/privcmd.c.patch        
Mon Oct 31 23:27:38 2005
@@ -11,39 +11,43 @@
                                if ((rc = direct_remap_pfn_range(
                                        vma,
                                        msg[j].va&PAGE_MASK, 
-@@ -148,6 +151,7 @@
-       }
-       break;
+@@ -180,6 +183,15 @@
+               for (i = 0; i < m.num; i++, addr += PAGE_SIZE, p++) {
+                       if (get_user(mfn, p))
+                               return -EFAULT;
++#ifdef __ia64__
++                      ret = remap_pfn_range(vma,
++                                            addr&PAGE_MASK,
++                                            mfn,
++                                            1<<PAGE_SHIFT,
++                                            vma->vm_page_prot);
++                      if (ret < 0)
++                          goto batch_err;
++#else
  
-+#ifndef __ia64__
-       case IOCTL_PRIVCMD_MMAPBATCH: {
-               mmu_update_t u;
-               privcmd_mmapbatch_t m;
-@@ -206,7 +210,9 @@
-       }
+                       ret = create_lookup_pte_addr(vma->vm_mm, addr, &ptep);
+                       if (ret)
+@@ -190,6 +202,7 @@
+ 
+                       if (HYPERVISOR_mmu_update(&u, 1, NULL, m.dom) < 0)
+                               put_user(0xF0000000 | mfn, p);
++#endif
+               }
+ 
+               ret = 0;
+@@ -205,6 +218,7 @@
        break;
  #endif
-+#endif
  
 +#ifndef __ia64__
        case IOCTL_PRIVCMD_GET_MACH2PHYS_START_MFN: {
                unsigned long m2pv = (unsigned long)machine_to_phys_mapping;
                pgd_t *pgd = pgd_offset_k(m2pv);
-@@ -218,6 +224,7 @@
+@@ -216,6 +230,7 @@
                        -EFAULT: 0;
        }
        break;
 +#endif
  
-       case IOCTL_PRIVCMD_INITDOMAIN_STORE: {
-               extern int do_xenbus_probe(void*);
-@@ -241,6 +248,9 @@
- 
-               /* Initial connect. Setup channel and page. */
-               xen_start_info->store_evtchn = data;
-+#ifdef __ia64__
-+#define       pfn_to_mfn(x)   (x)
-+#endif
-               xen_start_info->store_mfn =
-                       pfn_to_mfn(virt_to_phys((void *)page) >>
-                                  PAGE_SHIFT);
+       default:
+               ret = -EINVAL;
diff -r 7eac3edd0589 -r aa81f4e44ca5 xen/arch/ia64/xen/hypercall.c
--- a/xen/arch/ia64/xen/hypercall.c     Tue Oct 25 03:00:35 2005
+++ b/xen/arch/ia64/xen/hypercall.c     Mon Oct 31 23:27:38 2005
@@ -187,6 +187,10 @@
                regs->r8 = do_console_io(regs->r14, regs->r15, regs->r16);
                break;
 
+           case __HYPERVISOR_xen_version:
+               regs->r8 = do_xen_version(regs->r14, regs->r15);
+               break;
+
            default:
                printf("unknown hypercall %x\n", regs->r2);
                regs->r8 = (unsigned long)-1;
diff -r 7eac3edd0589 -r aa81f4e44ca5 xen/arch/ia64/xen/xenmisc.c
--- a/xen/arch/ia64/xen/xenmisc.c       Tue Oct 25 03:00:35 2005
+++ b/xen/arch/ia64/xen/xenmisc.c       Mon Oct 31 23:27:38 2005
@@ -290,8 +290,8 @@
 
//prev->domain->domain_id,(long)prev&0xffffff,next->domain->domain_id,(long)next&0xffffff);
 //if (prev->domain->domain_id == 1 && next->domain->domain_id == 0) cs10foo();
 //if (prev->domain->domain_id == 0 && next->domain->domain_id == 1) cs01foo();
-printk("@@sw%d/%x %d->%d\n",smp_processor_id(), hard_smp_processor_id (),
-       prev->domain->domain_id,next->domain->domain_id);
+//printk("@@sw%d/%x %d->%d\n",smp_processor_id(), hard_smp_processor_id (),
+//       prev->domain->domain_id,next->domain->domain_id);
     if(VMX_DOMAIN(prev)){
        vtm_domain_out(prev);
     }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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