diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-04-30 13:38:43 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-04-30 13:38:46 +0200 |
commit | 484875b11f355b1b54d508a3f4671888f07e643c (patch) | |
tree | ff639e4bd108e48f4b3ab7789e1c0e880453b034 | |
parent | ccf183e469be89e065ed389da9d3f50bd2faa215 (diff) | |
download | op-kernel-dev-484875b11f355b1b54d508a3f4671888f07e643c.zip op-kernel-dev-484875b11f355b1b54d508a3f4671888f07e643c.tar.gz |
[S390] Move stfl to system.h and delete duplicated version.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | arch/s390/kernel/setup.c | 9 | ||||
-rw-r--r-- | arch/s390/kvm/priv.c | 11 | ||||
-rw-r--r-- | include/asm-s390/system.h | 10 |
3 files changed, 11 insertions, 19 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index a9d18aa..024180e 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -683,15 +683,6 @@ setup_memory(void) #endif } -static __init unsigned int stfl(void) -{ - asm volatile( - " .insn s,0xb2b10000,0(0)\n" /* stfl */ - "0:\n" - EX_TABLE(0b,0b)); - return S390_lowcore.stfl_fac_list; -} - static int __init __stfle(unsigned long long *list, int doublewords) { typedef struct { unsigned long long _[doublewords]; } addrtype; diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c index 1465946..c02286c 100644 --- a/arch/s390/kvm/priv.c +++ b/arch/s390/kvm/priv.c @@ -151,18 +151,9 @@ static int handle_chsc(struct kvm_vcpu *vcpu) return 0; } -static unsigned int kvm_stfl(void) -{ - asm volatile( - " .insn s,0xb2b10000,0(0)\n" /* stfl */ - "0:\n" - EX_TABLE(0b, 0b)); - return S390_lowcore.stfl_fac_list; -} - static int handle_stfl(struct kvm_vcpu *vcpu) { - unsigned int facility_list = kvm_stfl(); + unsigned int facility_list = stfl(); int rc; vcpu->stat.instruction_stfl++; diff --git a/include/asm-s390/system.h b/include/asm-s390/system.h index 92098df..79bdbf4 100644 --- a/include/asm-s390/system.h +++ b/include/asm-s390/system.h @@ -16,6 +16,7 @@ #include <asm/ptrace.h> #include <asm/setup.h> #include <asm/processor.h> +#include <asm/lowcore.h> #ifdef __KERNEL__ @@ -422,6 +423,15 @@ extern void smp_ctl_clear_bit(int cr, int bit); #endif /* CONFIG_SMP */ +static inline unsigned int stfl(void) +{ + asm volatile( + " .insn s,0xb2b10000,0(0)\n" /* stfl */ + "0:\n" + EX_TABLE(0b,0b)); + return S390_lowcore.stfl_fac_list; +} + extern void (*_machine_restart)(char *command); extern void (*_machine_halt)(void); extern void (*_machine_power_off)(void); |