mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-14 13:39:10 +00:00
s390: correct some inline assembly constraints
Inline assembly code changed in this patch should really use "Q" constraint "Memory reference without index register and with short displacement". The kernel does not compile with kasan support enabled otherwise (due to stack instrumentation). Signed-off-by: Vasily Gorbik <gor@linux.vnet.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
0aaba41b58
commit
11776eaa65
@ -167,7 +167,7 @@ static inline int lcctl(u64 ctl)
|
||||
" .insn s,0xb2840000,%1\n"
|
||||
" ipm %0\n"
|
||||
" srl %0,28\n"
|
||||
: "=d" (cc) : "m" (ctl) : "cc");
|
||||
: "=d" (cc) : "Q" (ctl) : "cc");
|
||||
return cc;
|
||||
}
|
||||
|
||||
|
@ -188,14 +188,14 @@ extern struct lowcore *lowcore_ptr[];
|
||||
|
||||
static inline void set_prefix(__u32 address)
|
||||
{
|
||||
asm volatile("spx %0" : : "m" (address) : "memory");
|
||||
asm volatile("spx %0" : : "Q" (address) : "memory");
|
||||
}
|
||||
|
||||
static inline __u32 store_prefix(void)
|
||||
{
|
||||
__u32 address;
|
||||
|
||||
asm volatile("stpx %0" : "=m" (address));
|
||||
asm volatile("stpx %0" : "=Q" (address));
|
||||
return address;
|
||||
}
|
||||
|
||||
|
@ -245,7 +245,7 @@ static inline unsigned short stap(void)
|
||||
{
|
||||
unsigned short cpu_address;
|
||||
|
||||
asm volatile("stap %0" : "=m" (cpu_address));
|
||||
asm volatile("stap %0" : "=Q" (cpu_address));
|
||||
return cpu_address;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user