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

[Xen-changelog] Fix broken VTI due to previous multi-domain prep patch



ChangeSet 1.1709.1.5, 2005/06/14 11:39:23-06:00, djm@xxxxxxxxxxxxxxx

        Fix broken VTI due to previous multi-domain prep patch
        
        Signed-off-by   Kevin Tian <Kevin.tian@xxxxxxxxx>



 domain.c      |   24 ++++++------------------
 vmx_process.c |    1 -
 2 files changed, 6 insertions(+), 19 deletions(-)


diff -Nru a/xen/arch/ia64/domain.c b/xen/arch/ia64/domain.c
--- a/xen/arch/ia64/domain.c    2005-06-19 14:03:59 -04:00
+++ b/xen/arch/ia64/domain.c    2005-06-19 14:03:59 -04:00
@@ -230,19 +230,6 @@
        d->xen_vastart = 0xf000000000000000;
        d->xen_vaend = 0xf300000000000000;
        d->arch.breakimm = 0x1000;
-
-       d->arch.mm = xmalloc(struct mm_struct);
-       if (unlikely(!d->arch.mm)) {
-               printk("Can't allocate mm_struct for domain %d\n",d->domain_id);
-               return -ENOMEM;
-       }
-       memset(d->arch.mm, 0, sizeof(*d->arch.mm));
-       d->arch.mm->pgd = pgd_alloc(d->arch.mm);
-       if (unlikely(!d->arch.mm->pgd)) {
-               printk("Can't allocate pgd for domain %d\n",d->domain_id);
-               return -ENOMEM;
-       }
-}
 }
 #else // CONFIG_VTI
 void arch_do_createdomain(struct vcpu *v)
@@ -366,21 +353,22 @@
        regs->cr_iip = start_pc;
        regs->cr_ifs = 0; /* why? - matthewc */
        regs->ar_fpsr = FPSR_DEFAULT;
-       if (VMX_DOMAIN(ed)) {
+       if (VMX_DOMAIN(v)) {
                vmx_init_all_rr(v);
        } else
                init_all_rr(v);
-       /* should this be regs->r28 in the non-VMX case? - matthewc */
-       VMX_VPD(v,vgr[12]) = dom_fw_setup(d,saved_command_line,256L);  //FIXME
+
        if (VMX_DOMAIN(v)) {
+               VMX_VPD(v,vgr[12]) = dom_fw_setup(d,saved_command_line,256L);
                /* Virtual processor context setup */
                VMX_VPD(v, vpsr) = IA64_PSR_BN;
                VPD_CR(v, dcr) = 0;
        } else {
+               regs->r28 = dom_fw_setup(d,saved_command_line,256L);
                v->vcpu_info->arch.banknum = 1;
-               /* v->vcpu_info->arch.metaphysical_mode = 1;  why not? - 
matthewc */
+               v->vcpu_info->arch.metaphysical_mode = 1;
+               d->shared_info->arch.flags = (d == dom0) ? 
(SIF_INITDOMAIN|SIF_PRIVILEGED|SIF_BLK_BE_DOMAIN|SIF_NET_BE_DOMAIN|SIF_USB_BE_DOMAIN)
 : 0;
        }
-       /* d->shared_info->arch.flags = (d == dom0) ? 
(SIF_INITDOMAIN|SIF_PRIVILEGED|SIF_BLK_BE_DOMAIN|SIF_NET_BE_DOMAIN|SIF_USB_BE_DOMAIN)
 : 0;  shared_info not set yet? */
 }
 #else // CONFIG_VTI
 
diff -Nru a/xen/arch/ia64/vmx_process.c b/xen/arch/ia64/vmx_process.c
--- a/xen/arch/ia64/vmx_process.c       2005-06-19 14:03:59 -04:00
+++ b/xen/arch/ia64/vmx_process.c       2005-06-19 14:03:59 -04:00
@@ -116,7 +116,6 @@
                    case FW_HYPERCALL_EFI_GET_TIME:
                        {
                        unsigned long *tv, *tc;
-                       fooefi();
                        vmx_vcpu_get_gr(v, 32, &tv);
                        vmx_vcpu_get_gr(v, 33, &tc);
                        printf("efi_get_time(%p,%p) called...",tv,tc);

_______________________________________________
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®.