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] [xen-unstable] [IA64] Guest PAL_INIT support for IPI

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Guest PAL_INIT support for IPI
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 15 Nov 2006 00:40:36 +0000
Delivery-date: Tue, 14 Nov 2006 16:42:15 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 529b3f3fb12790dd22d252d504585a642e09fb01
# Parent  dbfd94442e46ea151bc3e129838a4b1273ddf0c0
[IA64] Guest PAL_INIT support for IPI

Signed-off-by: Zhang Xin <xing.z.zhang@xxxxxxxxx>
---
 xen/arch/ia64/vmx/mmio.c |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff -r dbfd94442e46 -r 529b3f3fb127 xen/arch/ia64/vmx/mmio.c
--- a/xen/arch/ia64/vmx/mmio.c  Fri Nov 10 12:55:52 2006 -0700
+++ b/xen/arch/ia64/vmx/mmio.c  Fri Nov 10 13:01:23 2006 -0700
@@ -380,6 +380,24 @@ memread_p(VCPU *vcpu, u64 *src, u64 *des
 }
 */
 
+/*
+ * To inject INIT to guest, we must set the PAL_INIT entry 
+ * and set psr to switch to physical mode
+ */
+#define PAL_INIT_ENTRY 0x80000000ffffffa0
+#define PSR_SET_BITS (IA64_PSR_DT | IA64_PSR_IT | IA64_PSR_RT |        \
+                      IA64_PSR_IC | IA64_PSR_RI)
+
+static void vmx_inject_guest_pal_init(VCPU *vcpu)
+{
+    REGS *regs = vcpu_regs(vcpu);
+    uint64_t psr = vmx_vcpu_get_psr(vcpu);
+
+    regs->cr_iip = PAL_INIT_ENTRY;
+
+    psr = psr & (~PSR_SET_BITS);
+    vmx_vcpu_set_psr(vcpu,psr);
+}
 
 /*
  * Deliver IPI message. (Only U-VP is supported now)
@@ -403,8 +421,7 @@ static void deliver_ipi (VCPU *vcpu, uin
         vmx_vcpu_pend_interrupt (vcpu, 2);
         break;
     case 5:     // INIT
-        // TODO -- inject guest INIT
-        panic_domain (NULL, "Inject guest INIT!\n");
+        vmx_inject_guest_pal_init(vcpu);
         break;
     case 7:     // ExtINT
         vmx_vcpu_pend_interrupt (vcpu, 0);

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] Guest PAL_INIT support for IPI, Xen patchbot-unstable <=