mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 12:39:59 +00:00
Detect installation of SWI vector by running program as well as loading program.
This commit is contained in:
parent
27b82ed26e
commit
88694af3f9
@ -1,3 +1,12 @@
|
||||
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
|
||||
|
@ -171,6 +171,8 @@ ARMul_OSInit (ARMul_State * state)
|
||||
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);
|
||||
@ -628,8 +630,6 @@ ARMul_OSHandleSWI (ARMul_State * state, ARMword number)
|
||||
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;
|
||||
|
||||
|
@ -93,3 +93,5 @@
|
||||
|
||||
extern unsigned long fpecode[];
|
||||
extern unsigned long fpesize;
|
||||
|
||||
extern int SWI_vector_installed;
|
||||
|
@ -49,6 +49,8 @@ defined to generate aborts. */
|
||||
#define PAGEBITS 16
|
||||
#define OFFSETBITS 0xffff
|
||||
|
||||
int SWI_vector_installed = FALSE;
|
||||
|
||||
/***************************************************************************\
|
||||
* Get a Word from Virtual Memory, maybe allocating the page *
|
||||
\***************************************************************************/
|
||||
@ -111,6 +113,9 @@ PutWord (ARMul_State * state, ARMword address, ARMword data)
|
||||
*(pagetable + page) = pageptr;
|
||||
}
|
||||
|
||||
if (address == 0x8)
|
||||
SWI_vector_installed = TRUE;
|
||||
|
||||
*(pageptr + offset) = data;
|
||||
}
|
||||
|
||||
|
@ -114,8 +114,6 @@ ARMul_Debug (ARMul_State * state ATTRIBUTE_UNUSED, ARMword pc ATTRIBUTE_UNUSED,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int SWI_vector_installed = FALSE;
|
||||
|
||||
int
|
||||
sim_write (sd, addr, buffer, size)
|
||||
SIM_DESC sd ATTRIBUTE_UNUSED;
|
||||
@ -127,9 +125,6 @@ sim_write (sd, addr, buffer, size)
|
||||
|
||||
init ();
|
||||
|
||||
if ((addr <= 0x8) && ((addr + size) >= 0x8))
|
||||
SWI_vector_installed = TRUE;
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
ARMul_WriteByte (state, addr + i, buffer[i]);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user