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

[Xen-changelog] [IA64] cleanup warning in xen/ia64 (arch/ia64/linux-xen)



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID bd9cb8dc97b65b6da4b9f3d4919b273c0c2bf275
# Parent  5e751dddf4d0f5b1ef8e7a008de2e09284f7c606
[IA64] cleanup warning in xen/ia64 (arch/ia64/linux-xen)

These patches fix many issue (ex. panic dom0, oops domU/dom0...).
we will fix compile warnnings one step at a time. 

Signed-off-by: Tsunehisa Doi <doi.tsunehisa@xxxxxxxxxxxxxx>
Signed-off-by: Kouya SHIMURA <kouya@xxxxxxxxxxxxxx>
Signed-off-by: Masaki Kanno <kanno.masaki@xxxxxxxxxxxxxx>
Signed-off-by: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>

diff -r 5e751dddf4d0 -r bd9cb8dc97b6 xen/arch/ia64/linux-xen/minstate.h
--- a/xen/arch/ia64/linux-xen/minstate.h        Tue Feb 28 17:24:03 2006
+++ b/xen/arch/ia64/linux-xen/minstate.h        Tue Feb 28 17:26:43 2006
@@ -175,7 +175,7 @@
        ;;                                                                      
                \
 .mem.offset 0,0; st8.spill [r16]=r13,16;                                       
                \
 .mem.offset 8,0; st8.spill [r17]=r21,16;       /* save ar.fpsr */              
                \
-       /* XEN mov r13=IA64_KR(CURRENT);        /* establish `current' */       
                        \
+       /* XEN mov r13=IA64_KR(CURRENT);*/      /* establish `current' */       
                        \
        MINSTATE_GET_CURRENT(r13);              /* XEN establish `current' */   
                        \
        ;;                                                                      
                \
 .mem.offset 0,0; st8.spill [r16]=r15,16;                                       
                \
diff -r 5e751dddf4d0 -r bd9cb8dc97b6 xen/arch/ia64/linux-xen/setup.c
--- a/xen/arch/ia64/linux-xen/setup.c   Tue Feb 28 17:24:03 2006
+++ b/xen/arch/ia64/linux-xen/setup.c   Tue Feb 28 17:26:43 2006
@@ -94,6 +94,10 @@
 EXPORT_SYMBOL(io_space);
 unsigned int num_io_spaces;
 
+#ifdef XEN
+extern void early_cmdline_parse(char **);
+#endif
+
 /*
  * "flush_icache_range()" needs to know what processor dependent stride size 
to use
  * when it makes i-cache(s) coherent with d-caches.
@@ -500,6 +504,7 @@
        paging_init();
 }
 
+#ifndef XEN
 /*
  * Display cpu info for all cpu's.
  */
@@ -611,14 +616,13 @@
 {
 }
 
-#ifndef XEN
 struct seq_operations cpuinfo_op = {
        .start =        c_start,
        .next =         c_next,
        .stop =         c_stop,
        .show =         show_cpuinfo
 };
-#endif
+#endif /* XEN */
 
 void
 identify_cpu (struct cpuinfo_ia64 *c)
diff -r 5e751dddf4d0 -r bd9cb8dc97b6 xen/arch/ia64/linux-xen/unaligned.c
--- a/xen/arch/ia64/linux-xen/unaligned.c       Tue Feb 28 17:24:03 2006
+++ b/xen/arch/ia64/linux-xen/unaligned.c       Tue Feb 28 17:26:43 2006
@@ -216,6 +216,7 @@
        RPT(r28), RPT(r29), RPT(r30), RPT(r31)
 };
 
+#ifndef XEN
 static u16 fr_info[32]={
        0,                      /* constant : WE SHOULD NEVER GET THIS */
        0,                      /* constant : WE SHOULD NEVER GET THIS */
@@ -285,6 +286,7 @@
        }
 #      undef F
 }
+#endif /* XEN */
 
 static inline unsigned long
 rotate_reg (unsigned long sor, unsigned long rrb, unsigned long reg)
@@ -299,12 +301,11 @@
 void
 set_rse_reg (struct pt_regs *regs, unsigned long r1, unsigned long val, 
unsigned long nat)
 {
-       struct switch_stack *sw = (struct switch_stack *) regs - 1;
-       unsigned long *bsp, *bspstore, *addr, *rnat_addr, *ubs_end;
+       unsigned long *bsp, *bspstore, *addr, *rnat_addr;
        unsigned long *kbs = (void *) current + IA64_RBS_OFFSET;
-       unsigned long rnats, nat_mask;
+       unsigned long nat_mask;
     unsigned long old_rsc,new_rsc;
-       unsigned long on_kbs,rnat;
+       unsigned long rnat;
        long sof = (regs->cr_ifs) & 0x7f;
        long sor = 8 * ((regs->cr_ifs >> 14) & 0xf);
        long rrb_gr = (regs->cr_ifs >> 18) & 0x7f;
@@ -323,7 +324,7 @@
     new_rsc=old_rsc&(~0x3);
     ia64_set_rsc(new_rsc);
 
-    bspstore = ia64_get_bspstore();
+    bspstore = (unsigned long*)ia64_get_bspstore();
     bsp =kbs + (regs->loadrs >> 19);//16+3
 
        addr = ia64_rse_skip_regs(bsp, -sof + ridx);
@@ -335,7 +336,7 @@
         ia64_flushrs ();
         ia64_mf ();
                *addr = val;
-        bspstore = ia64_get_bspstore();
+        bspstore = (unsigned long*)ia64_get_bspstore();
        rnat = ia64_get_rnat ();
         if(bspstore < rnat_addr){
             rnat=rnat&(~nat_mask);
@@ -362,13 +363,11 @@
 
 
 static void
-get_rse_reg (struct pt_regs *regs, unsigned long r1, unsigned long *val, 
unsigned long *nat)
-{
-    struct switch_stack *sw = (struct switch_stack *) regs - 1;
-    unsigned long *bsp, *addr, *rnat_addr, *ubs_end, *bspstore;
+get_rse_reg (struct pt_regs *regs, unsigned long r1, unsigned long *val, 
int*nat)
+{
+    unsigned long *bsp, *addr, *rnat_addr, *bspstore;
     unsigned long *kbs = (void *) current + IA64_RBS_OFFSET;
-    unsigned long rnats, nat_mask;
-    unsigned long on_kbs;
+    unsigned long nat_mask;
     unsigned long old_rsc, new_rsc;
     long sof = (regs->cr_ifs) & 0x7f;
     long sor = 8 * ((regs->cr_ifs >> 14) & 0xf);
@@ -388,7 +387,7 @@
     new_rsc=old_rsc&(~(0x3));
     ia64_set_rsc(new_rsc);
 
-    bspstore = ia64_get_bspstore();
+    bspstore = (unsigned long*)ia64_get_bspstore();
     bsp =kbs + (regs->loadrs >> 19); //16+3;
 
     addr = ia64_rse_skip_regs(bsp, -sof + ridx);
@@ -399,14 +398,14 @@
 
         ia64_flushrs ();
         ia64_mf ();
-        bspstore = ia64_get_bspstore();
+        bspstore = (unsigned long*)ia64_get_bspstore();
     }
     *val=*addr;
     if(nat){
         if(bspstore < rnat_addr){
-            *nat=!!(ia64_get_rnat()&nat_mask);
+            *nat=(int)!!(ia64_get_rnat()&nat_mask);
         }else{
-            *nat = !!((*rnat_addr)&nat_mask);
+            *nat = (int)!!((*rnat_addr)&nat_mask);
         }
         ia64_set_rsc(old_rsc);
     }
@@ -634,6 +633,7 @@
        return rotate_reg(96, rrb_fr, (regnum - IA64_FIRST_ROTATING_FR));
 }
 
+#ifndef XEN
 static void
 setfpreg (unsigned long regnum, struct ia64_fpreg *fpval, struct pt_regs *regs)
 {
@@ -682,6 +682,7 @@
                regs->cr_ipsr |= IA64_PSR_MFL;
        }
 }
+#endif /* XEN */
 
 /*
  * Those 2 inline functions generate the spilled versions of the constant 
floating point
@@ -699,6 +700,7 @@
        ia64_stf_spill(final, 1);
 }
 
+#ifndef XEN
 static void
 getfpreg (unsigned long regnum, struct ia64_fpreg *fpval, struct pt_regs *regs)
 {
@@ -748,6 +750,7 @@
                }
        }
 }
+#endif /* XEN */
 
 
 #ifdef XEN
@@ -803,6 +806,7 @@
                *nat  = (*unat >> (addr >> 3 & 0x3f)) & 0x1UL;
 }
 
+#ifndef XEN
 static void
 emulate_load_updates (update_t type, load_store_t ld, struct pt_regs *regs, 
unsigned long ifa)
 {
@@ -1078,6 +1082,7 @@
 
        return 0;
 }
+#endif /* XEN */
 
 /*
  * floating point operations sizes in bytes
@@ -1153,6 +1158,7 @@
        ia64_stfd(final, 6);
 }
 
+#ifndef XEN
 static int
 emulate_load_floatpair (unsigned long ifa, load_store_t ld, struct pt_regs 
*regs)
 {
@@ -1437,6 +1443,7 @@
        return 0;
 
 }
+#endif /* XEN */
 
 void
 ia64_handle_unaligned (unsigned long ifa, struct pt_regs *regs)
diff -r 5e751dddf4d0 -r bd9cb8dc97b6 xen/arch/ia64/linux-xen/unwind.c
--- a/xen/arch/ia64/linux-xen/unwind.c  Tue Feb 28 17:24:03 2006
+++ b/xen/arch/ia64/linux-xen/unwind.c  Tue Feb 28 17:26:43 2006
@@ -484,7 +484,8 @@
        } else if (regnum <= 15) {
                if (regnum <= 11) {
                        pt = get_scratch_regs(info);
-                       addr = &pt->f6  + (regnum - 6);
+                       //XXX struct ia64_fpreg and struct pt_fpreg are same.
+                       addr = (struct ia64_fpreg*)(&pt->f6  + (regnum - 6));
                }
                else
                        addr = &info->sw->f12 + (regnum - 12);

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