diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-30 08:38:30 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-30 08:38:30 -0700 |
commit | d67c6f869c0a7f275689855161c93d714197e052 (patch) | |
tree | 17024af84087d216c62144d21a41beb74eca80dc /include/asm-s390/system.h | |
parent | ec31b2124158f60c515ed84bd5e40db1a883c7b6 (diff) | |
parent | 1175cdc670f2d4197b033f823b32435031a6daa8 (diff) |
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] Update default configuration.
[S390] use generic sys_ptrace
[S390] Remove self ptrace IEEE_IP hack.
[S390] Convert to SPARSEMEM & SPARSEMEM_VMEMMAP
[S390] System z large page support.
[S390] Convert machine feature detection code to C.
[S390] vmemmap: use clear_table to initialise page tables.
[S390] Move stfl to system.h and delete duplicated version.
[S390] uaccess_mvcos: #ifdef config dependent code.
[S390] cpu topology: Fix possible deadlock.
[S390] Add topology_core_siblings to topology.h
[S390] cio: Make isc handling more robust.
[S390] remove -traditional
[S390] Automatically detect added cpus.
[S390] smp: Fix locking order.
[S390] Add missing ifndef/define to include/asm-s390/sysinfo.h.
[S390] Move show_regs to traps.c.
[S390] cio: Use strict_strtoul() for attributes.
Diffstat (limited to 'include/asm-s390/system.h')
-rw-r--r-- | include/asm-s390/system.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/asm-s390/system.h b/include/asm-s390/system.h index 92098df4d6e..c819ae25a84 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,23 @@ 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; +} + +static inline unsigned short stap(void) +{ + unsigned short cpu_address; + + asm volatile("stap %0" : "=m" (cpu_address)); + return cpu_address; +} + extern void (*_machine_restart)(char *command); extern void (*_machine_halt)(void); extern void (*_machine_power_off)(void); |