diff options
Diffstat (limited to 'arch/s390/kernel/dis.c')
| -rw-r--r-- | arch/s390/kernel/dis.c | 7 | 
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/s390/kernel/dis.c b/arch/s390/kernel/dis.c index 3221c6fca8b..619c5d35072 100644 --- a/arch/s390/kernel/dis.c +++ b/arch/s390/kernel/dis.c @@ -1,6 +1,4 @@  /* - * arch/s390/kernel/dis.c - *   * Disassemble s390 instructions.   *   * Copyright IBM Corp. 2007 @@ -613,6 +611,7 @@ static struct insn opcode_b2[] = {  	{ "sie", 0x14, INSTR_S_RD },  	{ "pc", 0x18, INSTR_S_RD },  	{ "sac", 0x19, INSTR_S_RD }, +	{ "servc", 0x20, INSTR_RRE_RR },  	{ "cfc", 0x1a, INSTR_S_RD },  	{ "ipte", 0x21, INSTR_RRE_RR },  	{ "ipm", 0x22, INSTR_RRE_R0 }, @@ -1532,7 +1531,7 @@ static int print_insn(char *buffer, unsigned char *code, unsigned long addr)  void show_code(struct pt_regs *regs)  { -	char *mode = (regs->psw.mask & PSW_MASK_PSTATE) ? "User" : "Krnl"; +	char *mode = user_mode(regs) ? "User" : "Krnl";  	unsigned char code[64];  	char buffer[64], *ptr;  	mm_segment_t old_fs; @@ -1541,7 +1540,7 @@ void show_code(struct pt_regs *regs)  	/* Get a snapshot of the 64 bytes surrounding the fault address. */  	old_fs = get_fs(); -	set_fs((regs->psw.mask & PSW_MASK_PSTATE) ? USER_DS : KERNEL_DS); +	set_fs(user_mode(regs) ? USER_DS : KERNEL_DS);  	for (start = 32; start && regs->psw.addr >= 34 - start; start -= 2) {  		addr = regs->psw.addr - 34 + start;  		if (__copy_from_user(code + start - 2,  |