Update of /cvsroot/arcem/arcem
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv19227
Modified Files:
armemu.c armemuinstr.c
Log Message:
armemu.c, armemuinstr.c - Make SWP abort on ARM2. Chances are the other other
instructions in these encoding ranges should abort as well (on at least some
architectures), but without hardware to test on SWP is the only one I can be
fairly certain of that's meant to abort
Index: armemu.c
===================================================================
RCS file: /cvsroot/arcem/arcem/armemu.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- armemu.c 21 Oct 2012 16:59:31 -0000 1.19
+++ armemu.c 26 Apr 2016 00:53:57 -0000 1.20
@@ -22,6 +22,7 @@
#include <time.h>
#include "prof.h"
#include "arch/archio.h"
+#include "arch/ArcemConfig.h"
#include "ControlPane.h"
ARMul_State statestr;
Index: armemuinstr.c
===================================================================
RCS file: /cvsroot/arcem/arcem/armemuinstr.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- armemuinstr.c 12 May 2012 17:34:51 -0000 1.3
+++ armemuinstr.c 26 Apr 2016 00:53:57 -0000 1.4
@@ -344,6 +344,11 @@
EMFUNC_CONDTEST
if (BITS(4,11) == 9) { /* SWP */
+ if (Processor_ARM2 == hArcemConfig.eProcessor) {
+ ARMul_UndefInstr(state,instr);
+ return;
+ }
+
temp = LHS;
BUSUSEDINCPCS;
@@ -395,6 +400,11 @@
EMFUNC_CONDTEST
if (BITS(4,11) == 9) { /* SWP */
+ if (Processor_ARM2 == hArcemConfig.eProcessor) {
+ ARMul_UndefInstr(state,instr);
+ return;
+ }
+
temp = LHS;
BUSUSEDINCPCS;
if (ADDREXCEPT(temp)) {
@@ -524,6 +534,11 @@
EMFUNC_CONDTEST
if (BITS(4,11) == 9) { /* SWP */
+ if (Processor_ARM2 == hArcemConfig.eProcessor) {
+ ARMul_UndefInstr(state,instr);
+ return;
+ }
+
temp = LHS;
BUSUSEDINCPCS;
if (ADDREXCEPT(temp)) {
@@ -570,6 +585,11 @@
EMFUNC_CONDTEST
if (BITS(4,11) == 9) { /* SWP */
+ if (Processor_ARM2 == hArcemConfig.eProcessor) {
+ ARMul_UndefInstr(state,instr);
+ return;
+ }
+
temp = LHS;
BUSUSEDINCPCS;
if (ADDREXCEPT(temp)) {
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
--
arcem-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/arcem-cvs