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

[Xen-changelog] vmx_vcpu.h, vmx_phy_mode.c, mkbuildtree, domain.c, Makefile:



ChangeSet 1.1472.2.6, 2005/05/22 22:33:43-07:00, adsharma@xxxxxxxxxxxxxxxxxxxxxx

        vmx_vcpu.h, vmx_phy_mode.c, mkbuildtree, domain.c, Makefile:
          Fix VT-i build
        
        Signed-off-by: Kevin Tian <kevin.tian@xxxxxxxxx>
        Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>



 arch/ia64/Makefile          |   18 +++++++++++++++---
 arch/ia64/domain.c          |   20 ++++++++++----------
 arch/ia64/tools/mkbuildtree |   10 +++++-----
 arch/ia64/vmx_phy_mode.c    |    4 ++--
 include/asm-ia64/vmx_vcpu.h |    4 ++--
 5 files changed, 34 insertions(+), 22 deletions(-)


diff -Nru a/xen/arch/ia64/Makefile b/xen/arch/ia64/Makefile
--- a/xen/arch/ia64/Makefile    2005-05-23 12:04:28 -04:00
+++ b/xen/arch/ia64/Makefile    2005-05-23 12:04:28 -04:00
@@ -30,9 +30,22 @@
                -Map map.out head.o $(ALL_OBJS) -o $(TARGET)-syms
        $(OBJCOPY) -R .note -R .comment -S $(TARGET)-syms $(TARGET)
 
-asm-offsets.s: asm-offsets.c
+asm-offsets.s: asm-offsets.c $(BASEDIR)/include/asm-ia64/.offsets.h.stamp
        $(CC) $(CFLAGS) -S -o $@ $<
 
+$(BASEDIR)/include/asm-ia64/.offsets.h.stamp:
+# Need such symbol link to make linux headers available
+       [ -e $(BASEDIR)/include/linux ] \
+        || ln -s $(BASEDIR)/include/xen $(BASEDIR)/include/linux
+       [ -e $(BASEDIR)/include/asm-ia64/xen ] \
+        || ln -s $(BASEDIR)/include/asm-ia64/linux 
$(BASEDIR)/include/asm-ia64/xen
+# Solve circular reference on asm-offsets.h
+       [ -f $(BASEDIR)/include/asm-ia64/asm-offsets.h ] \
+        || echo "#define IA64_TASK_SIZE 0" > 
$(BASEDIR)/include/asm-ia64/asm-offsets.h
+#Bad hack. Force asm-offsets.h out-of-date
+        sleep 1
+        touch $@
+
 # I'm sure a Makefile wizard would know a better way to do this
 xen.lds.s: xen.lds.S
        $(CC) -E $(CPPFLAGS) -P -DXEN -D__ASSEMBLY__ \
@@ -42,9 +55,8 @@
        $(MAKE) -C lib && cp lib/ia64lib.o .
 
 clean:
-       rm -f *.o *~ core  xen.lds.s 
$(BASEDIR)/include/asm-ia64/.offsets.h.stamp
+       rm -f *.o *~ core  xen.lds.s 
$(BASEDIR)/include/asm-ia64/.offsets.h.stamp asm-offsets.s
        rm -f lib/*.o
-       $(MAKE) -C lib clean
 
 # setup.o contains bits of compile.h so it must be blown away
 delete-unfresh-files:
diff -Nru a/xen/arch/ia64/domain.c b/xen/arch/ia64/domain.c
--- a/xen/arch/ia64/domain.c    2005-05-23 12:04:28 -04:00
+++ b/xen/arch/ia64/domain.c    2005-05-23 12:04:28 -04:00
@@ -40,6 +40,7 @@
 #ifdef CONFIG_VTI
 #include <asm/vmx.h>
 #include <asm/vmx_vcpu.h>
+#include <asm/pal.h>
 #endif // CONFIG_VTI
 
 #define CONFIG_DOMAIN0_CONTIGUOUS
@@ -792,13 +793,15 @@
     unsigned long pkern_start;
     unsigned long pkern_entry;
     unsigned long pkern_end;
+    unsigned long ret;
+    unsigned long progress = 0;
 
 //printf("construct_dom0: starting\n");
     /* Sanity! */
 #ifndef CLONE_DOMAIN0
     if ( d != dom0 ) 
         BUG();
-    if ( test_bit(DF_CONSTRUCTED, &d->flags) ) 
+    if ( test_bit(_DOMF_constructed, &d->domain_flags) ) 
         BUG();
 #endif
 
@@ -888,14 +891,11 @@
     /* Copy the initial ramdisk. */
 
     /* Sync d/i cache conservatively */
-    {
-        unsigned long ret;
-        unsigned long progress;
-        ret = ia64_pal_cache_flush(4, 0, &progress, NULL);
-        if (ret != PAL_STATUS_SUCCESS)
-                panic("PAL CACHE FLUSH failed for dom0.\n");
-        printk("Sync i/d cache for dom0 image SUCC\n");
-    }
+    ret = ia64_pal_cache_flush(4, 0, &progress, NULL);
+    if (ret != PAL_STATUS_SUCCESS)
+            panic("PAL CACHE FLUSH failed for dom0.\n");
+    printk("Sync i/d cache for dom0 image SUCC\n");
+
     /* Physical mode emulation initialization, including
      * emulation ID allcation and related memory request
      */
@@ -919,8 +919,8 @@
     /* vpd is ready now */
     vlsapic_reset(ed);
     vtm_init(ed);
-    set_bit(DF_CONSTRUCTED, &d->flags);
 
+    set_bit(_DOMF_constructed, &d->domain_flags);
     new_thread(ed, pkern_entry, 0, 0);
 
     // FIXME: Hack for keyboard input
diff -Nru a/xen/arch/ia64/tools/mkbuildtree b/xen/arch/ia64/tools/mkbuildtree
--- a/xen/arch/ia64/tools/mkbuildtree   2005-05-23 12:04:28 -04:00
+++ b/xen/arch/ia64/tools/mkbuildtree   2005-05-23 12:04:28 -04:00
@@ -46,13 +46,13 @@
 mkdir include/asm-ia64/linux
 mkdir include/asm-ia64/linux/byteorder
 # use "gcc -Iinclude/asm-ia64" to find these linux includes
-ln -s $XEN/include/xen $XEN/include/linux
-ln -s $XEN/include/asm-ia64/linux $XEN/include/asm-ia64/xen 
+#ln -s $XEN/include/xen $XEN/include/linux
+#ln -s $XEN/include/asm-ia64/linux $XEN/include/asm-ia64/xen 
 
 # prepare for building asm-offsets (circular dependency)
-echo '#define IA64_TASK_SIZE 0' > include/asm-ia64/asm-offsets.h
-sleep 2
-touch arch/ia64/asm-offsets.c
+#echo '#define IA64_TASK_SIZE 0' > include/asm-ia64/asm-offsets.h
+#sleep 2
+#touch arch/ia64/asm-offsets.c
 
 # patches to xen/common files
 #xen_patch common/domain.c domain.c
diff -Nru a/xen/arch/ia64/vmx_phy_mode.c b/xen/arch/ia64/vmx_phy_mode.c
--- a/xen/arch/ia64/vmx_phy_mode.c      2005-05-23 12:04:28 -04:00
+++ b/xen/arch/ia64/vmx_phy_mode.c      2005-05-23 12:04:28 -04:00
@@ -104,7 +104,7 @@
     UINT64 psr;
     struct domain * d = vcpu->domain;
 
-    vcpu->domain->arch.emul_phy_rr0.rid = XEN_RR7_RID+((d->id)<<3);
+    vcpu->domain->arch.emul_phy_rr0.rid = XEN_RR7_RID+((d->domain_id)<<3);
     /* FIXME */
 #if 0
     vcpu->domain->arch.emul_phy_rr0.ps = 28;  /* set page size to 256M */
@@ -112,7 +112,7 @@
        vcpu->domain->arch.emul_phy_rr0.ps = EMUL_PHY_PAGE_SHIFT;  /* set page 
size to 4k */
     vcpu->domain->arch.emul_phy_rr0.ve = 1; /* enable VHPT walker on this 
region */
 
-    vcpu->domain->arch.emul_phy_rr4.rid = XEN_RR7_RID + ((d->id)<<3) + 4;
+    vcpu->domain->arch.emul_phy_rr4.rid = XEN_RR7_RID + ((d->domain_id)<<3) + 
4;
     vcpu->domain->arch.emul_phy_rr4.ps = EMUL_PHY_PAGE_SHIFT;  /* set page 
size to 4k */
     vcpu->domain->arch.emul_phy_rr4.ve = 1; /* enable VHPT walker on this 
region */
 
diff -Nru a/xen/include/asm-ia64/vmx_vcpu.h b/xen/include/asm-ia64/vmx_vcpu.h
--- a/xen/include/asm-ia64/vmx_vcpu.h   2005-05-23 12:04:28 -04:00
+++ b/xen/include/asm-ia64/vmx_vcpu.h   2005-05-23 12:04:28 -04:00
@@ -54,7 +54,7 @@
 #define VMM_RR_SHIFT    20
 #define VMM_RR_MASK     ((1UL<<VMM_RR_SHIFT)-1)
 #define VRID_2_MRID(vcpu,rid)  ((rid) & VMM_RR_MASK) | \
-                ((vcpu->domain->id) << VMM_RR_SHIFT)
+                ((vcpu->domain->domain_id) << VMM_RR_SHIFT)
 extern u64 indirect_reg_igfld_MASK ( int type, int index, u64 value);
 extern u64 cr_igfld_mask (int index, u64 value);
 extern int check_indirect_reg_rsv_fields ( int type, int index, u64 value );
@@ -590,7 +590,7 @@
     ia64_rr rr;
     u64          rid;
     rr.rrval=val;
-    rid=(((u64)vcpu->domain->id)<<DOMAIN_RID_SHIFT) + rr.rid;
+    rid=(((u64)vcpu->domain->domain_id)<<DOMAIN_RID_SHIFT) + rr.rid;
     rr.rid = redistribute_rid(rid);
     rr.ve=1;
     return rr.rrval;

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