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-ppc-devel

[XenPPC] [pushed] [ppc] track hid4 on exceptions to detect a possible RM

To: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Subject: [XenPPC] [pushed] [ppc] track hid4 on exceptions to detect a possible RM_CI "leak"
From: jimix@xxxxxxxxxxxxxx
Date: Fri, 19 May 2006 07:05:08 -0400
Delivery-date: Fri, 19 May 2006 04:03:07 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx
changeset:   10289:3511247bfd5cb2a5f7c9f51c756713270061ca42
user:        jimix@xxxxxxxxxxxxxxxxxxxxx
date:        Thu May 18 13:25:18 2006 -0400
files:       xen/arch/ppc/exceptions.c xen/arch/ppc/ppc64/asm-offsets.c 
xen/arch/ppc/ppc64/exceptions.S xen/include/public/arch-ppc64.h
description:
[ppc] track hid4 on exceptions to detect a possible RM_CI "leak"


diff -r 8042b9eefdc5bd44cd071676dbbd3b5106f11f94 -r 
3511247bfd5cb2a5f7c9f51c756713270061ca42 xen/arch/ppc/exceptions.c
--- a/xen/arch/ppc/exceptions.c Thu May 18 13:17:37 2006 -0400
+++ b/xen/arch/ppc/exceptions.c Thu May 18 13:25:18 2006 -0400
@@ -95,6 +95,7 @@ void program_exception(struct cpu_user_r
 #else /* CRASH_DEBUG */
     show_registers(regs);
     printk("dar 0x%016lx, dsisr 0x%08x\n", mfdar(), mfdsisr());
+    printk("hid4 0x%016lx\n", regs->hid4);
     panic("%s: 0x%lx\n", __func__, cookie);
 #endif /* CRASH_DEBUG */
 }
diff -r 8042b9eefdc5bd44cd071676dbbd3b5106f11f94 -r 
3511247bfd5cb2a5f7c9f51c756713270061ca42 xen/arch/ppc/ppc64/asm-offsets.c
--- a/xen/arch/ppc/ppc64/asm-offsets.c  Thu May 18 13:17:37 2006 -0400
+++ b/xen/arch/ppc/ppc64/asm-offsets.c  Thu May 18 13:25:18 2006 -0400
@@ -44,6 +44,7 @@ void __dummy__(void)
     OFFSET(UREGS_lr, struct cpu_user_regs, lr);
     OFFSET(UREGS_ctr, struct cpu_user_regs, ctr);
     OFFSET(UREGS_xer, struct cpu_user_regs, xer);
+    OFFSET(UREGS_hid4, struct cpu_user_regs, hid4);
     OFFSET(UREGS_cr, struct cpu_user_regs, cr);
     OFFSET(UREGS_fpscr, struct cpu_user_regs, fpscr);
     DEFINE(UREGS_sizeof, sizeof(struct cpu_user_regs));
diff -r 8042b9eefdc5bd44cd071676dbbd3b5106f11f94 -r 
3511247bfd5cb2a5f7c9f51c756713270061ca42 xen/arch/ppc/ppc64/exceptions.S
--- a/xen/arch/ppc/ppc64/exceptions.S   Thu May 18 13:17:37 2006 -0400
+++ b/xen/arch/ppc/ppc64/exceptions.S   Thu May 18 13:25:18 2006 -0400
@@ -333,6 +333,9 @@ exception_vectors_end:
  * a better way, but this works for now. */
 ex_program_continued:
     SAVE_GPRS r14, r31, r1              /* save all the non-volatiles */
+    /* save hid4 for debug */
+    mfspr r14, SPRN_HID4
+    std r14, UREGS_hid4(r1)
     mr r14, r0
     EXCEPTION_SAVE_STATE r1
     mr r4, r14
diff -r 8042b9eefdc5bd44cd071676dbbd3b5106f11f94 -r 
3511247bfd5cb2a5f7c9f51c756713270061ca42 xen/include/public/arch-ppc64.h
--- a/xen/include/public/arch-ppc64.h   Thu May 18 13:17:37 2006 -0400
+++ b/xen/include/public/arch-ppc64.h   Thu May 18 13:25:18 2006 -0400
@@ -77,6 +77,7 @@ typedef struct cpu_user_regs
     uint64_t msr;
     uint64_t fpscr;
     uint64_t xer;
+    uint64_t hid4;
     uint32_t cr;
     uint32_t entry_vector;
 } cpu_user_regs_t;



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

<Prev in Thread] Current Thread [Next in Thread>
  • [XenPPC] [pushed] [ppc] track hid4 on exceptions to detect a possible RM_CI "leak", jimix <=