0e191607adcb0ea8ebd06c278be648a7f5c0097f |
|
10-May-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13854277> <rdar://problem/13594769> Main changes in this patch include: - cleanup plug-in interface and use ConstStrings for plug-in names - Modfiied the BSD Archive plug-in to be able to pick out the correct .o file when .a files contain multiple .o files with the same name by using the timestamp - Modified SymbolFileDWARFDebugMap to properly verify the timestamp on .o files it loads to ensure we don't load updated .o files and cause problems when debugging The plug-in interface changes: Modified the lldb_private::PluginInterface class that all plug-ins inherit from: Changed: virtual const char * GetPluginName() = 0; To: virtual ConstString GetPluginName() = 0; Removed: virtual const char * GetShortPluginName() = 0; - Fixed up all plug-in to adhere to the new interface and to return lldb_private::ConstString values for the plug-in names. - Fixed all plug-ins to return simple names with no prefixes. Some plug-ins had prefixes and most ones didn't, so now they all don't have prefixed names, just simple names like "linux", "gdb-remote", etc. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
d35b7b3bfd21f4fd6b048693563eef1b772ae197 |
|
07-Dec-2012 |
Daniel Malea <daniel.malea@intel.com> |
More Linux warnings fixes (remove default labels as needed): - as per http://llvm.org/docs/CodingStandards.html#don-t-use-default-labels-in-fully-covered-switches-over-enumerations Patch by Matt Kopec! git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
73844aa19a7360b662e2be710fc3c969d6c86606 |
|
22-Aug-2012 |
Greg Clayton <gclayton@apple.com> |
Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation: - no setting auto completion - very manual and error prone way of getting/setting variables - tons of code duplication - useless instance names for processes, threads Now settings can easily be defined like option values. The new settings makes use of the "OptionValue" classes so we can re-use the option value code that we use to set settings in command options. No more instances, just "does the right thing". git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
107e53da8bdca540db8b734ed237688eaeee85c5 |
|
06-Jul-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed some issues with ARM backtraces by not processing any push/pop instructions if they are conditional. Also fixed issues where the PC wasn't getting bit zero stripped for ARM targets when a stack frame was thumb. We now properly call through the GetOpcodeLoadAddress() functions to make sure the addresses are properly stripped for any targets that may decorate up their addresses. We now don't pass the SIGSTOP signals along. We can revisit this soon, but currently this was interfering with debugging some older ARM targets that don't have vCont support in the GDB server. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
04d397c5e251eaa5f520dbe6381d2a82303350e1 |
|
23-May-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed an issue in the EmulateInstructionARM there the IT opcode was trying to parse NOP instructions. I added the new table entries for the NOP for the plain NOP, Yield, WFE, WFI, and SEV variants. Modified the opcode emulation function EmulateInstructionARM::EmulateMOVRdSP(...) to notify us when it is creating a frame. Also added an abtract way to detect the frame pointer register for both the standard ARM ABI and for Darwin. Fixed GDBRemoteRegisterContext::WriteAllRegisterValues(...) to correctly be able to individually write register values back if case the 'G' packet is not implemented or returns an error. Modified the StopInfoMachException to "trace" stop reasons. On ARM we currently use the BVR/BCR register pairs to say "stop when the PC is not equal to the current PC value", and this results in a EXC_BREAKPOINT mach exception that has 0x102 in the code. Modified debugserver to create the short option string from long option definitions to make sure it doesn't get out of date. The short option string was missing many of the newer short option values due to a modification of the long options defs, and not modifying the short option string. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
c07d451bb046e47215bd73fda0235362cc6b1a47 |
|
27-Apr-2011 |
Greg Clayton <gclayton@apple.com> |
Got the EmulateInstruction CFI code a lot closer to producing CFI data. Switch the EmulateInstruction to use the standard RegisterInfo structure that is defined in the lldb private types intead of passing the reg kind and reg num everywhere. EmulateInstruction subclasses also need to provide RegisterInfo structs given a reg kind and reg num. This eliminates the need for the GetRegisterName() virtual function and allows more complete information to be passed around in the read/write register callbacks. Subclasses should always provide RegiterInfo structs with the generic register info filled in as well as at least one kind of register number in the RegisterInfo.kinds[] array. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
888a7334344778d1a4edbd58b5852ae4d53ffed9 |
|
26-Apr-2011 |
Greg Clayton <gclayton@apple.com> |
Changed the emulate instruction function to take emulate options which are defined as enumerations. Current bits include: eEmulateInstructionOptionAutoAdvancePC eEmulateInstructionOptionIgnoreConditions Modified the EmulateInstruction class to have a few more pure virtuals that can help clients understand how many instructions the emulator can handle: virtual bool SupportsEmulatingIntructionsOfType (InstructionType inst_type) = 0; Where instruction types are defined as: //------------------------------------------------------------------ /// Instruction types //------------------------------------------------------------------ typedef enum InstructionType { eInstructionTypeAny, // Support for any instructions at all (at least one) eInstructionTypePrologueEpilogue, // All prologue and epilogue instructons that push and pop register values and modify sp/fp eInstructionTypePCModifying, // Any instruction that modifies the program counter/instruction pointer eInstructionTypeAll // All instructions of any kind } InstructionType; This allows use to tell what an emulator can do and also allows us to request these abilities when we are finding the plug-in interface. Added the ability for an EmulateInstruction class to get the register names for any registers that are part of the emulation. This helps with being able to dump and log effectively. The UnwindAssembly class now stores the architecture it was created with in case it is needed later in the unwinding process. Added a function that can tell us DWARF register names for ARM that goes along with the source/Utility/ARM_DWARF_Registers.h file: source/Utility/ARM_DWARF_Registers.c Took some of plug-ins out of the lldb_private namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
dfb2e20724a90a4a10558ddaee18b72a1c51e499 |
|
22-Apr-2011 |
Caroline Tice <ctice@apple.com> |
Change code for reading emulation data files to read the new file format. (The newly formatted files will go in as a separate commit in a few minutes). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
6b8d3b5e7f0507aca2ee1c0937d7ec80fa2a9c5b |
|
20-Apr-2011 |
Caroline Tice <ctice@apple.com> |
Add the infrastructure to test instruction emulations automatically. The idea is that the instruction to be emulated is actually executed on the hardware to be emulated, with the before and after state of the hardware being captured and 'freeze-dried' into .dat files. The emulation testing code then loads the before & after state from the .dat file, emulates the instruction using the before state, and compares the resulting state to the 'after' state. If they match, the emulation is accurate, otherwise there is a problem. The final format of the .dat files needs a bit more work; the plan is to generalize them a bit and to convert the plain values to key-value pairs. But I wanted to get this first pass committed. This commit adds arm instruction emulation testing to the testsuite, along with many initial .dat files. It also fixes a bug in the llvm disassembler, where 32-bit thumb opcodes were getting their upper & lower 16-bits reversed. There is a new Instruction sub-class, that is intended to be loaded from a .dat file rather than read from an executable. There is also a new EmulationStateARM class, for handling the before & after states. EmulationStates for other architetures can be added later when we emulate their instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
1f954f59df9ce7bf58d0353ab0949656561210d4 |
|
11-Apr-2011 |
Caroline Tice <ctice@apple.com> |
Implement ARM emulation function to handle "SUBS PC, LR and related instructions". git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
080bf61255afcffd7ccfe0402d3715f77f6627b9 |
|
05-Apr-2011 |
Caroline Tice <ctice@apple.com> |
Add the rest of the mechanisms to make ARM instruction emulation usable/possible. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
8d24b4a3a3351a0db1dabfaf26bdf2eae16b1775 |
|
31-Mar-2011 |
Caroline Tice <ctice@apple.com> |
Fix a few typos in the previous commit. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
93767b8fceecd605d3e3dc3803b7d51823f17b2f |
|
31-Mar-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate VLD1 (single element to all lanes) ARM instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
4f6055840a3d5006a60d54c139b1f8975ed0c638 |
|
31-Mar-2011 |
Caroline Tice <ctice@apple.com> |
Modify ARM instruction tables to allow for specifying floating point variants. Add code to emulate VLDM ARM instruction (loading multiplt floating point registers). Add function declarations for other floating point instructions to emulate. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
c08ed3840e47b2e26ddffe0154b21840c80c91df |
|
30-Mar-2011 |
Caroline Tice <ctice@apple.com> |
Fill in code in EmulateADDRegShift, to emulate the ADD (register-shifted register) ARM instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
d05b4903bb95b07e709986961fe387921dd0e029 |
|
29-Mar-2011 |
Caroline Tice <ctice@apple.com> |
Add subtraction context. Add code to emulate SUB (SP minus register) ARM instruction. Add stubs for other ARM emulation functions that need to be written. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
7bc390873f7c1c798c36c8003c4b82597f67c703 |
|
25-Mar-2011 |
Greg Clayton <gclayton@apple.com> |
Made the lldb_private::Opcode struct into a real boy... I mean class. Modified the Disassembler::Instruction base class to contain an Opcode instance so that we can know the bytes for an instruction without needing to keep the data around. Modified the DisassemblerLLVM's instruction class to correctly extract the opcode bytes if all goes well. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
b344843f75ef893762c93fd0a22d2d45712ce74d |
|
24-Mar-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed the LLDB build so that we can have private types, private enums and public types and public enums. This was done to keep the SWIG stuff from parsing all sorts of enums and types that weren't needed, and allows us to abstract our API better. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
8ce836dbf416c4dfdbede109be5cc09b95918fd0 |
|
16-Mar-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate STRH (Register) Arm instruction. Remove inaccurate comments from EmulateInstruction::Context definition. Fix contexts in a few arm instruction emulation routines. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
e4b9c1fb338ee1ada72e6a3c198afb342d68c5c1 |
|
08-Mar-2011 |
Greg Clayton <gclayton@apple.com> |
LLDB now has "Platform" plug-ins. Platform plug-ins are plug-ins that provide an interface to a local or remote debugging platform. By default each host OS that supports LLDB should be registering a "default" platform that will be used unless a new platform is selected. Platforms are responsible for things such as: - getting process information by name or by processs ID - finding platform files. This is useful for remote debugging where there is an SDK with files that might already or need to be cached for debug access. - getting a list of platform supported architectures in the exact order they should be selected. This helps the native x86 platform on MacOSX select the correct x86_64/i386 slice from universal binaries. - Connect to remote platforms for remote debugging - Resolving an executable including finding an executable inside platform specific bundles (macosx uses .app bundles that contain files) and also selecting the appropriate slice of universal files for a given platform. So by default there is always a local platform, but remote platforms can be connected to. I will soon be adding a new "platform" command that will support the following commands: (lldb) platform connect --name machine1 macosx connect://host:port Connected to "machine1" platform. (lldb) platform disconnect macosx This allows LLDB to be well setup to do remote debugging and also once connected process listing and finding for things like: (lldb) process attach --name x<TAB> The currently selected platform plug-in can now auto complete any available processes that start with "x". The responsibilities for the platform plug-in will soon grow and expand. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
b27771da2fe3256f4a64729ecec05946c27c1a0a |
|
03-Mar-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate RFE Arm instruction. Add new instruction context for RFE instruction. Add several new helper functions to help emulate RFE instruction (including CurrentModeIsPrivileged, BadMode, and CPSRWriteByInstr). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
dcc11b3b8882b3522244a25d2915c9086b44e596 |
|
03-Mar-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate ADD (immediate, Thumb) Arm instruction. Add addition context to EmulateInstruction contexts. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
0491b3b75e1b045ab548f77fd1f76035522debde |
|
28-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate LDRH (immediate, Thumb) arm instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
59e6ab70eb0a623fc667f7db9b27007e13b315e2 |
|
24-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation for BXJ (Branch and Exchange Jazelle), assuming that the attempt to switch to Jazelle state fails, thus treating BXJ as a BX operation. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
b9f02cfcd7d85e74981bf7790dce15d9bd1d4df6 |
|
24-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for Bitwise Bit Clear (immediate and register) operations. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
15a7a6b9b624e5b8a2b058befc4e04aae72ff9c0 |
|
24-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for "SUB (immediate, Thumb)" and "SUB (immediate, ARM)" operations. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
a695f958db37c102d480a9c0780abec262ba8332 |
|
23-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation for "ADR" operations. Add a ThumbImm8Scaled() convenience function and rename the original ThumbImmScaled() function to ThumbImm7Scaled(). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
c9e747f4efa320e366498f02bb9dd791cf86623b |
|
23-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Modify EmulateSUBSPImm() to handle the cases with generic Rd value instead of Rd == 13. Add opcode entries for the generic "sub (sp minus immediate)" operations. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
9b381775c532270fd07a90aa1a98750546a768b7 |
|
23-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for "SBC (immediate)" and "SBC (register)" operations. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
90e607bfccc74572e8422ea85d20f10db6f936b9 |
|
23-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for "RSC (immediate)" and "RSC (register)" operations. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
ed32e7cdec9c0c88ad40c9ed3d05e7604599a563 |
|
23-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for "RSB (immediate)" and "RSB (register)". Plus add missing break stmts for "case" blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
34075cb14fb56cb350e71cc696179ab0f2744423 |
|
22-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add ARM encoding entries for "CMP (immediate)" and "CMP (register)" operations. Add ARM/Thumb encoding entries for "CMN (immediate)" and "CMN (register)" operations, with the EmulateCMNImm()/Reg() methods not implemented yet for now. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
d642a6ad6b8e3822485a8a08fbbfa8b60a4e97f2 |
|
22-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for "MVN (immediate)" and "MVN (register)". git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
2115b4131b0e427341959fb4007e0173bf71778d |
|
22-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for "EOR (Immediate)", "EOR (register)", "TEQ (immediate)", and "TEQ (register)" operations. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
de3cce3aa8e10c9e328e15b9210069b77f840b70 |
|
21-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for "TST (immediate)" and "TST (register)". Plus modified EmulateANDImm/Reg to delegate to TSTImm/Reg for Thumb2 32-bit instructions when Rd == '1111' and setflags is true. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
30fec12a2c2f0fe75c78e9b9f791bc53cd92cdfd |
|
19-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate LDRB (register) Arm instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
157b959b101cbdddb81a690d00ff0697540d83e7 |
|
18-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for "ADC (immediate)" and "ADC (register)". Plus add a helper method ReadCoreReg(uint32_t regnum, bool *success) to simplify coding a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
e97c0d5ea7b614b1fb257f63591e122e5651227c |
|
18-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for "AND (immediate)" and "AND (register)". Plus add macro definitions for APSR_C and APSR_V to simplify code. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
8fa2059234b17e9c377eea49b01f0ea084f66843 |
|
18-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation of Encoding A1 "A8.6.6 ADD (register)" and "A8.6.5 ADD (immediate, ARM)". git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
864a8e86b9e89d0f52b5020ace524eefebc9b9af |
|
18-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Finished renamings to make the emulation method names consistent case-wise. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
9f687729f0a2fff5dde65ce789c3a02e84c2ffcc |
|
18-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Some renamings to make the emulation method names consistent case-wise. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
4e19e62fa6e0ffabf5b5d235b52e8f229faf2bd0 |
|
18-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Removed redundant entry EmulateTBB() (there's an existing one EmulateTB()) and fixed some typos in section headings. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
e311f44d0347e955cc2306c08290b1b0f503387c |
|
18-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add header declarations for the remaining instructions we need to emulate, to cover those that can change the PC. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
10530c2f7bc5030f59563fb877510a218c9cea8f |
|
17-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Refactoring. Abstracted the set flags operation into its own helper method WriteFlags() and renamed WriteCoreRegisterWithFlags() to WriteCoreRegOptionalFlags(). Modified the call sites to use the helper methods. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
d761dcf991d66ab1d686f874270ba3c8cc9ff28c |
|
17-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
A8.6.6 ADD (register) Renamed EmulateAddRdnRm() to EmulateAddReg(), and added Encoding T1 to it. Where Encoding T2 can potentially modify the PC, causing a brnach. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
60299ec172c9bbeab4e1bbffad513d75cd1741de |
|
17-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateTB() method to emulate "Table Branch Byte" and "Table Branch Halfword" operations for Thumb2. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
cc96eb5967d878e8225ce61c645eb47857fbb3f2 |
|
17-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add stubs for pseudocode functions "MemA[]" amd "MemU[]", corresponding to aligned and unaligned memory accesses. The new stub functions are MemARead, MemAWrite, MemURead, and MemUWrite. At the moment these stubs just call ReadMemoryUnsigned or WriteMemoryUnsigned, but we can fill them out further later if we decide we need more accurate emulation of the memory system. Replaced all the direct calls to ReadMemoryUnsigned and WriteMemoryUnsigned in EmulateInstructionARM.cpp with calls to the appropriate new stub function. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
761d607aa4268797e10310c5806464406e7f9472 |
|
17-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add comment for the helper method WriteCoreRegisterWithFlags(). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
ca67d1c9572ad3890aa73863969a4b664f7781bc |
|
17-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Refactoring. Wrap the following pseudocode from the ARM Architecture Reference Manul: // if d == 15 then // Can only occur for encoding A1 // ALUWritePC(result); // setflags is always FALSE here // else // R[d] = result; // if setflags then // APSR.N = result<31>; // APSR.Z = IsZeroBit(result); // APSR.C = carry; // // APSR.V unchanged into a helper method WriteCoreRegisterWithFlags, and modified the existing methods to take advantage of it. Plus add two emulation methods (declaration only for now) for ORR (immediate) and ORR (register). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
eeab485b0c1197bc4f483a9fdd7d2489703cb5ab |
|
16-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for ROR (immediate), ROR (register), and RRX. Turns out that they can be funneled through the helper methods EmulateShiftImm()/ EmulateShiftReg() as well. Modify EmulateShiftImm() to handle SRType_ROR and SRType_RRX. And fix a typo in the impl of utility Shift_C() in ARMUtils.h. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
73a29de4b8f59594fd7a559c05fa795afe754551 |
|
16-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate STRB (Thumb) instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
225589ecc86ebce5414931e9fbabaafc75da95a8 |
|
16-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add tagging for EmulateLDRRtRnImm(). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
56886d25fb115d3550e3d60ee2e617b4bdb8847c |
|
16-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Minor comment change. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
41a0a15df85a0d4b428c13dff8606a064f5d8dfe |
|
16-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add emulation methods for LSL (immediate), LSL (register), LSR (immediate), and LSR (register). Create two helper methods EmulateShiftImm() and EmulateShiftReg() and have ASR, LSL, and LSR delegate to the helper methods which take an extra ARM_ShifterType parameter. The opcodes tables have not been updated yet to reflect these new entries. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
3fd63e92ed8fda0007ad645ee3bf6b040f41e71e |
|
16-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add documentation tags for LDM/STM instruction families. Add code to emulate STR (register) Arm instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
68cacf7eab5609a773d5090182e827ae9f4e7032 |
|
16-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Section heading for EmulateB(). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
a480df95c4f60e73f10b1df3a2579b1248fd7614 |
|
16-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add section headings corresponding to some of the ARM/Thumb emulation methods for better documentation. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
e7f8953988d593882971e4134f8423f4af1cffaa |
|
16-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
A8.6.14 ASR (register) Add EmulateASRReg() Encodings T1, T2, and A1 to the opcodes tables. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
7fac857ec72051dc0a91b027719c275ea672a470 |
|
15-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add eContextRegisterLoad instruction emulation context. Add code to emulate STR (Immediate, Thumb) instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
395fc33dc4b06c048ed35047ec461bc092ef2df3 |
|
15-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
Made lldb_private::ArchSpec contain much more than just an architecture. It now, in addition to cpu type/subtype and architecture flavor, contains: - byte order (big endian, little endian) - address size in bytes - llvm::Triple for true target triple support and for more powerful plug-in selection. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
668b45124a14cbd03e7b4965b3d86fdbf208d282 |
|
15-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Remove the "Register ®" parameter from the BXWritePC(), LoadWritePC(), and ALUWritePC() methods of EmulateInstructionARM class. The context data structure should provide sufficient information already. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
82f16aa9f19678ffa20b92a8df926e933940d34d |
|
15-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
A8.6.14 ASR (immediate) Add EmulateASRImm() Encodings T1, T2, and A1 to the opcodes tables. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
af556564f80fd417a9158754f5e2ee692e183f6d |
|
15-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate STMIB Arm instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
b6f8d7ec6f0a91a805d4ffa0f6fe8dcd1ae5c4d3 |
|
15-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate STMDB Arm instruction. Add some bit-mask fixes to code for getting register bits for various LDM and STM instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
1511f50f447c36af933d10910bc3d6cd1f41bfd3 |
|
15-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate the STMDA Arm instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
9bfe7f219fb47d93c2b866ad5a6342a827d0dbd6 |
|
15-Feb-2011 |
Caroline Tice <ctice@apple.com> |
- Rearrange instruction emulation contexts to use a union for the various types and numbers of arguments rather than trying to keep a constant number of arguments for all the types. - Also create a Register type within the instructions, to hold register type and number. - Modify EmulateInstructionArm.cpp to use the new register and context types in all the instruction emulation functions. - Add code to emulate the STM Arm instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
357c30f55eeeca5df8434831c8963ef8fc109227 |
|
14-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add entries for EmulateMovRdImm() -- "MOV (immediate)" -- Encodings T1 & T2 into g_thumb_opcodes table. Modify EmulateInstructionARM::EvaluateInstruction() so that if the cpsr has changed during evaluate instruction, we flush out the change into m_inst_cpsr in preparation for the next instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
28070c30cc87cc9679bb35bc11c42d0cc6ed4b0e |
|
12-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add entries for Encodings T1 and A1 of "MVN (immediate)" to g_arm_opcodes and g_thumb_opcodes tables. The corresponding EmulateMvnRdImm() method impl is empty for now. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
098ae2d54f9b1613e85ecb5f3d0808f102a97859 |
|
12-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add helper methods InITBlock() and LastInITBlock() to EmulateInstructionARM class instead of calling out to m_it_session.InITBlock()/LastInITBlock(), which simplifies the coding a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
ab3b3514b639d2cab1cd6c71c317e12059717a17 |
|
12-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateBXRm() ("Branch and Exchange") to both g_arm_opcodes and g_thumb_opcodes table. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
fa17220ce8b3db56b05317fd5e69c450127f8538 |
|
11-Feb-2011 |
Caroline Tice <ctice@apple.com> |
- Add three more instruction contexts to EmulateInstruction: eContextAdjustBaseRegister, eContextRegisterStore and eContextWriteMemoryRandomBits. - Implement a version of WriteBits32UnknownToMemory for writing to memory. - Modify EmulateLDM, EmulateLDMDA, EmulateLDMDB and EmulateLDMIB to use the eContextAdjustBaseRegister context when appropriate. - Add code to emulate the STM/STMIA/STMEA Arm instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125414 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
e4a4d301f3a06539098608749c55afaec063fca9 |
|
11-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateCmpRnRm() for Encodings T1 & T2 to the g_thumb_opcodes table to emulate CMP (register) operations. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
c9de910d61f0471d18fced716fc10681ef432010 |
|
11-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add Thumb2 LDR (literal) instruction into the g_thumb_opcodes table. Change the method name from *LDRRdPCRelative to *LDRRtPCRelative to be compliant with the ARM Arch Manual which uses Rt for the destination register. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
713c2665a27096b68f3f8956222375354f1292f8 |
|
11-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add new instruction context, eContextWriteRegisterRandomBits. Add new utility function, WriteBits32Unknown Modify the LDM* instruction emulation functions to call WriteBits32Unknown. Add missing overview comments to the LDM* instruction emulation functions. Add code to emulate LDMDA Arm instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
d4dc4444e124b290cbe30cdaade7e97161fa47c8 |
|
11-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add an entry for CMP (immediate) (Encoding T1) to the g_thumb_opcodes table. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
bf6ad173895183797cbd0ebd18710b2364a2c4c8 |
|
11-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add a helper method AddWithCarry() to the EmulateInstructionARM class. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
338bf54a49633d90f3c5e808847470901f25dee9 |
|
10-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add a generic EmulateMovRdRm() method and modify/add entries to the g_thumb_opcodes table. Also add some more defines and convenience functions. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
ef21b59059720fb14bf169f08c3cc3ffc2c598c8 |
|
10-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateLDRRtRnImm() for EncodingT1 of LDR (immediate, Thumb) to the g_thumb_opcodes table, and a helper method UnalignedSupport(). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
558133bb1d2d89dd4618259ce27b5c06f3970b48 |
|
10-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add a new member variable m_new_inst_cpsr to catch the to-be-updated state of the CPSR during the course of executing an opcode, and modified SelectInstrSet() to update this variable instead of the original m_inst_cpsr, which should be the cached copy of the CPSR at the beginning of executing the opcode. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
26863dc1d68712415ed56c9953f6fed79b38e131 |
|
10-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateAddRdnRm() for EncodingT2 of ADD(register) to the g_thumb_opcodes table, and a helper method ALUWritePC(Context&, uint32_t). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
ee9b1f7a1b52427f8ac3ae43d8064f10add803b1 |
|
09-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add some helper methods to the EmulateInstructionARM class as a first step in the refactorings of EmulateInstructionARM.cpp file, which will be modified later to take advantage of these helper methods. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
85aab33e2d866be406aa0ecc96cd37aa7a46a35c |
|
09-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate the LDMIB Arm instruction. Modify code for LDM and LDMDB instructions to only create one context and to reuse it, rather than creating multiple contexts. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
53ebab7a7bed312c496a49d52b225a01a1a02e89 |
|
09-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateCB() entry to the g_thumb_opcodes table to represent "Compare and Branch on NonZero and Compare and Branch on Zero" operations. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
0b29e24ecd86048ac5d722dc964e55bab49f72aa |
|
09-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate LDMDB Arm instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
b9f76c33ab97dcef2e9c1dbc471097edd6b98a86 |
|
08-Feb-2011 |
Caroline Tice <ctice@apple.com> |
Add code to emulate the LDM ARM instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
9ee056bb17843e8c757461dbf56c49e8de99a65e |
|
08-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add implementation for EmulateInstructionARM::EmulateB() and fixed two typos in g_thumb_opcodes as pointed out By Caroline. Refactored a little bit by adding two new helper methods to the EmulateInstructionARM class: o BranchWritePC() o BXWritePC() git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
3b620b38cd170c20ea607585021ab2ab50286943 |
|
07-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateInstructionARM::EmulateB entries to the g_arm_opcodes and g_thumb_opcodes tables. EmulateB() has empty impl. and needs to be filled in later. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
17f5afe9ed10bda3efbce0f26cf0c030331f8b15 |
|
05-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
Header patch, virtual dtor patch and missed UUID patch from Kirk Beitz. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
c315f860b343cf4a143f43c7d570d151989abb46 |
|
05-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateInstructionARM::EmulateIT() to the g_thumb_opcodes table, to represent the the 'If Then' instruction which makes up to four following instructions (the IT block)conditional. Hook up ITSession utility class as a member variable of EmulateInstructionARM. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
930704795c783e5bf1768a43da6f957108b40873 |
|
05-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add a utility class ITSession to maintain the ITState for the Thumb ISA. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
b77be414a1a4b74827f30e5944a58d4af0445ff4 |
|
04-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateInstructionARM::EmulateSVC() to the g_arm_opcodes and g_thumb_opcodes tables, to represent the supervisor call instruction (previosuly software interrupt). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
9b8d783409b5b80af2cf129c45cbc39c9544ccca |
|
02-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateBLXImmediate() and EmulateBLXRm() to the g_arm_opcodes and g_thumb_opcodes tables, which represent "bl <label>", "blx <label>", and "blx <Rm>" instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
587a0a4e5341bac8a8936b84fc73d6a7e8ada46f |
|
01-Feb-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add EmulateVPOP() to the g_arm_opcodes and g_thumb_opcodes tables, which represents an operation to load multiple extension registers from the stack. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
2b8e8b0d1ea00d0076ac20568c2ce2a2a1fe0240 |
|
01-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
Cleaned up the EmulateInstructionARM to have the evaluate instruction callbacks use member functions. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|
8482dedc1d0fb4669d1ec63ec259d1cb8eaeb20f |
|
01-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
Made the EmulateInstruction class into a plug-in interface and moved the source files around into the places they need to go. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
|