x86, mce: initial steps to make 64bit mce code 32bit clean
authorAndi Kleen <ak@linux.intel.com>
Mon, 27 Apr 2009 16:01:31 +0000 (18:01 +0200)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 28 May 2009 16:24:12 +0000 (09:24 -0700)
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>
arch/x86/kernel/cpu/mcheck/mce.c

index 1473336274164e85c3123970099f10fcc4424f88..cd1313b4750608a5ccf5536f4fc0e533ba0e9bfa 100644 (file)
@@ -156,15 +156,15 @@ static void print_mce(struct mce *m)
               "and contact your hardware vendor\n");
 }
 
-static void mce_panic(char *msg, struct mce *backup, unsigned long start)
+static void mce_panic(char *msg, struct mce *backup, u64 start)
 {
        int i;
 
        oops_begin();
        for (i = 0; i < MCE_LOG_LEN; i++) {
-               unsigned long tsc = mcelog.entry[i].tsc;
+               u64 tsc = mcelog.entry[i].tsc;
 
-               if (time_before(tsc, start))
+               if ((s64)(tsc - start) < 0)
                        continue;
                print_mce(&mcelog.entry[i]);
                if (backup && mcelog.entry[i].tsc == backup->tsc)
@@ -970,13 +970,13 @@ void (*threshold_cpu_callback)(unsigned long action, unsigned int cpu);
        static ssize_t show_ ## name(struct sys_device *s,              \
                                     struct sysdev_attribute *attr,     \
                                     char *buf) {                       \
-               return sprintf(buf, "%lx\n", (unsigned long)var);       \
+               return sprintf(buf, "%Lx\n", (u64)var);                 \
        }                                                               \
        static ssize_t set_ ## name(struct sys_device *s,               \
                                    struct sysdev_attribute *attr,      \
                                    const char *buf, size_t siz) {      \
                char *end;                                              \
-               unsigned long new = simple_strtoul(buf, &end, 0);       \
+               u64 new = simple_strtoull(buf, &end, 0);                \
                                                                        \
                if (end == buf)                                         \
                        return -EINVAL;                                 \