Lines Matching refs:ucontext
1513 static void SetUcontextSp(uint64_t sp, ucontext_t* ucontext) { in SetUcontextSp() argument
1515 ucontext->uc_mcontext.arm_sp = sp; in SetUcontextSp()
1517 ucontext->uc_mcontext.sp = sp; in SetUcontextSp()
1519 ucontext->uc_mcontext.gregs[REG_ESP] = sp; in SetUcontextSp()
1521 ucontext->uc_mcontext.gregs[REG_RSP] = sp; in SetUcontextSp()
1524 UNUSED(ucontext); in SetUcontextSp()
1529 static void SetUcontextPc(uint64_t pc, ucontext_t* ucontext) { in SetUcontextPc() argument
1531 ucontext->uc_mcontext.arm_pc = pc; in SetUcontextPc()
1533 ucontext->uc_mcontext.pc = pc; in SetUcontextPc()
1535 ucontext->uc_mcontext.gregs[REG_EIP] = pc; in SetUcontextPc()
1537 ucontext->uc_mcontext.gregs[REG_RIP] = pc; in SetUcontextPc()
1540 UNUSED(ucontext); in SetUcontextPc()
1545 static void SetUcontextLr(uint64_t lr, ucontext_t* ucontext) { in SetUcontextLr() argument
1547 ucontext->uc_mcontext.arm_lr = lr; in SetUcontextLr()
1549 ucontext->uc_mcontext.regs[30] = lr; in SetUcontextLr()
1553 ASSERT_TRUE(ucontext != nullptr); in SetUcontextLr()
1557 ASSERT_TRUE(ucontext != nullptr); in SetUcontextLr()
1560 UNUSED(ucontext); in SetUcontextLr()
1601 ucontext_t ucontext; in UnwindFromDevice() local
1605 memset(&ucontext, 0, sizeof(ucontext)); in UnwindFromDevice()
1606 SetUcontextSp(reinterpret_cast<uint64_t>(&ucontext), &ucontext); in UnwindFromDevice()
1607 SetUcontextPc(device_map_uint, &ucontext); in UnwindFromDevice()
1608 SetUcontextLr(cur_func_offset, &ucontext); in UnwindFromDevice()
1610 ASSERT_TRUE(backtrace->Unwind(0, &ucontext)); in UnwindFromDevice()
1616 ASSERT_EQ(reinterpret_cast<uint64_t>(&ucontext), frame->sp); in UnwindFromDevice()
1619 ASSERT_TRUE(backtrace->Unwind(1, &ucontext)); in UnwindFromDevice()
1624 memset(&ucontext, 0, sizeof(ucontext)); in UnwindFromDevice()
1625 SetUcontextSp(device_map_uint, &ucontext); in UnwindFromDevice()
1626 SetUcontextPc(cur_func_offset, &ucontext); in UnwindFromDevice()
1627 SetUcontextLr(cur_func_offset, &ucontext); in UnwindFromDevice()
1629 ASSERT_TRUE(backtrace->Unwind(0, &ucontext)); in UnwindFromDevice()
1638 ASSERT_TRUE(backtrace->Unwind(1, &ucontext)); in UnwindFromDevice()