aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2009-04-27 12:01:31 -0400
committerH. Peter Anvin <hpa@zytor.com>2009-05-28 12:24:12 -0400
commit3cde5c8c839bf46a7be799ed0e1d0b4780aaf794 (patch)
tree7827cc718c2e38c38e34a61b4fdf8cfc3c8e64ef /arch/x86
parent01c6680a547a3ee8dd170c269ea8e037b3191b71 (diff)
x86, mce: initial steps to make 64bit mce code 32bit clean
Replace unsigned long with u64s if they need to contain 64bit values. Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kernel/cpu/mcheck/mce.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index 147333627416..cd1313b47506 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -156,15 +156,15 @@ static void print_mce(struct mce *m)
156 "and contact your hardware vendor\n"); 156 "and contact your hardware vendor\n");
157} 157}
158 158
159static void mce_panic(char *msg, struct mce *backup, unsigned long start) 159static void mce_panic(char *msg, struct mce *backup, u64 start)
160{ 160{
161 int i; 161 int i;
162 162
163 oops_begin(); 163 oops_begin();
164 for (i = 0; i < MCE_LOG_LEN; i++) { 164 for (i = 0; i < MCE_LOG_LEN; i++) {
165 unsigned long tsc = mcelog.entry[i].tsc; 165 u64 tsc = mcelog.entry[i].tsc;
166 166
167 if (time_before(tsc, start)) 167 if ((s64)(tsc - start) < 0)
168 continue; 168 continue;
169 print_mce(&mcelog.entry[i]); 169 print_mce(&mcelog.entry[i]);
170 if (backup && mcelog.entry[i].tsc == backup->tsc) 170 if (backup && mcelog.entry[i].tsc == backup->tsc)
@@ -970,13 +970,13 @@ void (*threshold_cpu_callback)(unsigned long action, unsigned int cpu);
970 static ssize_t show_ ## name(struct sys_device *s, \ 970 static ssize_t show_ ## name(struct sys_device *s, \
971 struct sysdev_attribute *attr, \ 971 struct sysdev_attribute *attr, \
972 char *buf) { \ 972 char *buf) { \
973 return sprintf(buf, "%lx\n", (unsigned long)var); \ 973 return sprintf(buf, "%Lx\n", (u64)var); \
974 } \ 974 } \
975 static ssize_t set_ ## name(struct sys_device *s, \ 975 static ssize_t set_ ## name(struct sys_device *s, \
976 struct sysdev_attribute *attr, \ 976 struct sysdev_attribute *attr, \
977 const char *buf, size_t siz) { \ 977 const char *buf, size_t siz) { \
978 char *end; \ 978 char *end; \
979 unsigned long new = simple_strtoul(buf, &end, 0); \ 979 u64 new = simple_strtoull(buf, &end, 0); \
980 \ 980 \
981 if (end == buf) \ 981 if (end == buf) \
982 return -EINVAL; \ 982 return -EINVAL; \