diff options
Diffstat (limited to 'include/asm-ia64/sn/sn_sal.h')
-rw-r--r-- | include/asm-ia64/sn/sn_sal.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/include/asm-ia64/sn/sn_sal.h b/include/asm-ia64/sn/sn_sal.h index bf4cc867a698..51aca022cf39 100644 --- a/include/asm-ia64/sn/sn_sal.h +++ b/include/asm-ia64/sn/sn_sal.h | |||
@@ -8,7 +8,7 @@ | |||
8 | * License. See the file "COPYING" in the main directory of this archive | 8 | * License. See the file "COPYING" in the main directory of this archive |
9 | * for more details. | 9 | * for more details. |
10 | * | 10 | * |
11 | * Copyright (c) 2000-2005 Silicon Graphics, Inc. All rights reserved. | 11 | * Copyright (c) 2000-2006 Silicon Graphics, Inc. All rights reserved. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | 14 | ||
@@ -85,6 +85,7 @@ | |||
85 | 85 | ||
86 | #define SN_SAL_GET_PROM_FEATURE_SET 0x02000065 | 86 | #define SN_SAL_GET_PROM_FEATURE_SET 0x02000065 |
87 | #define SN_SAL_SET_OS_FEATURE_SET 0x02000066 | 87 | #define SN_SAL_SET_OS_FEATURE_SET 0x02000066 |
88 | #define SN_SAL_INJECT_ERROR 0x02000067 | ||
88 | 89 | ||
89 | /* | 90 | /* |
90 | * Service-specific constants | 91 | * Service-specific constants |
@@ -705,10 +706,8 @@ static inline int | |||
705 | sn_change_memprotect(u64 paddr, u64 len, u64 perms, u64 *nasid_array) | 706 | sn_change_memprotect(u64 paddr, u64 len, u64 perms, u64 *nasid_array) |
706 | { | 707 | { |
707 | struct ia64_sal_retval ret_stuff; | 708 | struct ia64_sal_retval ret_stuff; |
708 | int cnodeid; | ||
709 | unsigned long irq_flags; | 709 | unsigned long irq_flags; |
710 | 710 | ||
711 | cnodeid = nasid_to_cnodeid(get_node_number(paddr)); | ||
712 | local_irq_save(irq_flags); | 711 | local_irq_save(irq_flags); |
713 | ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_MEMPROTECT, paddr, len, | 712 | ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_MEMPROTECT, paddr, len, |
714 | (u64)nasid_array, perms, 0, 0, 0); | 713 | (u64)nasid_array, perms, 0, 0, 0); |
@@ -1140,4 +1139,16 @@ ia64_sn_set_os_feature(int feature) | |||
1140 | return rv.status; | 1139 | return rv.status; |
1141 | } | 1140 | } |
1142 | 1141 | ||
1142 | static inline int | ||
1143 | sn_inject_error(u64 paddr, u64 *data, u64 *ecc) | ||
1144 | { | ||
1145 | struct ia64_sal_retval ret_stuff; | ||
1146 | unsigned long irq_flags; | ||
1147 | |||
1148 | local_irq_save(irq_flags); | ||
1149 | ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_INJECT_ERROR, paddr, (u64)data, | ||
1150 | (u64)ecc, 0, 0, 0, 0); | ||
1151 | local_irq_restore(irq_flags); | ||
1152 | return ret_stuff.status; | ||
1153 | } | ||
1143 | #endif /* _ASM_IA64_SN_SN_SAL_H */ | 1154 | #endif /* _ASM_IA64_SN_SN_SAL_H */ |