![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM虚拟化技术
文章平均质量分 51
newbee_wxh
专注 稳重 学习
展开
-
ARM Linux 在底层 BSP 上的优化
`ARM Linux`在底层`BSP`上的优化原创 2022-04-10 21:12:37 · 585 阅读 · 0 评论 -
qemu中对虚拟中断的处理
qemu中对虚拟中断的处理原创 2022-03-22 17:26:42 · 374 阅读 · 1 评论 -
将设备树.dtb合并到OS的镜像.bin中
加载设备树的两条途径:1、在uboot启动后,使用uboot所提供的命令,加载设备树;tftpboot [地址] xxx.dtbfdt addr [地址]2、将.dtb直接嵌入到操作系统的镜像中,无需显式加载;.global fdt_blobFUNC_LABEL (fdt_blob).incbin "xxx.dtb"FUNC_END (fdt_blob)//在sysInit入口处将fdt_blob放置到X20寄存器供后续使用LDR X0,=fdt_blobMOV X20,X0原创 2021-06-15 20:27:11 · 561 阅读 · 4 评论 -
ARMv8 AA64 REGISTERS */
SPSR_EL1 Register aarch64Holds the saved process state when an exception is taken to EL1#define SPSR_EL1_N BIT(31) // N condition flag#define SPSR_EL1_Z BIT(30) // Z condition flag#define SPSR_EL1_C .原创 2021-04-07 14:32:13 · 195 阅读 · 0 评论 -
ARMv8通用寄存器与特殊寄存器说明
ARMv8寄存器说明1 通用寄存器ARMv8提供了31个通用寄存器 R0~R30;在AArch32架构,通用寄存器w0~w30是32bit宽度;在AArch64架构,通用寄存器x0~x30是64bit宽度;2 特殊寄存器SP (stack pointer register) 指向当前栈的指针;AArch64架构为SP AArch32架构为WSP;PC (program counter) 指向当前指令的地址;连接寄存器LR,保存子程序的返回地址; AArch32架构中LR...原创 2021-03-25 13:47:39 · 3200 阅读 · 1 评论 -
aarch64架构寄存器说明
1、aarch64通用寄存器:ARMv8-aarch64有31个64位的寄存器:x0~x31,其中x29属于帧寄存器(FP),x30属于程序链接寄存器(LR);2、aarch64特殊寄存器:寄存器类型寄存器Zero registerXZR/WZRProgram counterPCStack pointerSP_EL0/EL1/EL2/EL3Program status registerSPSR_EL1/EL2/EL3Exception link re原创 2020-11-16 20:19:12 · 2441 阅读 · 0 评论 -
ARM虚拟化技术的实现
主流的操作系统都有一个假设,就是这个系统有一个特权模式之下的OS,之上在跑多个非特权模式的APP;而ARM的虚拟化技术就是在同一个系统上共存多个操作系统,实现这种虚拟技术需要硬件的扩展(加速虚拟机之间的切换)和Hypervisor软件层的提供一些必要的功能。硬件扩展:用于处理虚拟化代码的异常级别EL2;支持捕获更改内核上下文或状态的异常;支持路由异常和虚拟中断;两阶段的内存地址转换,其中第二阶段为hypervisor用来隔离客户端操作系统;hypervisor call(hvc)的专用异常.原创 2020-11-16 20:20:02 · 771 阅读 · 0 评论