diff options
author | David Woodhouse <dwmw2@shinybook.infradead.org> | 2006-04-28 20:42:26 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2006-04-28 20:42:26 -0400 |
commit | d6754b401a15eaa16492ea5dbaa4826361d3f411 (patch) | |
tree | 032f067d3af458527d903a7653885404ed82431e /include/asm-ia64/sn | |
parent | acc429a517bd11fdcac9bea97d082d26231beb92 (diff) | |
parent | 693f7d362055261882659475d2ef022e32edbff1 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'include/asm-ia64/sn')
-rw-r--r-- | include/asm-ia64/sn/sn2/sn_hwperf.h | 6 | ||||
-rw-r--r-- | include/asm-ia64/sn/sn_sal.h | 17 |
2 files changed, 19 insertions, 4 deletions
diff --git a/include/asm-ia64/sn/sn2/sn_hwperf.h b/include/asm-ia64/sn/sn2/sn_hwperf.h index 291ef3d69da2..e61ebac38cdd 100644 --- a/include/asm-ia64/sn/sn2/sn_hwperf.h +++ b/include/asm-ia64/sn/sn2/sn_hwperf.h | |||
@@ -45,8 +45,12 @@ struct sn_hwperf_object_info { | |||
45 | #define SN_HWPERF_IS_NODE(x) ((x) && strstr((x)->name, "SHub")) | 45 | #define SN_HWPERF_IS_NODE(x) ((x) && strstr((x)->name, "SHub")) |
46 | #define SN_HWPERF_IS_NODE_SHUB2(x) ((x) && strstr((x)->name, "SHub 2.")) | 46 | #define SN_HWPERF_IS_NODE_SHUB2(x) ((x) && strstr((x)->name, "SHub 2.")) |
47 | #define SN_HWPERF_IS_IONODE(x) ((x) && strstr((x)->name, "TIO")) | 47 | #define SN_HWPERF_IS_IONODE(x) ((x) && strstr((x)->name, "TIO")) |
48 | #define SN_HWPERF_IS_ROUTER(x) ((x) && strstr((x)->name, "Router")) | ||
49 | #define SN_HWPERF_IS_NL3ROUTER(x) ((x) && strstr((x)->name, "NL3Router")) | 48 | #define SN_HWPERF_IS_NL3ROUTER(x) ((x) && strstr((x)->name, "NL3Router")) |
49 | #define SN_HWPERF_IS_NL4ROUTER(x) ((x) && strstr((x)->name, "NL4Router")) | ||
50 | #define SN_HWPERF_IS_OLDROUTER(x) ((x) && strstr((x)->name, "Router")) | ||
51 | #define SN_HWPERF_IS_ROUTER(x) (SN_HWPERF_IS_NL3ROUTER(x) || \ | ||
52 | SN_HWPERF_IS_NL4ROUTER(x) || \ | ||
53 | SN_HWPERF_IS_OLDROUTER(x)) | ||
50 | #define SN_HWPERF_FOREIGN(x) ((x) && !(x)->sn_hwp_this_part && !(x)->sn_hwp_is_shared) | 54 | #define SN_HWPERF_FOREIGN(x) ((x) && !(x)->sn_hwp_this_part && !(x)->sn_hwp_is_shared) |
51 | #define SN_HWPERF_SAME_OBJTYPE(x,y) ((SN_HWPERF_IS_NODE(x) && SN_HWPERF_IS_NODE(y)) ||\ | 55 | #define SN_HWPERF_SAME_OBJTYPE(x,y) ((SN_HWPERF_IS_NODE(x) && SN_HWPERF_IS_NODE(y)) ||\ |
52 | (SN_HWPERF_IS_IONODE(x) && SN_HWPERF_IS_IONODE(y)) ||\ | 56 | (SN_HWPERF_IS_IONODE(x) && SN_HWPERF_IS_IONODE(y)) ||\ |
diff --git a/include/asm-ia64/sn/sn_sal.h b/include/asm-ia64/sn/sn_sal.h index 8664c88a1ff5..8c865e43f609 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 | ||
@@ -84,6 +84,7 @@ | |||
84 | 84 | ||
85 | #define SN_SAL_GET_PROM_FEATURE_SET 0x02000065 | 85 | #define SN_SAL_GET_PROM_FEATURE_SET 0x02000065 |
86 | #define SN_SAL_SET_OS_FEATURE_SET 0x02000066 | 86 | #define SN_SAL_SET_OS_FEATURE_SET 0x02000066 |
87 | #define SN_SAL_INJECT_ERROR 0x02000067 | ||
87 | 88 | ||
88 | /* | 89 | /* |
89 | * Service-specific constants | 90 | * Service-specific constants |
@@ -704,10 +705,8 @@ static inline int | |||
704 | sn_change_memprotect(u64 paddr, u64 len, u64 perms, u64 *nasid_array) | 705 | sn_change_memprotect(u64 paddr, u64 len, u64 perms, u64 *nasid_array) |
705 | { | 706 | { |
706 | struct ia64_sal_retval ret_stuff; | 707 | struct ia64_sal_retval ret_stuff; |
707 | int cnodeid; | ||
708 | unsigned long irq_flags; | 708 | unsigned long irq_flags; |
709 | 709 | ||
710 | cnodeid = nasid_to_cnodeid(get_node_number(paddr)); | ||
711 | local_irq_save(irq_flags); | 710 | local_irq_save(irq_flags); |
712 | ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_MEMPROTECT, paddr, len, | 711 | ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_MEMPROTECT, paddr, len, |
713 | (u64)nasid_array, perms, 0, 0, 0); | 712 | (u64)nasid_array, perms, 0, 0, 0); |
@@ -1139,4 +1138,16 @@ ia64_sn_set_os_feature(int feature) | |||
1139 | return rv.status; | 1138 | return rv.status; |
1140 | } | 1139 | } |
1141 | 1140 | ||
1141 | static inline int | ||
1142 | sn_inject_error(u64 paddr, u64 *data, u64 *ecc) | ||
1143 | { | ||
1144 | struct ia64_sal_retval ret_stuff; | ||
1145 | unsigned long irq_flags; | ||
1146 | |||
1147 | local_irq_save(irq_flags); | ||
1148 | ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_INJECT_ERROR, paddr, (u64)data, | ||
1149 | (u64)ecc, 0, 0, 0, 0); | ||
1150 | local_irq_restore(irq_flags); | ||
1151 | return ret_stuff.status; | ||
1152 | } | ||
1142 | #endif /* _ASM_IA64_SN_SN_SAL_H */ | 1153 | #endif /* _ASM_IA64_SN_SN_SAL_H */ |