小编Vic*_*kyi的帖子

如何打印GDB中特定寄存器的值?

有人知道如何通过GDB打印scr_el3寄存器的内容吗?它是针对ARM平台的。

汇编代码的转储如下所示:

   0x0000000000004394 <+20>:    msr     scr_el3, x18
   0x0000000000004398 <+24>:    msr     spsr_el3, x16
   0x000000000000439c <+28>:    msr     elr_el3, x17
Run Code Online (Sandbox Code Playgroud)

我试过了:

(gdb) print $pc
$10 = (void (*)()) 0x43a0 <el3_exit+32>
(gdb) print $spsr_el3
$11 = void
Run Code Online (Sandbox Code Playgroud)

但这没有帮助。

c gdb arm

5
推荐指数
0
解决办法
617
查看次数

如何在ARMv8中ERET到相同的异常级别?

已知如何从异常级别返回到上一个异常级别(set elr_el3 -> set spsr_el3 ->execute eret),但是如何从 EL3 ERET 到同一个 EL3?在ARM的官方文档中,我发现这样一句话说这是可能的:“从异常返回可以保持在相同的异常级别或进入较低的异常级别。它不能移动到更高的异常级别。”。

assembly arm

5
推荐指数
1
解决办法
3397
查看次数

标签 统计

arm ×2

assembly ×1

c ×1

gdb ×1