- 博客(14)
- 资源 (5)
- 收藏
- 关注
原创 ARM上电启动及Uboot代码分析
网上关于ARM的bootloader(以Uboot为例)的启动顺序的资料有好多,但是对于Uboot的地址映射、体系结构级操作介绍很少,都是直接开始Start.s代码的阅读。本文拟详细分析Uboot从上电,到第一条指令的执行,同时分析代码对于cache、TLB等部件的操作过程。以下内容以u-boot-2012.04.01源码为例,从网上很容易下载该版本。
2014-05-30 17:30:56 17810 72
原创 ARMv8 Linux内核异常处理过程分析
看了Linaro提供的开源ARMv8 Linux内核源码,发现ARMv8异常处理与ARMv7及之前的架构有所不同,详细分析之。
2014-05-30 17:13:12 9181
原创 ARMv7处理器各个模式之间是如何切换的?模式切换时上下文的保存哪些是硬件在做?哪些是操作系统在做?
ARMv7处理器各个模式之间是如何切换的?模式切换时上下文的保存哪些是硬件在做?哪些是操作系统在做?
2014-05-29 11:50:41 3785
原创 DMA过程分析
当我们在应用程序中编写write系统调用,向磁盘中写入数据时,写入请求会先调用底层写函数,将请求先写入内存中的页高速缓存(page cache)中,写入成功则立刻返回,真正的写入磁盘操作会延迟执行。Page cache是硬盘在内存中的一个缓存,是linux内核所使用的主要磁盘高速缓存,在绝大多数情况下,内核在读写磁盘时都引用page cache(极少数应用会绕过页高速缓存,如数据库软件)。
2014-05-30 17:40:58 7937
原创 ARMv8 Linux内核源码分析:__flush_dcache_all()
ARMv8 Linux内核源码分析:__flush_dcache_all()
2014-05-30 16:56:35 3234
原创 ARMv7用户层发生指令异常的处理流程?是否每个进程都有一个APSR的副本?
1、用户层发生指令异常的处理流程?用户层程序正在执行时,遇到未定义的指令(ARM不是别的指令)或者SWI软件中断指令(产生系统调用),就会产生异常,这里以未定义指令异常为例进行说明: 一旦出现未定义指令异常,CPU会自动做如下操作:(1)未定义模式(ARM其中运行模式的一种)下对应的lr(即R14)寄存器保存当前发生异常的指令下一条指令的地址。例如,在用户态有A B C
2014-05-29 11:52:31 3525
原创 关于ARMv8指令的几个问题
问题一:ARMv8 branch指令格式及用法(《ARMv8 ISA overview》中 page 25有相关叙述):问题二:ARMv8指令分类:问题三:ARMv8有没有两个目的操作数的指令?问题四:ARMv8中源操作数超过三个的指令及分类:问题五:branch指令向前向后跳转的区别
2014-05-29 11:48:39 7377 5
原创 simplescalar CPU模拟器源码分析
Sim-outorder.cMain函数Fetch ——> despetch——> issue——> writeback ——>commitCode text——>fetch queue ——> RUU/LSQ(—>readyqueue)—...
2014-05-29 11:45:18 5336
原创 关于ARMv8另外几个问题
之前没有ARMv8手册,所有问题只能从Linux内核源码中找答案,例如一下几个问题:问题1:支持ARMv8的Linux内核异常向量地址在哪?问题2:找出TLB中存放的ARMv8的页表格式?问题3:ARMv8中重要的控制寄存器的各位的意思是什么?
2014-05-29 11:41:58 6343
原创 从编译器源码中提取ARMv8的指令编码
2012年时,ARMv8 体系结构手册还没发布,当时项目需要ARMv8指令编码,我就从ARMv8交叉编译工具链的binutils中提取出了所有ARMv8指令的二进制编码,虽然ARMv8手册中已经详细公布,但方法还是值得一读。现把方法列出。
2014-05-29 11:40:00 4217
原创 虚拟化Xen平台中,Dom0和DomU之间发送网络数据时各个部分所运行时间
虚拟化Xen平台中,Dom0和DomU之间发送网络数据时各个部分所运行时间
2014-05-28 16:02:23 3461
转载 帮你理解网关、ARP、IP、MAC、路由
假设你叫小不点(本地主机),住在一个大院子(本地局域网)里,有很多邻居(网络邻居),门口传达室有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个伙伴玩,只要你在院子里大喊一声他的名字(ping他一下),他听到了就会回应你,并且跑出来跟你玩。 但是你不被允许走出大门,你与外界的一切联系,都必须李大爷(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一
2014-05-16 10:52:51 2012
关于内核动态补丁技术(kpatch)
2018-11-19
ARMv8 Linux内核异常处理分析
2014-05-30
ARM上电启动及Uboot代码分析
2014-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人