Lines Matching defs:reg_ctx
405 uint16_t read_register_u16_raw(RegisterContext *reg_ctx,
407 const RegisterInfo *reg_info = reg_ctx->GetRegisterInfoByName(reg_name);
411 bool success = reg_ctx->ReadRegister(reg_info, reg_value);
417 uint32_t read_register_u32_raw(RegisterContext *reg_ctx,
419 const RegisterInfo *reg_info = reg_ctx->GetRegisterInfoByName(reg_name);
423 bool success = reg_ctx->ReadRegister(reg_info, reg_value);
429 uint64_t read_register_u64_raw(RegisterContext *reg_ctx,
431 const RegisterInfo *reg_info = reg_ctx->GetRegisterInfoByName(reg_name);
435 bool success = reg_ctx->ReadRegister(reg_info, reg_value);
441 llvm::support::ulittle16_t read_register_u16(RegisterContext *reg_ctx,
444 read_register_u16_raw(reg_ctx, reg_name));
447 llvm::support::ulittle32_t read_register_u32(RegisterContext *reg_ctx,
450 read_register_u32_raw(reg_ctx, reg_name));
453 llvm::support::ulittle64_t read_register_u64(RegisterContext *reg_ctx,
456 read_register_u64_raw(reg_ctx, reg_name));
459 void read_register_u128(RegisterContext *reg_ctx, llvm::StringRef reg_name,
461 const RegisterInfo *reg_info = reg_ctx->GetRegisterInfoByName(reg_name);
464 if (reg_ctx->ReadRegister(reg_info, reg_value)) {
477 GetThreadContext_x86_64(RegisterContext *reg_ctx) {
486 thread_context.rax = read_register_u64(reg_ctx, "rax");
487 thread_context.rbx = read_register_u64(reg_ctx, "rbx");
488 thread_context.rcx = read_register_u64(reg_ctx, "rcx");
489 thread_context.rdx = read_register_u64(reg_ctx, "rdx");
490 thread_context.rdi = read_register_u64(reg_ctx, "rdi");
491 thread_context.rsi = read_register_u64(reg_ctx, "rsi");
492 thread_context.rbp = read_register_u64(reg_ctx, "rbp");
493 thread_context.rsp = read_register_u64(reg_ctx, "rsp");
494 thread_context.r8 = read_register_u64(reg_ctx, "r8");
495 thread_context.r9 = read_register_u64(reg_ctx, "r9");
496 thread_context.r10 = read_register_u64(reg_ctx, "r10");
497 thread_context.r11 = read_register_u64(reg_ctx, "r11");
498 thread_context.r12 = read_register_u64(reg_ctx, "r12");
499 thread_context.r13 = read_register_u64(reg_ctx, "r13");
500 thread_context.r14 = read_register_u64(reg_ctx, "r14");
501 thread_context.r15 = read_register_u64(reg_ctx, "r15");
502 thread_context.rip = read_register_u64(reg_ctx, "rip");
505 thread_context.eflags = read_register_u64(reg_ctx, "rflags");
506 thread_context.cs = read_register_u64(reg_ctx, "cs");
507 thread_context.fs = read_register_u64(reg_ctx, "fs");
508 thread_context.gs = read_register_u64(reg_ctx, "gs");
509 thread_context.ss = read_register_u64(reg_ctx, "ss");
510 thread_context.ds = read_register_u64(reg_ctx, "ds");
511 thread_context.fs_base = read_register_u64(reg_ctx, "fs_base");
512 thread_context.gs_base = read_register_u64(reg_ctx, "gs_base");
517 GetThreadContext_ARM64(RegisterContext *reg_ctx) {
526 thread_context.x[i] = read_register_u64(reg_ctx, reg_name);
530 thread_context.x[31] = read_register_u64(reg_ctx, "sp");
531 thread_context.pc = read_register_u64(reg_ctx, "pc");
532 thread_context.cpsr = read_register_u32(reg_ctx, "cpsr");
533 thread_context.fpsr = read_register_u32(reg_ctx, "fpsr");
534 thread_context.fpcr = read_register_u32(reg_ctx, "fpcr");
537 read_register_u128(reg_ctx, reg_name, &thread_context.v[i * 16]);
552 bool prepareRegisterContext(RegisterContext *reg_ctx) {
555 x86_64 = GetThreadContext_x86_64(reg_ctx);
558 arm64 = GetThreadContext_ARM64(reg_ctx);
636 RegisterContext *reg_ctx = reg_ctx_sp.get();
640 if (!thread_context.prepareRegisterContext(reg_ctx)) {
647 uint64_t sp = reg_ctx->GetSP();