Uses sim callback interface for system calls in RedBoot SWI support.
[deliverable/binutils-gdb.git] / sim / arm / armvirt.c
index cca6aa0a415481e60b2bfc4c1b0b6f943f6d045e..ce1e77d8c45306515740cb59788f9837eff0ac0f 100644 (file)
@@ -64,6 +64,8 @@ GetWord (ARMul_State * state, ARMword address, int check)
   ARMword **pagetable;
   ARMword *pageptr;
 
+  XScale_check_memacc (state, &address, 0);
+
   page = address >> PAGEBITS;
   offset = (address & OFFSETBITS) >> 2;
   pagetable = (ARMword **) state->MemDataPtr;
@@ -97,6 +99,8 @@ PutWord (ARMul_State * state, ARMword address, ARMword data, int check)
   ARMword **pagetable;
   ARMword *pageptr;
 
+  XScale_check_memacc (state, &address, 1);
+
   page = address >> PAGEBITS;
   offset = (address & OFFSETBITS) >> 2;
   pagetable = (ARMword **) state->MemDataPtr;
@@ -192,8 +196,8 @@ ARMul_ReLoadInstr (ARMul_State * state, ARMword address, ARMword isize)
   if ((isize == 2) && (address & 0x2))
     {
       /* We return the next two halfwords: */
-      ARMword lo = GetWord (state, address, TRUE);
-      ARMword hi = GetWord (state, address + 4, TRUE);
+      ARMword lo = GetWord (state, address, FALSE);
+      ARMword hi = GetWord (state, address + 4, FALSE);
 
       if (state->bigendSig == HIGH)
        return (lo << 16) | (hi >> 16);
This page took 0.023353 seconds and 4 git commands to generate.