Andrew Geissler | c5535c9 | 2023-01-27 16:10:19 -0600 | [diff] [blame^] | 1 | From ef9aa69324a209e546956a2f674462717ec5af0f Mon Sep 17 00:00:00 2001 |
Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 2 | From: Zhenhua Luo <zhenhua.luo@nxp.com> |
| 3 | Date: Sat, 11 Jun 2016 22:08:29 -0500 |
| 4 | Subject: [PATCH] fix the incorrect assembling for ppc wait mnemonic |
| 5 | |
| 6 | The wait mnemonic for ppc targets is incorrectly assembled into 0x7c00003c due |
| 7 | to duplicated address definition with waitasec instruction. The issue causes |
| 8 | kernel boot calltrace for ppc targets when wait instruction is executed. |
| 9 | |
| 10 | Upstream-Status: Pending |
| 11 | Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com> |
| 12 | --- |
| 13 | opcodes/ppc-opc.c | 4 +--- |
| 14 | 1 file changed, 1 insertion(+), 3 deletions(-) |
| 15 | |
| 16 | diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c |
Andrew Geissler | c5535c9 | 2023-01-27 16:10:19 -0600 | [diff] [blame^] | 17 | index 37f1aeb780c..45774c7cf79 100644 |
Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 18 | --- a/opcodes/ppc-opc.c |
| 19 | +++ b/opcodes/ppc-opc.c |
Andrew Geissler | c5535c9 | 2023-01-27 16:10:19 -0600 | [diff] [blame^] | 20 | @@ -7138,8 +7138,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { |
Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 21 | {"waitasec", X(31,30), XRTRARB_MASK, POWER8, POWER9, {0}}, |
| 22 | {"waitrsv", XWCPL(31,30,1,0),0xffffffff, POWER10, EXT, {0}}, |
| 23 | {"pause_short", XWCPL(31,30,2,0),0xffffffff, POWER10, EXT, {0}}, |
| 24 | -{"wait", X(31,30), XWCPL_MASK, POWER10, 0, {WC, PL}}, |
| 25 | -{"wait", X(31,30), XWC_MASK, POWER9, POWER10, {WC}}, |
| 26 | |
| 27 | {"lwepx", X(31,31), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}}, |
| 28 | |
Andrew Geissler | c5535c9 | 2023-01-27 16:10:19 -0600 | [diff] [blame^] | 29 | @@ -7193,7 +7191,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { |
Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 30 | |
| 31 | {"waitrsv", X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, EXT, {0}}, |
| 32 | {"waitimpl", X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, EXT, {0}}, |
| 33 | -{"wait", X(31,62), XWC_MASK, E500MC|PPCA2, 0, {WC}}, |
| 34 | +{"wait", X(31,62), XWC_MASK, E500MC|PPCA2|POWER9|POWER10, 0, {WC}}, |
| 35 | |
| 36 | {"dcbstep", XRT(31,63,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}}, |
| 37 | |