[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 03/14] target-arm: Handle 'smc' as an undefined inst
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH 03/14] target-arm: Handle 'smc' as an undefined instruction |
Date: |
Tue, 7 Dec 2010 15:43:32 +0000 |
From: Adam Lackorzynski <address@hidden>
Refine check on bkpt so that smc and undefined instruction encodings are
handled as an undefined instruction and trap.
Signed-off-by: Adam Lackorzynski <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Nathan Froyd <address@hidden>
---
target-arm/translate.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/target-arm/translate.c b/target-arm/translate.c
index 947de6d..bf1e643 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -6346,7 +6346,14 @@ static void disas_arm_insn(CPUState * env, DisasContext
*s)
dead_tmp(tmp2);
store_reg(s, rd, tmp);
break;
- case 7: /* bkpt */
+ case 7:
+ /* SMC instruction (op1 == 3)
+ and undefined instructions (op1 == 0 || op1 == 2)
+ will trap */
+ if (op1 != 1) {
+ goto illegal_op;
+ }
+ /* bkpt */
gen_set_condexec(s);
gen_set_pc_im(s->pc - 4);
gen_exception(EXCP_BKPT);
--
1.6.3.3
- [Qemu-devel] [PATCH 00/14] [PULL] ARM fixes, v2, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 04/14] ARM: fix ldrexd/strexd, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 11/14] ARM: Return correct result for single<->double conversion of NaN, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 14/14] ARM: Implement VCVT to 16 bit integer using new softfloat routines, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 05/14] ARM: Fix decoding of VFP forms of VCVT between float and int/fixed, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 13/14] softfloat: Add float/double to 16 bit integer conversion functions, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 10/14] softfloat: Add float*_maybe_silence_nan() functions, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 03/14] target-arm: Handle 'smc' as an undefined instruction,
Peter Maydell <=
- [Qemu-devel] [PATCH 02/14] target-arm: Fix mixup in decoding of saturating add and sub, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 12/14] ARM: Ignore top 16 bits when doing VCVT from 16 bit fixed point, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 08/14] softfloat: Add float*_is_any_nan() functions, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 01/14] target-arm: Add support for PKHxx in thumb2, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 07/14] ARM: Fix sense of to_integer bit in Neon VCVT float/int conversion, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 06/14] ARM: Fix decoding of Neon forms of VCVT between float and fixed point, Peter Maydell, 2010/12/07
- [Qemu-devel] [PATCH 09/14] ARM: Return correct result for float-to-integer conversion of NaN, Peter Maydell, 2010/12/07
- Re: [Qemu-devel] [PATCH 00/14] [PULL] ARM fixes, v2, Peter Maydell, 2010/12/07