当前位置: 首页 > news >正文

使用硬件调试器认识arm64的四大特权级

今天出差回来,看录像学习arm相关知识。看的是看雪学苑的视频号。边看边记录。

大局观

布局:内核在ring0

虚拟化技术后,增加了地下室层,VMM:虚拟机监视器

加上intel的系统管理模式,又加了一层。 SMM像如来佛的手掌心,其他层像孙悟空。

armv8重新定义软件世界.arm源自英国剑桥,定义了更合理的抽象。

arm分为4大特权级别。分为普通世界和安全世界。上面是可信区监视器。

通过读寄存器可以知道当前在哪个级别。

跨空间协作

演示环境

EL0寻常见

应用层,可以运行gdb ls

在比较低的地址,工具也比较多。

LINUX在EL1

linux要用内核调试

回马枪和GDK通过coresight建立会话。

中断后可以看到Linux的基地址

刚才EL0地址比较小,现在内核的地址比较大。
lm命令可以列出模块,lk 是linux kernel的缩写。
mrs是读ARM系统寄存器。
汇编语言也可以看到特权级别:系统寄存器都标识了el0,el1

设置调试符号路径 .sympath c:\xxx\lkernel
.reload

~0s 是切换到0号CPU

设置源文件路径:.srcpath c:\xxx,h  这样可以自动对应源文件
.frame 4  时光倒流到4号栈帧

rest_init: 其余的初始化,会把其他CPU唤醒。最后跳到idle loop休息。

r 查看寄存器

x lk!*switch*
x lk!cpu_switch_to
ba e4 lk!cpu_switch_to
断点命中:

内核在切换线程的时候中断下来了。可以亲眼看到切线程的过程。

prev是前一个线程,next是后一个线程。无论前后,都是个task_struct的大结构体

x0就指向这个结构体,可以dt查看

其中的comm字段是线程名称。

arm传递参数,前6个用x0~x5来传,刚才x0是prev, x1就是next

migration线程是监护CPU ready队列的

bd *  把断点禁止到

g 重新跑起来

内核空间

XEN或者UBOOT在EL2

启动时UBOOT,启动好了XEN住。
感受一些UBOOT
reboot gdk8
sudo reboot
按11可以进入uboot命令行

help  :列出uboot的命令
dm tree  看设备树

也可以用NDB调试,选uboot

uboot阶段,只有0号CPU工作,其他3个核诊断失败,说明还在睡觉。

coresight寄存器DSCR也检测到目前处于EL2

NDB识别语义,也可以进行源码级别的跟踪调试

PC地址,栈地址,都有不同的特点。

lm 查看模块
uboot有一个精妙设计,x18放特殊值

.sympath  检查符号路径,发现还是kernel的,要切换到uboot
.sympath d:\xxx\uboot ,然后就可以看到代码位置了。

典型堆栈

ba e4 uboot!getc  设置断点

kn

.frame

.srcpath f:\xxx

dv  看参数

xen在云上使用很多。也是来自剑桥。使用内存也有字节的特点

ATF在EL3

uboot中敲rbrom

CPU会重启。

rom模式会提供工具刷机

也可以调试

相关文章:

  • WPF【11_1】WPF实战-重构与美化(Entity Framework)
  • 【网络编程】十七、多路转接之 epoll
  • 想查看或修改 MinIO 桶的匿名访问权限(public/private/custom)
  • gdiplus,GDI +为什么2001年发布后几乎没有再更新了
  • 使用堡塔和XShell
  • @recogito/annotorious图像标注库
  • 哪些情况索引会失效?
  • 在VSTO C#中获取Excel范围内最后一个非空单元格,可以通过以下几种方法实现
  • vue+threeJs 创建多色几何体+加载obj模型+跳转ojb模型中心
  • 第五章 文件内容显示
  • Java设计模式之职责链模式详解
  • 尚硅谷redis7 47-48 redis事务之理论简介
  • 【Vue3】生命周期 hook函数 toRef
  • Foupk3systemX5OSNTXPro引擎
  • 什么是MCP技术,跟http技术有什么区别
  • SpringBoot集成Tika实现文档解析
  • 互联网医疗问诊APP原型设计:12个实战案例解析
  • 计算机组成与体系结构:硬盘驱动器(Hard Disk Drives)
  • 有趣的游戏化单词学习 APP
  • 【FAQ】spring boot 3 集成 nacos
  • 网站建设案例 算命网站/站长工具 站长之家
  • 做童装在哪个网站找客户/网络推广企业
  • 重庆丰标建设网站/查网站权重
  • 阿里云的网站建设好不好/推广策略怎么写
  • Wordpress实现中英文/可靠的网站优化
  • 长春网站建设企业/网络推广有哪些渠道