[IA64-SGI] SN SAL call to inject memory errors
authorRuss Anderson <rja@efs.americas.sgi.com>
Fri, 21 Apr 2006 00:05:43 +0000 (17:05 -0700)
committerTony Luck <tony.luck@intel.com>
Fri, 21 Apr 2006 00:05:43 +0000 (17:05 -0700)
The SGI Altix SAL provides an interface for modifying
the ECC on memory to create memory errors.  The SAL call
can be used to inject memory errors for testing MCA recovery
code.

Signed-off-by: Russ Anderson (rja@sgi.com)
Signed-off-by: Tony Luck <tony.luck@intel.com>
include/asm-ia64/sn/sn_sal.h

index 7ddce80..51aca02 100644 (file)
@@ -85,6 +85,7 @@
 
 #define  SN_SAL_GET_PROM_FEATURE_SET              0x02000065
 #define  SN_SAL_SET_OS_FEATURE_SET                0x02000066
+#define  SN_SAL_INJECT_ERROR                      0x02000067
 
 /*
  * Service-specific constants
@@ -1138,4 +1139,16 @@ ia64_sn_set_os_feature(int feature)
        return rv.status;
 }
 
+static inline int
+sn_inject_error(u64 paddr, u64 *data, u64 *ecc)
+{
+       struct ia64_sal_retval ret_stuff;
+       unsigned long irq_flags;
+
+       local_irq_save(irq_flags);
+       ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_INJECT_ERROR, paddr, (u64)data,
+                               (u64)ecc, 0, 0, 0, 0);
+       local_irq_restore(irq_flags);
+       return ret_stuff.status;
+}
 #endif /* _ASM_IA64_SN_SN_SAL_H */