WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Fixes so xen+xenlinux boots on ski, Xen patchbot -unstable <=