Lines Matching full:lldb
14 #include "lldb/API/SBCommandInterpreter.h"
15 #include "lldb/API/SBCommandReturnObject.h"
16 #include "lldb/API/SBMemoryRegionInfo.h"
17 #include "lldb/API/SBProcess.h"
18 #include "lldb/API/SBTarget.h"
19 #include "lldb/API/SBThread.h"
24 static bool GetPtr(char *cptr, uint64_t &ptr, lldb::SBFrame &frame, in GetPtr()
25 lldb::SBCommandReturnObject &result) { in GetPtr()
28 result.SetStatus(lldb::eReturnStatusFailed); in GetPtr()
32 lldb::SBValue ptr_addr = frame.GetValueForVariablePath(cptr); in GetPtr()
35 result.SetStatus(lldb::eReturnStatusFailed); in GetPtr()
60 static void PrintBTEntry(lldb::addr_t lbound, lldb::addr_t ubound, in PrintBTEntry()
62 lldb::SBCommandReturnObject &result) { in PrintBTEntry()
63 const lldb::addr_t one_cmpl64 = ~((lldb::addr_t)0); in PrintBTEntry()
64 const lldb::addr_t one_cmpl32 = ~((uint32_t)0); in PrintBTEntry()
77 lldb::SBTarget &target, llvm::Triple::ArchType arch, in GetBTEntryAddr()
78 size_t &size, lldb::addr_t &bt_entry_addr, in GetBTEntryAddr()
79 lldb::SBCommandReturnObject &result, in GetBTEntryAddr()
80 lldb::SBError &error) { in GetBTEntryAddr()
81 lldb::addr_t mpx_base_mask; in GetBTEntryAddr()
82 lldb::addr_t mpx_bd_mask; in GetBTEntryAddr()
83 lldb::addr_t bd_r_shift; in GetBTEntryAddr()
84 lldb::addr_t bd_l_shift; in GetBTEntryAddr()
85 lldb::addr_t bt_r_shift; in GetBTEntryAddr()
86 lldb::addr_t bt_l_shift; in GetBTEntryAddr()
87 lldb::addr_t bt_mask; in GetBTEntryAddr()
107 result.SetStatus(lldb::eReturnStatusFailed); in GetBTEntryAddr()
112 lldb::addr_t mpx_bd_base = bndcfgu & mpx_base_mask; in GetBTEntryAddr()
113 lldb::addr_t bd_entry_offset = ((ptr & mpx_bd_mask) >> bd_r_shift) in GetBTEntryAddr()
115 lldb::addr_t bd_entry_addr = mpx_bd_base + bd_entry_offset; in GetBTEntryAddr()
125 lldb::SBData data; in GetBTEntryAddr()
128 lldb::addr_t bd_entry = data.GetAddress(error, 0); in GetBTEntryAddr()
137 result.SetStatus(lldb::eReturnStatusFailed); in GetBTEntryAddr()
145 lldb::addr_t bt_addr = bd_entry & ~bt_r_shift; in GetBTEntryAddr()
146 lldb::addr_t bt_entry_offset = ((ptr & bt_mask) >> bt_r_shift) << bt_l_shift; in GetBTEntryAddr()
152 static bool GetBTEntry(uint64_t bndcfgu, uint64_t ptr, lldb::SBTarget &target, in GetBTEntry()
154 lldb::SBCommandReturnObject &result, in GetBTEntry()
155 lldb::SBError &error) { in GetBTEntry()
156 lldb::addr_t bt_entry_addr; in GetBTEntry()
173 result.SetStatus(lldb::eReturnStatusFailed); in GetBTEntry()
177 lldb::addr_t lbound; in GetBTEntry()
178 lldb::addr_t ubound; in GetBTEntry()
181 lldb::SBData data; in GetBTEntry()
202 result.SetStatus(lldb::eReturnStatusSuccessFinishResult); in GetBTEntry()
215 static bool SetBTEntry(uint64_t bndcfgu, uint64_t ptr, lldb::addr_t lbound, in SetBTEntry()
216 lldb::addr_t ubound, lldb::SBTarget &target, in SetBTEntry()
218 lldb::SBCommandReturnObject &result, in SetBTEntry()
219 lldb::SBError &error) { in SetBTEntry()
220 lldb::addr_t bt_entry_addr; in SetBTEntry()
242 result.SetStatus(lldb::eReturnStatusFailed); in SetBTEntry()
246 result.SetStatus(lldb::eReturnStatusSuccessFinishResult); in SetBTEntry()
250 static bool GetInitInfo(lldb::SBDebugger debugger, lldb::SBTarget &target, in GetInitInfo()
253 lldb::SBCommandReturnObject &result, in GetInitInfo()
254 lldb::SBError &error) { in GetInitInfo()
258 result.SetStatus(lldb::eReturnStatusFailed); in GetInitInfo()
270 result.SetStatus(lldb::eReturnStatusFailed); in GetInitInfo()
274 lldb::SBFrame frame = in GetInitInfo()
278 result.SetStatus(lldb::eReturnStatusFailed); in GetInitInfo()
282 lldb::SBValue bndcfgu_val = frame.FindRegister("bndcfgu"); in GetInitInfo()
286 result.SetStatus(lldb::eReturnStatusFailed); in GetInitInfo()
290 lldb::SBData bndcfgu_data = bndcfgu_val.GetData(); in GetInitInfo()
303 class MPXTableShow : public lldb::SBCommandPluginInterface {
305 bool DoExecute(lldb::SBDebugger debugger, char **command, in DoExecute()
306 lldb::SBCommandReturnObject &result) override { in DoExecute()
315 result.SetStatus(lldb::eReturnStatusFailed); in DoExecute()
325 result.SetStatus(lldb::eReturnStatusFailed); in DoExecute()
329 lldb::SBTarget target; in DoExecute()
331 lldb::SBError error; in DoExecute()
343 result.SetStatus(lldb::eReturnStatusFailed); in DoExecute()
348 class MPXTableSet : public lldb::SBCommandPluginInterface {
350 bool DoExecute(lldb::SBDebugger debugger, char **command, in DoExecute()
351 lldb::SBCommandReturnObject &result) override { in DoExecute()
373 lldb::SBTarget target; in DoExecute()
375 lldb::SBError error; in DoExecute()
408 bool MPXPluginInitialize(lldb::SBDebugger &debugger) { in MPXPluginInitialize()
409 lldb::SBCommandInterpreter interpreter = debugger.GetCommandInterpreter(); in MPXPluginInitialize()
410 lldb::SBCommand mpxTable = interpreter.AddMultiwordCommand( in MPXPluginInitialize()