发布时间:2014-05-12 01:09:27
1.中断和异常中断可分为同步(synchronous)中断和异步(asynchronous)中断:(1)同步中断又称为异常,是当指令执行时由CPU控制单元产生,之所以称为同步,是因为只有在一条指令执行完成后CPU才会发出中断。典型的异常有缺页和除0。(2)异步中断是指由其他硬件设备依照CPU时钟信号随机产生。1.1 ARM异.........【阅读全文】
发布时间:2014-05-12 01:09:02
转载请注明出处:wloveg.blog.chinaunix.net5.中断处理流程回顾第一节所讲的内容,当一个异常或中断发生时,处理器会将PC设置为特定地址,从而跳转到已经初始化好的异常向量表。因此,要理清中断处理流程,先从异常向量表开始。对于ARM Linux而言,异常向量表和异常处理程序都存在arch/arm/kernel/entry_armv.S.........【阅读全文】
发布时间:2014-04-04 20:43:28
linux的内存(正式)页表是在内核代码执行到start_kernel函数后执行paging _init函数建立的,这里要注意一个事情就是说,这里paging_init函数可以正常创建内存页表的条件有两个:1、 meminfo已初始化:即初始化物理内存各个.........【阅读全文】
发布时间:2014-04-04 20:38:46
static void __init alloc_init_section(pud_t *pud, unsigned long addr, unsigned long end, phys_addr_t phys, const struct mem_type *type){pmd_t *pmd = pmd_offset(pud, addr);if (((addr | end | phys) & ~SECTION_MASK) == 0) {pmd_t *p = pmd;if (addr & SECTION.........【阅读全文】