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] Implement some PAL procedures

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Implement some PAL procedures
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 09 Nov 2007 04:20:26 -0800
Delivery-date: Fri, 09 Nov 2007 04:21:48 -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 Alex Williamson <alex.williamson@xxxxxx>
# Date 1193929227 21600
# Node ID 41c1731c9125b74a10c8ddf2b7cf0549afb59959
# Parent  b235b68a0f4f4438d0d11b07c92146aa103f37ee
[IA64] Implement some PAL procedures

This patch implements:
 - PAL_PREFETCH_VISIBILITY
 - PAL_MC_DRAIN
 - PAL_BRAND_INFO
 - PAL_GET_PSTATE
 - PAL_CACHE_SHARED_INFO

These PAL procedures are necessary for Windows 2008.

Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
---
 xen/arch/ia64/xen/fw_emul.c |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+)

diff -r b235b68a0f4f -r 41c1731c9125 xen/arch/ia64/xen/fw_emul.c
--- a/xen/arch/ia64/xen/fw_emul.c       Thu Nov 01 08:55:01 2007 -0600
+++ b/xen/arch/ia64/xen/fw_emul.c       Thu Nov 01 09:00:27 2007 -0600
@@ -587,6 +587,19 @@ remote_pal_cache_flush(void *v)
                                      &progress, NULL);
        if (status != 0)
                args->status = status;
+}
+
+static void
+remote_pal_prefetch_visibility(void *v)
+{
+       s64 trans_type = (s64)v;
+       ia64_pal_prefetch_visibility(trans_type);
+}
+
+static void
+remote_pal_mc_drain(void *v)
+{
+       ia64_pal_mc_drain();
 }
 
 struct ia64_pal_retval
@@ -850,7 +863,35 @@ xen_pal_emulator(unsigned long index, u6
                status = PAL_STATUS_SUCCESS;
                r9 = current->vcpu_id;
                break;
+           case PAL_PREFETCH_VISIBILITY:
+               status = ia64_pal_prefetch_visibility(in1);
+               if (status == 0) {
+                       /* must be performed on all remote processors 
+                          in the coherence domain. */
+                       smp_call_function(remote_pal_prefetch_visibility,
+                                         (void *)in1, 1, 1);
+                       status = 1; /* no more necessary on remote processor */
+               }
+               break;
+           case PAL_MC_DRAIN:
+               status = ia64_pal_mc_drain();
+               /* FIXME: All vcpus likely call PAL_MC_DRAIN.
+                  That causes the congestion. */
+               smp_call_function(remote_pal_mc_drain, NULL, 1, 1);
+               break;
+           case PAL_BRAND_INFO:
+               if (in1 == 0) {
+                       char brand_info[128];
+                       status = ia64_pal_get_brand_info(brand_info);
+                       if (status == PAL_STATUS_SUCCESS)
+                               copy_to_user((void *)in2, brand_info, 128);
+               } else {
+                       status = PAL_STATUS_EINVAL;
+               }
+               break;
            case PAL_LOGICAL_TO_PHYSICAL:
+           case PAL_GET_PSTATE:
+           case PAL_CACHE_SHARED_INFO:
                /* Optional, no need to complain about being unimplemented */
                break;
            default:

_______________________________________________
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] Implement some PAL procedures, Xen patchbot-unstable <=