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] memmap: move pal_call_stub from xe

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] memmap: move pal_call_stub from xenasm.S
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 16 Jun 2007 05:32:36 -0700
Delivery-date: Sat, 16 Jun 2007 05:31:02 -0700
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 Alex Williamson <alex.williamson@xxxxxx>
# Date 1179777214 21600
# Node ID 2fb4ab0c174acd43a69e3b69f5fe5daaaba52109
# Parent  8dbc11034f821576b9a2585efb848417c213da87
[IA64] memmap: move pal_call_stub from xenasm.S

Now lives in dom_fw_asm.S to be shared by xen and libxc.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/xen/Makefile        |    1 
 xen/arch/ia64/xen/dom_fw_asm.S    |   41 ++++++++++++++++++++++++++++++++++++++
 xen/arch/ia64/xen/dom_fw_common.c |   16 ++++++++------
 xen/arch/ia64/xen/xenasm.S        |   23 ---------------------
 xen/include/asm-ia64/dom_fw.h     |    3 +-
 5 files changed, 53 insertions(+), 31 deletions(-)

diff -r 8dbc11034f82 -r 2fb4ab0c174a xen/arch/ia64/xen/Makefile
--- a/xen/arch/ia64/xen/Makefile        Mon May 21 13:50:05 2007 -0600
+++ b/xen/arch/ia64/xen/Makefile        Mon May 21 13:53:34 2007 -0600
@@ -6,6 +6,7 @@ obj-y += dom0_ops.o
 obj-y += dom0_ops.o
 obj-y += domain.o
 obj-y += dom_fw.o
+obj-y += dom_fw_asm.o
 obj-y += fw_emul.o
 obj-y += hpsimserial.o
 obj-y += hypercall.o
diff -r 8dbc11034f82 -r 2fb4ab0c174a xen/arch/ia64/xen/dom_fw_asm.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/xen/arch/ia64/xen/dom_fw_asm.S    Mon May 21 13:53:34 2007 -0600
@@ -0,0 +1,41 @@
+// moved from xenasm.S to be shared by xen and libxc
+/*
+ * Assembly support routines for Xen/ia64
+ *
+ * Copyright (C) 2004 Hewlett-Packard Co
+ *      Dan Magenheimer <dan.magenheimer@xxxxxx>
+ *
+ * Copyright (c) 2007 Isaku Yamahata <yamahata at valinux co jp>
+ *                    VA Linux Systems Japan K.K.
+ */
+
+//  These instructions are copied in the domains.
+//  This is the virtual PAL, which simply does a hypercall.
+//  The size is 2 bundles (32 Bytes).  It handles both static and stacked
+//    convention.
+//  If you modify this code, you have to modify dom_fw.h (for the size) and
+//   dom_fw_pal_hypercall_patch.
+
+// This file is shared with xen and libxc.
+// GLOBAL_ENTRY() end END() macro can't be used.
+
+//GLOBAL_ENTRY(xen_ia64_pal_call_stub)
+.global xen_ia64_pal_call_stub;
+.align 32;
+.proc xen_ia64_pal_call_stub;
+xen_ia64_pal_call_stub:
+       {
+        .mii
+       addl r2=0x1000,r0       //  Hypercall number (Value is patched).
+       mov r9=256
+       ;; 
+       cmp.gtu p7,p8=r9,r28            /* r32 <= 255? */
+       }
+       {
+        .mbb
+       break 0x1000            //  Hypercall vector (Value is patched).
+(p7)   br.cond.sptk.few rp
+(p8)   br.ret.sptk.few rp
+       }
+//END(xen_ia64_pal_call_stub)
+.endp xen_ia64_pal_call_stub
diff -r 8dbc11034f82 -r 2fb4ab0c174a xen/arch/ia64/xen/dom_fw_common.c
--- a/xen/arch/ia64/xen/dom_fw_common.c Mon May 21 13:50:05 2007 -0600
+++ b/xen/arch/ia64/xen/dom_fw_common.c Mon May 21 13:53:34 2007 -0600
@@ -110,17 +110,19 @@ static void
 static void
 build_pal_hypercall_bundles(uint64_t *imva, uint64_t brkimm, uint64_t hypnum)
 {
-       extern unsigned long pal_call_stub[];
+       extern unsigned long xen_ia64_pal_call_stub[];
        IA64_BUNDLE bundle;
        INST64_A5 slot_a5;
        INST64_M37 slot_m37;
 
-       /* The source of the hypercall stub is the pal_call_stub function
-          defined in xenasm.S.  */
+       /*
+        * The source of the hypercall stub is
+        * the xen_ia64_pal_call_stub function defined in dom_fw_asm.S. 
+        */
 
        /* Copy the first bundle and patch the hypercall number.  */
-       bundle.i64[0] = pal_call_stub[0];
-       bundle.i64[1] = pal_call_stub[1];
+       bundle.i64[0] = xen_ia64_pal_call_stub[0];
+       bundle.i64[1] = xen_ia64_pal_call_stub[1];
        slot_a5.inst = bundle.slot0;
        slot_a5.imm7b = hypnum;
        slot_a5.imm9d = hypnum >> 7;
@@ -132,8 +134,8 @@ build_pal_hypercall_bundles(uint64_t *im
        ia64_fc(imva + 1);
        
        /* Copy the second bundle and patch the hypercall vector.  */
-       bundle.i64[0] = pal_call_stub[2];
-       bundle.i64[1] = pal_call_stub[3];
+       bundle.i64[0] = xen_ia64_pal_call_stub[2];
+       bundle.i64[1] = xen_ia64_pal_call_stub[3];
        slot_m37.inst = bundle.slot0;
        slot_m37.imm20a = brkimm;
        slot_m37.i = brkimm >> 20;
diff -r 8dbc11034f82 -r 2fb4ab0c174a xen/arch/ia64/xen/xenasm.S
--- a/xen/arch/ia64/xen/xenasm.S        Mon May 21 13:50:05 2007 -0600
+++ b/xen/arch/ia64/xen/xenasm.S        Mon May 21 13:53:34 2007 -0600
@@ -356,26 +356,3 @@ stacked:
        br.ret.sptk.few rp
 END(pal_emulator_static)
 
-//  These instructions are copied in the domains.
-//  This is the virtual PAL, which simply does a hypercall.
-//  The size is 2 bundles (32 Bytes).  It handles both static and stacked
-//    convention.
-//  If you modify this code, you have to modify dom_fw.h (for the size) and
-//   dom_fw_pal_hypercall_patch.
-GLOBAL_ENTRY(pal_call_stub)
-       {
-        .mii
-       addl r2=0x1000,r0       //  Hypercall number (Value is patched).
-       mov r9=256
-       ;; 
-       cmp.gtu p7,p8=r9,r28            /* r32 <= 255? */
-       }
-       {
-        .mbb
-       break 0x1000            //  Hypercall vector (Value is patched).
-(p7)   br.cond.sptk.few rp
-(p8)   br.ret.sptk.few rp
-       }
-END(pal_call_stub)
-
-
diff -r 8dbc11034f82 -r 2fb4ab0c174a xen/include/asm-ia64/dom_fw.h
--- a/xen/include/asm-ia64/dom_fw.h     Mon May 21 13:50:05 2007 -0600
+++ b/xen/include/asm-ia64/dom_fw.h     Mon May 21 13:53:34 2007 -0600
@@ -59,7 +59,8 @@
  * rp=b0 indicates the return point.
  *
  * A single hypercall is used for all PAL calls.
- * The hypercall stub is pal_call_stub (xenasm.S).  Its size is 2 bundles.
+ * The hypercall stub is xen_ia64_pal_call_stub (dom_fw_asm.S). 
+ * Its size is 2 bundles.
  */
 
 #define FW_HYPERCALL_PAL_CALL_INDEX    0x80UL

_______________________________________________
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] memmap: move pal_call_stub from xenasm.S, Xen patchbot-unstable <=