1
0
Fork 0

powerpc/mm: Use instruction symbolic names in store_updates_sp()

Use symbolic names defined in asm/ppc-opcode.h
instead of hardcoded values.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
hifive-unleashed-5.1
Christophe Leroy 2018-05-23 09:04:04 +02:00 committed by Michael Ellerman
parent 43d2974b66
commit 8a0b1120cb
2 changed files with 14 additions and 13 deletions

View File

@ -162,6 +162,7 @@
/* VMX Vector Store Instructions */
#define OP_31_XOP_STVX 231
#define OP_31 31
#define OP_LWZ 32
#define OP_STFS 52
#define OP_STFSU 53

View File

@ -80,23 +80,23 @@ static bool store_updates_sp(struct pt_regs *regs)
return false;
/* check major opcode */
switch (inst >> 26) {
case 37: /* stwu */
case 39: /* stbu */
case 45: /* sthu */
case 53: /* stfsu */
case 55: /* stfdu */
case OP_STWU:
case OP_STBU:
case OP_STHU:
case OP_STFSU:
case OP_STFDU:
return true;
case 62: /* std or stdu */
case OP_STD: /* std or stdu */
return (inst & 3) == 1;
case 31:
case OP_31:
/* check minor opcode */
switch ((inst >> 1) & 0x3ff) {
case 181: /* stdux */
case 183: /* stwux */
case 247: /* stbux */
case 439: /* sthux */
case 695: /* stfsux */
case 759: /* stfdux */
case OP_31_XOP_STDUX:
case OP_31_XOP_STWUX:
case OP_31_XOP_STBUX:
case OP_31_XOP_STHUX:
case OP_31_XOP_STFSUX:
case OP_31_XOP_STFDUX:
return true;
}
}