Hi Alex,
I modified to insert is_running_on_xen() and I attached this patch.
Thanks,
KAZ
Signed-off-by: Yutaka Ezaki <yutaka.ezaki@xxxxxxxxxxxxxx>
Signed-off-by: Masaki Kanno <kanno.masaki@xxxxxxxxxxxxxx>
Signed-off-by: Kazuhiro Suzuki <kaz@xxxxxxxxxxxxxx>
From: Alex Williamson <alex.williamson@xxxxxx>
Subject: Re: [Xen-ia64-devel] [PATCH 6/12]MCA handler support for Xen/ia64 TAKE
2
Date: Sun, 15 Oct 2006 15:13:28 -0600
> On Wed, 2006-10-11 at 09:11 +0900, SUZUKI Kazuhiro wrote:
> > Hi Alex,
> >
> > Sorry, I forgot to clean up my debug messages.
> > Please replace `mca-sal_h.patch' by attached patch.
>
> Hi Kaz,
>
> This patch would break transparent paravirtualization. Please
> re-work with a runtime xen check. Thanks,
>
> Alex
>
> --
> Alex Williamson HP Open Source & Linux Org.
>
--- a/linux-2.6-xen-sparse/include/asm-ia64/sal.h 2006-10-10
18:06:14.000000000 +0900
+++ b/linux-2.6-xen-sparse/include/asm-ia64/sal.h 2006-10-16
11:48:26.000000000 +0900
@@ -42,6 +42,9 @@
#include <asm/pal.h>
#include <asm/system.h>
#include <asm/fpu.h>
+#ifdef CONFIG_XEN
+#include <asm/xen/xencomm.h>
+#endif
extern spinlock_t sal_lock;
@@ -690,6 +693,23 @@
ia64_sal_get_state_info (u64 sal_info_type, u64 *sal_info)
{
struct ia64_sal_retval isrv;
+#ifdef CONFIG_XEN
+ if (is_running_on_xen()) {
+ struct xencomm_mini xc_area[2];
+ int nbr_area = 2;
+ struct xencomm_handle *desc;
+ int rc;
+ static inline u64 ia64_sal_get_state_info_size (u64
sal_info_type);
+ rc = xencomm_create_mini(xc_area, &nbr_area, sal_info,
+
ia64_sal_get_state_info_size(sal_info_type),
+ &desc);
+ if (rc)
+ return 0;
+
+ SAL_CALL_REENTRANT(isrv, SAL_GET_STATE_INFO, sal_info_type, 0,
+ desc, 0, 0, 0, 0);
+ } else
+#endif
SAL_CALL_REENTRANT(isrv, SAL_GET_STATE_INFO, sal_info_type, 0,
sal_info, 0, 0, 0, 0);
if (isrv.status)
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|