diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2018-05-03 16:26:53 +1000 |
---|---|---|
committer | Alistair Popple <alistair@popple.id.au> | 2018-05-16 11:50:15 +1000 |
commit | e4d2de6e3aff2821ba7a44ad1b286e4ef7a7b50b (patch) | |
tree | c3d640a62c78f60fef127d18d26abb54c9d34326 /libpdbg/p9chip.c | |
parent | ecb1e173ae91ee3b3d0b75917402c4d003a88c0f (diff) | |
download | pdbg-e4d2de6e3aff2821ba7a44ad1b286e4ef7a7b50b.tar.gz pdbg-e4d2de6e3aff2821ba7a44ad1b286e4ef7a7b50b.zip |
libpdbg/p9chip.c: disable ramming LSU opcodes
These are too easy to cause checkstops, and there's a better
alternative.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Diffstat (limited to 'libpdbg/p9chip.c')
-rw-r--r-- | libpdbg/p9chip.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libpdbg/p9chip.c b/libpdbg/p9chip.c index 97456a8..339d2f0 100644 --- a/libpdbg/p9chip.c +++ b/libpdbg/p9chip.c @@ -310,6 +310,11 @@ out: static int p9_ram_instruction(struct thread *thread, uint64_t opcode, uint64_t *scratch) { if ((opcode & OPCODE_MASK) == LD_OPCODE) { + printf("RAM LSU opcodes are disabled for POWER9 because exceptions will checkstop. Use ADU instead.\n"); + return 1; + } + + if ((opcode & OPCODE_MASK) == LD_OPCODE) { /* * Loads must be rammed twice, the value of the second used. * A fault should still be returned though. Unfortunately |