[Pdbg] [PATCH 01/10] libpdbg/p9chip.c: disable ramming LSU opcodes

Nicholas Piggin npiggin at gmail.com
Thu May 3 16:26:53 AEST 2018


These are too easy to cause checkstops, and there's a better
alternative.

Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
---
 libpdbg/p9chip.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libpdbg/p9chip.c b/libpdbg/p9chip.c
index 97456a8..339d2f0 100644
--- a/libpdbg/p9chip.c
+++ b/libpdbg/p9chip.c
@@ -309,6 +309,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.
-- 
2.17.0



More information about the Pdbg mailing list