[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |