diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2012-10-28 19:28:52 +0100 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2012-10-28 19:29:19 +0100 |
| commit | 3bd7bf1f0fe14f591c089ae61bbfa9bd356f178a (patch) | |
| tree | 0058693cc9e70b7461dae551f8a19aff2efd13ca /arch/s390/include/asm/page.h | |
| parent | f16f84937d769c893492160b1a8c3672e3992beb (diff) | |
| parent | e657e078d3dfa9f96976db7a2b5fd7d7c9f1f1a6 (diff) | |
Merge branch 'master' into for-next
Sync up with Linus' tree to be able to apply Cesar's patch
against newer version of the code.
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'arch/s390/include/asm/page.h')
| -rw-r--r-- | arch/s390/include/asm/page.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/arch/s390/include/asm/page.h b/arch/s390/include/asm/page.h index 27ab3c7c1e8..6d5367060a5 100644 --- a/arch/s390/include/asm/page.h +++ b/arch/s390/include/asm/page.h @@ -30,12 +30,20 @@ #include <asm/setup.h> #ifndef __ASSEMBLY__ +static unsigned long pfmf(unsigned long function, unsigned long address) +{ + asm volatile( + " .insn rre,0xb9af0000,%[function],%[address]" + : [address] "+a" (address) + : [function] "d" (function) + : "memory"); + return address; +} + static inline void clear_page(void *page) { if (MACHINE_HAS_PFMF) { - asm volatile( - " .insn rre,0xb9af0000,%0,%1" - : : "d" (0x10000), "a" (page) : "memory", "cc"); + pfmf(0x10000, (unsigned long)page); } else { register unsigned long reg1 asm ("1") = 0; register void *reg2 asm ("2") = page; |
