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] Various tweaks for paravirtualization and debugging

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Various tweaks for paravirtualization and debugging
From: BitKeeper Bot <riel@xxxxxxxxxxx>
Date: Tue, 26 Apr 2005 21:08:52 +0000
Delivery-date: Tue, 03 May 2005 08:03:43 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: Xen Development List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
ChangeSet 1.1327.1.6, 2005/04/26 15:08:52-06:00, djm@xxxxxxxxxxxxxxx

        Various tweaks for paravirtualization and debugging



 arch/ia64/hypercall.c     |    9 ++++++++-
 arch/ia64/vhpt.c          |   13 +++++++++++++
 arch/ia64/xenasm.S        |    1 -
 include/asm-ia64/config.h |    2 ++
 4 files changed, 23 insertions(+), 2 deletions(-)


diff -Nru a/xen/arch/ia64/hypercall.c b/xen/arch/ia64/hypercall.c
--- a/xen/arch/ia64/hypercall.c 2005-05-03 04:04:09 -04:00
+++ b/xen/arch/ia64/hypercall.c 2005-05-03 04:04:09 -04:00
@@ -32,6 +32,14 @@
            case FW_HYPERCALL_PAL_CALL:
                //printf("*** PAL hypercall: index=%d\n",regs->r28);
                //FIXME: This should call a C routine
+#if 1
+               // This is very conservative, but avoids a possible
+               // (and deadly) freeze in paravirtualized domains due
+               // to a yet-to-be-found bug where pending_interruption
+               // is zero when it shouldn't be. Since PAL is called
+               // in the idle loop, this should resolve it
+               ed->vcpu_info->arch.pending_interruption = 1;
+#endif
                x = pal_emulator_static(regs->r28);
                regs->r8 = x.status; regs->r9 = x.v0;
                regs->r10 = x.v1; regs->r11 = x.v2;
@@ -61,7 +69,6 @@
 #endif
                break;
            case FW_HYPERCALL_EFI_GET_TIME:
-               fooefi();
                tv = vcpu_get_gr(ed,32);
                tc = vcpu_get_gr(ed,33);
                //printf("efi_get_time(%p,%p) called...",tv,tc);
diff -Nru a/xen/arch/ia64/vhpt.c b/xen/arch/ia64/vhpt.c
--- a/xen/arch/ia64/vhpt.c      2005-05-03 04:04:09 -04:00
+++ b/xen/arch/ia64/vhpt.c      2005-05-03 04:04:09 -04:00
@@ -21,7 +21,20 @@
 {
        struct vhpt_lf_entry *v = (void *)VHPT_ADDR;
        int i, cnt = 0;
+#if 0
+static int firsttime = 2;
 
+if (firsttime) firsttime--;
+else {
+printf("vhpt_flush: *********************************************\n");
+printf("vhpt_flush: *********************************************\n");
+printf("vhpt_flush: *********************************************\n");
+printf("vhpt_flush: flushing vhpt (seems to crash at rid wrap?)...\n");
+printf("vhpt_flush: *********************************************\n");
+printf("vhpt_flush: *********************************************\n");
+printf("vhpt_flush: *********************************************\n");
+}
+#endif
        for (i = 0; i < VHPT_NUM_ENTRIES; i++, v++) {
                v->itir = 0;
                v->CChain = 0;
diff -Nru a/xen/arch/ia64/xenasm.S b/xen/arch/ia64/xenasm.S
--- a/xen/arch/ia64/xenasm.S    2005-05-03 04:04:09 -04:00
+++ b/xen/arch/ia64/xenasm.S    2005-05-03 04:04:09 -04:00
@@ -190,7 +190,6 @@
 
        movl r22=SHAREDINFO_ADDR
        ;;
-       movl r25=PAGE_SHARED
        movl r25=__pgprot(__DIRTY_BITS | _PAGE_PL_2 | _PAGE_AR_RW)
        ;;
        mov r21=loc5                    // saved sharedinfo physical address
diff -Nru a/xen/include/asm-ia64/config.h b/xen/include/asm-ia64/config.h
--- a/xen/include/asm-ia64/config.h     2005-05-03 04:04:09 -04:00
+++ b/xen/include/asm-ia64/config.h     2005-05-03 04:04:09 -04:00
@@ -251,6 +251,8 @@
 
 #undef CONFIG_X86
 
+#define CONFIG_MCKINLEY
+
 //#define CONFIG_SMP 1
 //#define CONFIG_NR_CPUS 2
 //leave SMP for a later time

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Various tweaks for paravirtualization and debugging, BitKeeper Bot <=