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

[Xen-changelog] Fixes so xen+xenlinux boots on ski



# HG changeset patch
# User djm@xxxxxxxxxxxxxxx
# Node ID 970f74591ffa01d76d5703159e9e52155fecb594
# Parent  d0a1154755c95ffdb4455a81a72dc746a845ca97

Fixes so xen+xenlinux boots on ski

diff -r d0a1154755c9 -r 970f74591ffa xen/arch/ia64/hyperprivop.S
--- a/xen/arch/ia64/hyperprivop.S       Sun Jul 10 15:53:17 2005
+++ b/xen/arch/ia64/hyperprivop.S       Mon Jul 11 15:20:39 2005
@@ -288,9 +288,10 @@
        cmp.ne p6,p0=r28,r30
 (p6)   br.cond.spnt.few rp;;
        movl r20=(PERCPU_ADDR)+IA64_CPUINFO_ITM_NEXT_OFFSET;;
-       ld8 r21=[r20];;
+       ld8 r26=[r20];;
        mov r27=ar.itc;;
-       cmp.ltu p6,p0=r21,r27
+       adds r27=200,r27        // safety margin
+       cmp.ltu p6,p0=r26,r27
 (p6)   br.cond.spnt.few rp;;
        mov r17=cr.ipsr;;
        // slow path if: ipsr.be==1, ipsr.pp==1
@@ -300,14 +301,16 @@
        extr.u r21=r17,IA64_PSR_PP_BIT,1 ;;
        cmp.ne p6,p0=r21,r0
 (p6)   br.cond.spnt.few rp;;
+       // definitely have a domain tick
+       mov cr.eoi=r0;;
+       mov rp=r29;;
+       mov cr.itm=r26;;        // ensure next tick
 #ifdef FAST_REFLECT_CNT
        movl r20=fast_reflect_count+((0x3000>>8)*8);;
        ld8 r21=[r20];;
        adds r21=1,r21;;
        st8 [r20]=r21;;
 #endif
-       mov cr.eoi=r0;;
-       mov rp=r29;;
        // vcpu_pend_timer(current)
        movl r18=XSI_PSR_IC;;
        adds r20=XSI_ITV_OFS-XSI_PSR_IC_OFS,r18 ;;
diff -r d0a1154755c9 -r 970f74591ffa xen/arch/ia64/vhpt.c
--- a/xen/arch/ia64/vhpt.c      Sun Jul 10 15:53:17 2005
+++ b/xen/arch/ia64/vhpt.c      Mon Jul 11 15:20:39 2005
@@ -90,9 +90,10 @@
 void vhpt_multiple_insert(unsigned long vaddr, unsigned long pte, unsigned 
long logps)
 {
        unsigned long mask = (1L << logps) - 1;
+       extern long running_on_sim;
        int i;
 
-       if (logps-PAGE_SHIFT > 10) {
+       if (logps-PAGE_SHIFT > 10 && !running_on_sim) {
                // if this happens, we may want to revisit this algorithm
                printf("vhpt_multiple_insert:logps-PAGE_SHIFT>10,spinning..\n");
                while(1);

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