aboutsummaryrefslogtreecommitdiff
path: root/sim/arm/armemu.c
AgeCommit message (Collapse)AuthorFilesLines
2013-05-15sim: arm: add support for MOVW and MOVT instructionsMike Frysinger1-4/+8
From: Jayant R. Sonar <Jayant.Sonar@kpitcummins.com> This patch adds simulator support for handling the armv7 instructions 'movw (immediate)' and 'movt'. Compiler frequently use these instructions to load the 32bit addresses of global variables, string pointers etc. into the general registers. In absence of support of these instructions: 1. GDB run simulator fails to print even simple "hello world" string on console. 2. Loading of global variable addresses into the registers fail causing arithmetic operation failures. Patch has been regression tested for arm-none-eabi (-march=armv7-a).
2012-12-19[sim] Update old contact info in GPL license noticesJoel Brobecker1-2/+1
sim/ChangeLog: Update old contact info in GPL license notices.
2012-12-19Update sim copyright headers from GPLv2-or-later to GPLv3-or-later.Joel Brobecker1-1/+1
gdb/sim/ChangeLog: Update the non-FSF-copyrighted files in sim to GPLv3 or later.
2007-02-15* armemu.c (handle_v6_insn): Fix typo in sign extension test of the sext and ↵Nick Clifton1-1/+1
sxtah instructions.
2005-09-192005-09-19 Paul Brook <paul@codesourcery.com>Paul Brook1-26/+26
* armdefs.h: Define ARMsword and ARMsdword. Use stdint.h when available. * armemu.c: Use them. * armvirt.c (ARMul_MemoryInit): Use correct type for size. * configure.ac: Check for stdint.h. * config.in: Regenerate. * configure: Regenerate.
2005-05-12Update the address of the FSF organizationNick Clifton1-1/+1
2005-04-25* armemu.c (handle_v6_insn): New function - emulate a few of the v6 ↵Nick Clifton1-0/+295
instructions - the ones now generated by GCC. (ARMulEmulate32): Call handle_v6_insn when a possible v6 insn is found. * armdefs.h (struct ARMul_State): Add new field: is_v6.# (ARM_v6_Prop): Define. * arminit.c (ARMul_NewState): Initialise the v6 flag. (ARMul_SelectProcessor): Determine if the v6 flag should be set. * wrapper.c (sim_create_inferior): For unknown architectures, default to allowing the v6 instructions.
2004-06-29Index: mn10200/ChangeLogAndrew Cagney1-3/+3
2004-06-28 Andrew Cagney <cagney@gnu.org> * interp.c: Rename ui_loop_hook to deprecated_ui_loop_hook. Index: d10v/ChangeLog 2004-06-28 Andrew Cagney <cagney@gnu.org> * interp.c (sim_resume): Rename ui_loop_hook to deprecated_ui_loop_hook. Index: arm/ChangeLog 2004-06-28 Andrew Cagney <cagney@gnu.org> * armemu.c: Rename ui_loop_hook to deprecated_ui_loop_hook. Index: common/ChangeLog 2004-06-28 Andrew Cagney <cagney@gnu.org> * run.c: Rename ui_loop_hook to deprecated_ui_loop_hook.
2003-03-30Remove use of __IWMMXT__.Nick Clifton1-11/+3
2003-03-27Add iWMMXt support to ARM simulatorNick Clifton1-0/+27
2002-07-05Add checks to catch invaliud XScale MIA, MIAPH and MIAxy instructions.Nick Clifton1-68/+74
2002-05-27Only perform access checks if 'check' is set.Nick Clifton1-1/+1
Report unknown machine numbers. Formatting tidy ups.
2002-01-10Fix parameters passed to CPRead[13] and CPRead[14].Nick Clifton1-391/+417
2001-10-18Add support for XScale's coprocessor access check register.Nick Clifton1-444/+437
Fix formatting.
2001-05-11Fix handling of XScale LDRD and STRD instructions with post indexed ↵Nick Clifton1-6/+6
addressing modes.
2001-04-18* XScale coprocessor support.Matthew Green1-20/+87
2001-04-18 matthew green <mrg@redhat.com> * armcopro.c (write_cp15_reg): Set CHANGEMODE if endianness changes. (read_cp15_reg): Make non-static. (XScale_cp15_LDC): Update for write_cp15_reg() change. (XScale_cp15_MCR): Likewise. (XScale_cp15_write_reg): Likewise. (XScale_check_memacc): New function. Check for breakpoints being activated by memory accesses. Does not support the Branch Target Buffer. (XScale_set_fsr_far): New function. Set FSR and FAR for XScale. (XScale_debug_moe): New function. Set the debug Method Of Entry, if configured. (write_cp14_reg): Reset count counter if requested. * armdefs.h (struct ARMul_State): New members `LastTime' and `CP14R0_CCD' used for the timer/counters. (ARMul_CP13_R0_FIQ, ARMul_CP13_R0_IRQ, ARMul_CP13_R8_PMUS, ARMul_CP14_R0_ENABLE, ARMul_CP14_R0_CLKRST, ARMul_CP14_R0_CCD, ARMul_CP14_R0_INTEN0, ARMul_CP14_R0_INTEN1, ARMul_CP14_R0_INTEN2, ARMul_CP14_R0_FLAG0, ARMul_CP14_R0_FLAG1, ARMul_CP14_R0_FLAG2, ARMul_CP14_R10_MOE_IB, ARMul_CP14_R10_MOE_DB, ARMul_CP14_R10_MOE_BT, ARMul_CP15_R1_ENDIAN, ARMul_CP15_R1_ALIGN, ARMul_CP15_R5_X, ARMul_CP15_R5_ST_ALIGN, ARMul_CP15_R5_IMPRE, ARMul_CP15_R5_MMU_EXCPT, ARMul_CP15_DBCON_M, ARMul_CP15_DBCON_E1, ARMul_CP15_DBCON_E0): New defines for XScale registers. (XScale_check_memacc, XScale_set_fsr_far, XScale_debug_moe): Prototype. (ARMul_Emulate32, ARMul_Emulate26): Clean up function definition. (ARMul_Emulate32): Handle the clock counter and hardware instruction breakpoints. Call XScale_set_fsr_far() for software breakpoints and software interrupts. (LoadMult): Call XScale_set_fsr_far() for data aborts. (LoadSMult): Likewise. (StoreMult): Likewise. (StoreSMult): Likewise. * armemu.h (write_cp15_reg): Update prototype. * arminit.c (ARMul_NewState): Initialise CP14R0_CCD and LastTime. (ARMul_Abort): If XScale, check for FIQ and IRQ being enabled in CP13 register 0. * armvirt.c (GetWord): Call XScale_check_memacc(). (PutWord): Likewise.
2001-02-28Add support for disabling alignment checks when performing GDB interfaceNick Clifton1-2/+2
calls or SWI emulaiton routines. (Alignment checking code has not yet been contributed).
2001-02-16Remove Prefetch abort for breakpoints. Instead set the state to RESUME.Nick Clifton1-12/+2
2001-02-15Add code to preserve processor mode when a prefetchNick Clifton1-0/+11
abort is signalled after processing a breakpoint.
2001-02-01Add parentheses ready for future conbtributionNick Clifton1-39/+63
2001-02-01Update base address register after restoring register bank.Nick Clifton1-26/+57
2000-12-19Fix test for StoreDouble Instruction.Nick Clifton1-12/+12
2000-12-08oops - remove redundant prototype introduced in previous deltaNick Clifton1-2/+0
2000-12-08Add emulation of double word load and store instructions.Nick Clifton1-3/+340
2000-11-30Add support for ARM's v5TE architecture and Intel's XScale extenstionsNick Clifton1-5/+491
2000-08-15Compute write back value for post increment loads beforeNick Clifton1-34/+41
performing the load in case the offset register is overwritten.
2000-07-04* armemu.c (ARMul_Emulate, t_undefined): Proceed to next insn.Alexandre Oliva1-1/+1
2000-07-04* armemu.h (INSN_SIZE): New macro.Alexandre Oliva1-12/+23
(SET_ABORT): Save CPSR in SPSR and set LR. * armemu.c (ARMul_Emulate, isize): Set to INSN_SIZE. (WriteR15, WriteSR15): Do not discard bit 1 in Thumb mode. * arminit.c (ARMul_Abort): Use new SETABORT and INSN_SIZE.
2000-07-04* armemu.c (LoadSMult): Use WriteR15() to discard the leastAlexandre Oliva1-2/+2
significant bits of PC.
2000-07-04* armemu.h (WRITEDESTB): New macro.Alexandre Oliva1-37/+35
* armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to modify PC. Moved the existing logic... (WriteR15Branch): ... here. New function. (WriteR15, WriteSR15): Drop the two least significant bits. (LoadSMult): Use WriteR15Branch() to modify PC. (LoadMult): Use WRITEDESTB() instead of WRITEDEST().
2000-07-04* armemu.h (PSR_FBITS, PSR_SBITS, PSR_XBITS, PSR_CBITS): New.Alexandre Oliva1-4/+4
(SETPSR_F, SETPSR_S, SETPSR_X, SETPSR_C): New macros. (SETPSR, SET_INTMODE, SETCC): Removed. * armsupp.c (ARMul_FixCPSR, ARMul_FixSPSR): Do not test bit mask. Use SETPSR_* to modify PSR. (ARMul_SetCPSR): Load all bits from value. * armemu.c (ARMul_Emulate, msr): Do not test bit mask.
2000-07-04* armemu.c (ARMul_Emulate): Compute writeback value beforeAlexandre Oliva1-8/+16
loading, since the offset register may be the destination register.
2000-06-22* armemu.c (Multiply64): Fix computation of flag N.Alexandre Oliva1-4/+3
2000-06-22* armemu.c (MultiplyAdd64): Fix computation of flag N.Alexandre Oliva1-4/+3
2000-05-30Add support for v4 SystemMode.Nick Clifton1-1/+5
2000-04-10* arm abort fixFrank Ch. Eigler1-3/+3
2000-03-11 Philip Blundell <philb@gnu.org> * armemu.c (LoadSMult, LoadMult): Correct handling of aborts. Patch from Allan Skillman <Allan.Skillman@arm.com>.
2000-02-08Fix compile time warning messages.Nick Clifton1-6/+5
2000-02-05import gdb-2000-02-04 snapshotJason Molenda1-2738/+3128
1999-12-07import gdb-1999-12-06 snapshotJason Molenda1-6/+6
1999-07-12import gdb-1999-07-12 snapshotJason Molenda1-0/+2
1999-04-26import gdb-19990422 snapshotStan Shebs1-5/+37
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+3454