llvm-project/lldb/source/Plugins
Pavel Labath 029fb69372 [lldb] Use vFlash commands when writing to target's flash memory regions
Summary:
When writing an object file over gdb-remote, use the vFlashErase, vFlashWrite, and vFlashDone commands if the write address is in a flash memory region.  A bare metal target may have this kind of setup.

- Update ObjectFileELF to set load addresses using physical addresses.  A typical case may be a data section with a physical address in ROM and a virtual address in RAM, which should be loaded to the ROM address.
- Add support for querying the target's qXfer:memory-map, which contains information about flash memory regions, leveraging MemoryRegionInfo data structures with minor modifications
- Update ProcessGDBRemote to use vFlash commands in DoWriteMemory when the target address is in a flash region

Original discussion at http://lists.llvm.org/pipermail/lldb-dev/2018-January/013093.html

Reviewers: clayborg, labath

Reviewed By: labath

Subscribers: arichardson, emaste, mgorny, lldb-commits

Differential Revision: https://reviews.llvm.org/D42145
Patch by Owen Shaw <llvm@owenpshaw.net>

llvm-svn: 326261
2018-02-27 22:14:33 +00:00
..
ABI [lldb][PPC64] Fixed vector and struct return value 2018-02-16 09:29:41 +00:00
Architecture Move ArchSpec to the Utility module 2017-11-13 16:16:33 +00:00
Disassembler Check existence of each required component during construction of LLVMCDisassembler. 2018-01-11 12:06:22 +00:00
DynamicLoader Advanced guessing of rendezvous breakpoint (resubmit) 2018-01-11 03:46:35 +00:00
ExpressionParser Make LLDB's clang module cache path customizable 2018-02-09 22:08:26 +00:00
Instruction [LLDB] Initial version of PPC64 InstEmulation 2018-02-27 18:42:46 +00:00
InstrumentationRuntime Upstreaming a patch from Github: When evaluation user expressions, ignore InstrumentationRuntime breakpoints. (#235) 2017-07-13 04:35:27 +00:00
JITLoader Rename Error -> Status. 2017-05-12 04:51:55 +00:00
Language [ObjC] Fix the NSConcreteData formatter and test it 2018-02-22 23:48:21 +00:00
LanguageRuntime Fix some warnings found by ToT clang 2017-11-02 21:35:26 +00:00
MemoryHistory Rename Error -> Status. 2017-05-12 04:51:55 +00:00
ObjectContainer Move ArchSpec to the Utility module 2017-11-13 16:16:33 +00:00
ObjectFile [lldb] Use vFlash commands when writing to target's flash memory regions 2018-02-27 22:14:33 +00:00
OperatingSystem Move ArchSpec to the Utility module 2017-11-13 16:16:33 +00:00
Platform Sync PlatformNetBSD.cpp with Linux 2018-02-05 17:12:23 +00:00
Process [lldb] Use vFlash commands when writing to target's flash memory regions 2018-02-27 22:14:33 +00:00
ScriptInterpreter Revert r317182 for https://reviews.llvm.org/D39128 2017-11-02 03:17:07 +00:00
StructuredData Add Utility/Environment class for handling... environments 2018-01-10 11:57:31 +00:00
SymbolFile Replace HashStringUsingDJB with llvm::djbHash 2018-02-23 17:49:26 +00:00
SymbolVendor We have two sources for path remapping information that we get out 2018-01-12 22:42:45 +00:00
SystemRuntime Move StructuredData from Core to Utility 2017-06-27 10:45:31 +00:00
UnwindAssembly Move ArchSpec to the Utility module 2017-11-13 16:16:33 +00:00
CMakeLists.txt Move StopInfoOverride callback to the new architecture plugin 2017-10-25 21:05:31 +00:00