diff options
author | Peter Maydell <pmaydell@chiark.greenend.org.uk> | 2017-02-24 17:02:25 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2017-02-24 17:02:58 +0000 |
commit | 2c60806fcc6f9c08609ed1adef3882135a3bb826 (patch) | |
tree | c35a1be8045ad8128c91032c0b3f2f45b16ab5dd /risu_aarch64.c | |
parent | 3a649bfebac5550e9bab99986eac3962ede2da96 (diff) |
Make get_risuop() a formal part of the CPU interface
Make get_risuop() a formal part of the CPU interface rather than
just a de-facto common routine.
Signed-off-by: Peter Maydell <pmaydell@chiark.greenend.org.uk>
Diffstat (limited to 'risu_aarch64.c')
-rw-r--r-- | risu_aarch64.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/risu_aarch64.c b/risu_aarch64.c index f13338d..81573e3 100644 --- a/risu_aarch64.c +++ b/risu_aarch64.c @@ -41,11 +41,12 @@ uint64_t get_reginfo_paramreg(struct reginfo *ri) return ri->regs[0]; } -static int get_risuop(uint32_t insn) +int get_risuop(struct reginfo *ri) { /* Return the risuop we have been asked to do * (or -1 if this was a SIGILL for a non-risuop insn) */ + uint32_t insn = ri->faulting_insn; uint32_t op = insn & 0xf; uint32_t key = insn & ~0xf; uint32_t risukey = 0x00005af0; @@ -57,7 +58,7 @@ int send_register_info(int sock, void *uc) struct reginfo ri; int op; reginfo_init(&ri, uc); - op = get_risuop(ri.faulting_insn); + op = get_risuop(&ri); switch (op) { case OP_COMPARE: @@ -94,7 +95,7 @@ int recv_and_compare_register_info(int sock, void *uc) int resp = 0, op; reginfo_init(&master_ri, uc); - op = get_risuop(master_ri.faulting_insn); + op = get_risuop(&master_ri); switch (op) { case OP_COMPARE: |