[S390] New get_cpu_id() inline assembly
From: Michael Holzheu <[EMAIL PROTECTED]> [S390] New get_cpu_id() inline assembly Replace two stidp inline assemblies with one global implementation. Signed-off-by: Michael Holzheu <[EMAIL PROTECTED]> Signed-off-by: Martin Schwidefsky <[EMAIL PROTECTED]> --- arch/s390/kernel/early.c |2 +- arch/s390/kernel/setup.c |2 +- include/asm-s390/processor.h |5 + 3 files changed, 7 insertions(+), 2 deletions(-) diff -urpN linux-2.6/arch/s390/kernel/early.c linux-2.6-patched/arch/s390/kernel/early.c --- linux-2.6/arch/s390/kernel/early.c 2007-02-21 10:47:06.0 +0100 +++ linux-2.6-patched/arch/s390/kernel/early.c 2007-02-21 10:47:29.0 +0100 @@ -129,7 +129,7 @@ static noinline __init void detect_machi { struct cpuinfo_S390 *cpuinfo = _lowcore.cpu_data; - asm volatile("stidp %0" : "=m" (S390_lowcore.cpu_data.cpu_id)); + get_cpu_id(_lowcore.cpu_data.cpu_id); /* Running under z/VM ? */ if (cpuinfo->cpu_id.version == 0xff) diff -urpN linux-2.6/arch/s390/kernel/setup.c linux-2.6-patched/arch/s390/kernel/setup.c --- linux-2.6/arch/s390/kernel/setup.c 2007-02-21 10:47:06.0 +0100 +++ linux-2.6-patched/arch/s390/kernel/setup.c 2007-02-21 10:47:29.0 +0100 @@ -106,7 +106,7 @@ void __devinit cpu_init (void) /* * Store processor id in lowcore (used e.g. in timer_interrupt) */ - asm volatile("stidp %0": "=m" (S390_lowcore.cpu_data.cpu_id)); + get_cpu_id(_lowcore.cpu_data.cpu_id); S390_lowcore.cpu_data.cpu_addr = addr; /* diff -urpN linux-2.6/include/asm-s390/processor.h linux-2.6-patched/include/asm-s390/processor.h --- linux-2.6/include/asm-s390/processor.h 2007-02-21 10:47:14.0 +0100 +++ linux-2.6-patched/include/asm-s390/processor.h 2007-02-21 10:47:29.0 +0100 @@ -36,6 +36,11 @@ typedef struct unsigned int unused : 16; } __attribute__ ((packed)) cpuid_t; +static inline void get_cpu_id(cpuid_t *ptr) +{ + asm volatile("stidp 0(%1)" : "=m" (*ptr) : "a" (ptr)); +} + struct cpuinfo_S390 { cpuid_t cpu_id; -- blue skies, IBM Deutschland Entwicklung GmbH MartinVorsitzender des Aufsichtsrats: Johann Weihen Geschäftsführung: Herbert Kircher Martin Schwidefsky Sitz der Gesellschaft: Böblingen Linux on zSeries Registergericht: Amtsgericht Stuttgart, Development HRB 243294 "Reality continues to ruin my life." - Calvin. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[S390] New get_cpu_id() inline assembly
From: Michael Holzheu [EMAIL PROTECTED] [S390] New get_cpu_id() inline assembly Replace two stidp inline assemblies with one global implementation. Signed-off-by: Michael Holzheu [EMAIL PROTECTED] Signed-off-by: Martin Schwidefsky [EMAIL PROTECTED] --- arch/s390/kernel/early.c |2 +- arch/s390/kernel/setup.c |2 +- include/asm-s390/processor.h |5 + 3 files changed, 7 insertions(+), 2 deletions(-) diff -urpN linux-2.6/arch/s390/kernel/early.c linux-2.6-patched/arch/s390/kernel/early.c --- linux-2.6/arch/s390/kernel/early.c 2007-02-21 10:47:06.0 +0100 +++ linux-2.6-patched/arch/s390/kernel/early.c 2007-02-21 10:47:29.0 +0100 @@ -129,7 +129,7 @@ static noinline __init void detect_machi { struct cpuinfo_S390 *cpuinfo = S390_lowcore.cpu_data; - asm volatile(stidp %0 : =m (S390_lowcore.cpu_data.cpu_id)); + get_cpu_id(S390_lowcore.cpu_data.cpu_id); /* Running under z/VM ? */ if (cpuinfo-cpu_id.version == 0xff) diff -urpN linux-2.6/arch/s390/kernel/setup.c linux-2.6-patched/arch/s390/kernel/setup.c --- linux-2.6/arch/s390/kernel/setup.c 2007-02-21 10:47:06.0 +0100 +++ linux-2.6-patched/arch/s390/kernel/setup.c 2007-02-21 10:47:29.0 +0100 @@ -106,7 +106,7 @@ void __devinit cpu_init (void) /* * Store processor id in lowcore (used e.g. in timer_interrupt) */ - asm volatile(stidp %0: =m (S390_lowcore.cpu_data.cpu_id)); + get_cpu_id(S390_lowcore.cpu_data.cpu_id); S390_lowcore.cpu_data.cpu_addr = addr; /* diff -urpN linux-2.6/include/asm-s390/processor.h linux-2.6-patched/include/asm-s390/processor.h --- linux-2.6/include/asm-s390/processor.h 2007-02-21 10:47:14.0 +0100 +++ linux-2.6-patched/include/asm-s390/processor.h 2007-02-21 10:47:29.0 +0100 @@ -36,6 +36,11 @@ typedef struct unsigned int unused : 16; } __attribute__ ((packed)) cpuid_t; +static inline void get_cpu_id(cpuid_t *ptr) +{ + asm volatile(stidp 0(%1) : =m (*ptr) : a (ptr)); +} + struct cpuinfo_S390 { cpuid_t cpu_id; -- blue skies, IBM Deutschland Entwicklung GmbH MartinVorsitzender des Aufsichtsrats: Johann Weihen Geschäftsführung: Herbert Kircher Martin Schwidefsky Sitz der Gesellschaft: Böblingen Linux on zSeries Registergericht: Amtsgericht Stuttgart, Development HRB 243294 Reality continues to ruin my life. - Calvin. - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/