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

[Xen-ia64-devel] [patch] SN2 specific SAL calls for dom0

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [patch] SN2 specific SAL calls for dom0
From: Jes Sorensen <jes@xxxxxxx>
Date: Wed, 28 Feb 2007 14:55:03 +0100
Cc: Alex Williamson <alex.williamson@xxxxxx>
Delivery-date: Wed, 28 Feb 2007 05:54:12 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.4 (X11/20060527)
Hi,

We need these calls passed on to the PROM for SN2. Calling them on non
SN2 PROMs will just result in an error so it should be harmless.

Cheers,
Jes

# HG changeset patch
# User jes@xxxxxxxxxxxxxxxx
# Date 1172670717 -3600
# Node ID 207e879bfb4bc56e78bdc15619f231d7699c3832
# Parent  18dd07d55851bcc7c33771fc8cc12a2385b8fd34
emulate sn2 specific SAL calls for dom0

Signed-off-by: Jes Sorensen <jes@xxxxxxx>

diff -r 18dd07d55851 -r 207e879bfb4b xen/arch/ia64/xen/fw_emul.c
--- a/xen/arch/ia64/xen/fw_emul.c       Tue Jan 16 04:02:16 2007 +0100
+++ b/xen/arch/ia64/xen/fw_emul.c       Wed Feb 28 14:51:57 2007 +0100
@@ -22,6 +22,7 @@
 #include <linux/efi.h>
 #include <asm/pal.h>
 #include <asm/sal.h>
+#include <asm/sn/sn_sal.h>
 #include <asm/xenmca.h>
 
 #include <public/sched.h>
@@ -130,6 +131,7 @@ sal_emulator (long index, unsigned long 
              unsigned long in3, unsigned long in4, unsigned long in5,
              unsigned long in6, unsigned long in7)
 {
+       struct ia64_sal_retval ret_stuff;
        unsigned long r9  = 0;
        unsigned long r10 = 0;
        long r11 = 0;
@@ -370,8 +372,64 @@ sal_emulator (long index, unsigned long 
            case SAL_UPDATE_PAL:
                printk("*** CALLED SAL_UPDATE_PAL.  IGNORED...\n");
                break;
+           case SN_SAL_GET_MASTER_NASID:
+               if (current->domain == dom0) {
+                       printk("*** Emulating SN_SAL_GET_MASTER_NASID ***\n");
+                       SAL_CALL_NOLOCK(ret_stuff, SN_SAL_GET_MASTER_NASID,
+                                       0, 0, 0, 0, 0, 0, 0);
+                       status = ret_stuff.status;
+                       r9 = ret_stuff.v0;
+                       r10 = ret_stuff.v1;
+                       r11 = ret_stuff.v2;
+                       break;
+               }
+           case SN_SAL_GET_KLCONFIG_ADDR:
+               if (current->domain == dom0) {
+                       printk("*** Emulating SN_SAL_GET_KLCONFIG_ADDR ***\n");
+                       SAL_CALL_NOLOCK(ret_stuff, SN_SAL_GET_KLCONFIG_ADDR,
+                                       in1, 0, 0, 0, 0, 0, 0);
+                       status = ret_stuff.status;
+                       r9 = ret_stuff.v0;
+                       r10 = ret_stuff.v1;
+                       r11 = ret_stuff.v2;
+                       break;
+               }
+           case SN_SAL_GET_SAPIC_INFO:
+               if (current->domain == dom0) {
+                       printk("*** Emulating SN_SAL_GET_SAPIC_INFO ***\n");
+                       SAL_CALL_NOLOCK(ret_stuff, SN_SAL_GET_SAPIC_INFO, in1,
+                                       0, 0, 0, 0, 0, 0);
+                       status = ret_stuff.status;
+                       r9 = ret_stuff.v0;
+                       r10 = ret_stuff.v1;
+                       r11 = ret_stuff.v2;
+                       break;
+               }
+           case SN_SAL_GET_SN_INFO:
+               if (current->domain == dom0) {
+                       printk("*** Emulating SN_SAL_GET_SN_INFO ***\n");
+                       SAL_CALL_NOLOCK(ret_stuff, SN_SAL_GET_SN_INFO, in1,
+                                       0, 0, 0, 0, 0, 0);
+                       status = ret_stuff.status;
+                       r9 = ret_stuff.v0;
+                       r10 = ret_stuff.v1;
+                       r11 = ret_stuff.v2;
+                       break;
+               }
+           case SN_SAL_IOIF_GET_HUBDEV_INFO:
+               if (current->domain == dom0) {
+                       printk("*** Emulating SN_SAL_IOIF_GET_HUBDEV_INFO 
***\n");
+                       SAL_CALL_NOLOCK(ret_stuff, SN_SAL_IOIF_GET_HUBDEV_INFO,
+                                       in1, in2, 0, 0, 0, 0, 0);
+                       status = ret_stuff.status;
+                       r9 = ret_stuff.v0;
+                       r10 = ret_stuff.v1;
+                       r11 = ret_stuff.v2;
+                       break;
+               }
            default:
-               printk("*** CALLED SAL_ WITH UNKNOWN INDEX.  IGNORED...\n");
+               printk("*** CALLED SAL_ WITH UNKNOWN INDEX (%lx).  "
+                      "IGNORED...\n", index);
                status = -1;
                break;
        }
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
<Prev in Thread] Current Thread [Next in Thread>