This adds emulation support for the follow prefixed floating-point
load/stores:
  * Prefixed Load Floating-Point Single (plfs)
  * Prefixed Load Floating-Point Double (plfd)
  * Prefixed Store Floating-Point Single (pstfs)
  * Prefixed Store Floating-Point Double (pstfd)

Signed-off-by: Jordan Niethe <jniet...@gmail.com>
---
 arch/powerpc/lib/sstep.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
index 4f5ad1f602d8..9113b9a21ae9 100644
--- a/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c
@@ -2755,6 +2755,18 @@ int analyse_instr(struct instruction_op *op, const 
struct pt_regs *regs,
                        case 44:        /* psth */
                                op->type = MKOP(STORE, PREFIXED, 2);
                                break;
+                       case 48:        /* plfs */
+                               op->type = MKOP(LOAD_FP, PREFIXED | FPCONV, 4);
+                               break;
+                       case 50:        /* plfd */
+                               op->type = MKOP(LOAD_FP, PREFIXED, 8);
+                               break;
+                       case 52:        /* pstfs */
+                               op->type = MKOP(STORE_FP, PREFIXED | FPCONV, 4);
+                               break;
+                       case 54:        /* pstfd */
+                               op->type = MKOP(STORE_FP, PREFIXED, 8);
+                               break;
                        }
                        break;
                case 3: /* Type 11 Modified Register-to-Register */
-- 
2.20.1

Reply via email to