+2001-01-31 Nick Clifton <nickc@redhat.com>
+
+ * armvirt.c (PutWord): Detect installation of SWI vector.
+ (SWI_vector_installed): Define.
+ * armos.c (ARMul_OsInit): Reset SWI_vector_installed.
+ * armos.h (SWI_vector_installed): Declare.
+ * wrapper.c (SWI_vector_installed): Remove definition.
+ (sim_write): Remove check of SWI vector installation
+
2000-12-18 Nick Clifton <nickc@redhat.com>
* armemu.c (ARMul_Emulate26): Fix test for StoreDouble
for (i = ARMul_ResetV; i <= ARMFIQV; i += 4)
ARMul_WriteWord (state, i, instr); /* write hardware vectors */
+ SWI_vector_installed = 0;
+
for (i = ARMul_ResetV; i <= ARMFIQV + 4; i += 4)
{
ARMul_WriteWord (state, ADDRSOFTVECTORS + i, SOFTVECTORCODE + i * 4);
default:
{
/* If there is a SWI vector installed use it. */
- extern int SWI_vector_installed;
-
if (state->is_XScale && saved_number != -1)
number = saved_number;
extern unsigned long fpecode[];
extern unsigned long fpesize;
+
+extern int SWI_vector_installed;
#define PAGEBITS 16
#define OFFSETBITS 0xffff
+int SWI_vector_installed = FALSE;
+
/***************************************************************************\
* Get a Word from Virtual Memory, maybe allocating the page *
\***************************************************************************/
*(pagetable + page) = pageptr;
}
+ if (address == 0x8)
+ SWI_vector_installed = TRUE;
+
*(pageptr + offset) = data;
}
return 0;
}
-int SWI_vector_installed = FALSE;
-
int
sim_write (sd, addr, buffer, size)
SIM_DESC sd ATTRIBUTE_UNUSED;
init ();
- if ((addr <= 0x8) && ((addr + size) >= 0x8))
- SWI_vector_installed = TRUE;
-
for (i = 0; i < size; i++)
ARMul_WriteByte (state, addr + i, buffer[i]);