logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

关于ARMv8另外几个问题

之前没有ARMv8手册,所有问题只能从Linux内核源码中找答案,例如一下几个问题:问题1:支持ARMv8的Linux内核异常向量地址在哪?问题2:找出TLB中存放的ARMv8的页表格式?问题3:ARMv8中重要的控制寄存器的各位的意思是什么?

ARM Linux 的TLB miss和page fault的异常处理

ARMLinux的TLB miss处理过程——Heron(2012.11.23)在ARM架构下,TLB miss后的工作绝大多数情况是由hardwarepage table walk完成,特殊情况下hardware page table walk可以被关闭,此时发生TLB miss后CPU就会产生一个translationfault,剩下的工作由OS接管,完成对于translation f

交叉编译SPECCPU2006

为了在模拟器(gem5等)上、arm开发板上运行SPECCPU2006,需要交叉编译之,本文提供交叉编译SPECCPU2006的步骤。1、下载SPECCPU2006.iso(http://www.spec.org/)2、因为下载的是iso格式,需要mount到linux的某个目录下再进行操作。# mount iso9660 path-to-SPECXX.iso  /mnt/iso -o

ARM Linux中断机制分析

ARM Linux中断机制分析——以用户模式产生irq中断为例以下代码基于内核linux2.6.38.3(trimslice官网下载)本文主要分析ARM发生中断时的处理流程,以在usr态发生IRQ为例,即usr—>irq为例讨论。   1.内核异常向量表的初始化1.1初始化大致流程ARM linux内核启动时,首先运行的是linux/arch/arm/kerne

#linux
简单解读linux的/proc下的statm、maps、memmap 内存信息文件分析

几乎看什么内核漏洞分析之类的文章,第一眼都是被 cat /proc/{pid}/maps产生的一堆奇怪的信息唬住了,都不敢往下看居然没有搜到关于它们的详细介绍,旁边也没有表头什么的解释信息那就我来整理一下吧,方便后人ls /proc 能看到一些数字命名的文件夹,这个就不多说了,什么pid、fd的知识还是容易弄到的拿init开刀,[root@localhost proc]

#linux
ARM linux内核在内存中的布局

Kernel Memory Layout on ARM LinuxRussell KingNovember 17, 2005 (2.6.15)This document describes the virtual memory layout which the Linuxkernel uses for ARM processors.It indicates wh

mmap方法实现物理内存到用户虚拟地址的映射

内核空间内存管理:物理内存被划分成structpage来进行管理。然后把所有page划分成不同的structzone,Linux中使用了三种zone:ZONE_DMA;ZONE_NORMAL;ZONE_HIGHMEM;内核中获取内核虚拟内存有三种途径:获取页:如果你需要用到structpage

磁盘DMA过程分析

当我们在应用程序中编写write系统调用,向磁盘中写入数据时,写入请求会先调用底层写函数,将请求先写入内存中的页高速缓存(page cache)中,写入成功则立刻返回,真正的写入磁盘操作会延迟执行。Page cache是硬盘在内存中的一个缓存,是linux内核所使用的主要磁盘高速缓存,在绝大多数情况下,内核在读写磁盘时都引用page cache(极少数应用会绕过页高速缓存,如数据库软件)。当把

ARMv8 Linux内核异常处理过程分析

看了Linaro提供的开源ARMv8 Linux内核源码,发现ARMv8异常处理与ARMv7及之前的架构有所不同,详细分析之。

ARMv8 Linux内核异常处理过程分析

看了Linaro提供的开源ARMv8 Linux内核源码,发现ARMv8异常处理与ARMv7及之前的架构有所不同,简单分析。LinaroARMv8工程:http://www.linaro.org/engineering/engineering-projects/armv81.1 Linux内核异常处理相关文件Linux内核中,异常处理主要由两个文件完成,entry.S和traps.c,

到底了