Skip to content

Commit

Permalink
[S390] Move stfl to system.h and delete duplicated version.
Browse files Browse the repository at this point in the history
Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
  • Loading branch information
heicarst authored and Martin Schwidefsky committed Apr 30, 2008
1 parent ccf183e commit 484875b
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 19 deletions.
9 changes: 0 additions & 9 deletions arch/s390/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
11 changes: 1 addition & 10 deletions arch/s390/kvm/priv.c
Original file line number Diff line number Diff line change
Expand Up @@ -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++;
Expand Down
10 changes: 10 additions & 0 deletions include/asm-s390/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include <asm/ptrace.h>
#include <asm/setup.h>
#include <asm/processor.h>
#include <asm/lowcore.h>

#ifdef __KERNEL__

Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 484875b

Please sign in to comment.