背景介绍: IRQ域层级结构: 在某些架构上,可能有多个中断控制器参与将一个中断从设备传送到目标CPU. 让我们来看看x86平台上典型的中断传递路径吧 Device --> IOAPIC -> Interrupt remapping Controller -> Local APIC -> CPU 涉及到的中断控制器有三个: IOAPIC 控制器 中断重映射控制器 Local APIC 控制器 如果是之前就对x86的中断控制器比较熟悉的同学,并且细心的话,会发现我们将 中断重映射控制…
intel 的iommu 是iommu框架的一个实现案例. 由于intel 的iommu 实现得比arm smmv3复杂得多,里面概念也多,所以针对intel 实现的iommu 案例的初始化部分进行一些讲解,本文针对4.19内核. Intel IOMMU的初始化函数在哪调用的呢? 它的初始化函数是: int __init intel_iommu_init(void) { int ret = -ENODEV; struct dmar_drhd_unit *drhd; struct intel_io…
本文主要介绍iommu的框架.基于4.19.204内核 IOMMU核心框架是管理IOMMU设备的一个通过框架,IOMMU设备通过实现特定的回调函数并将自身注册到IOMMU核心框架中,以此通过IOMMU核心框架提供的API向整个内核提供IOMMU功能. 1.借用互联网的图: 该图几乎到处可见,大致表明了iommu在内核中的地位,但是需要注意的是,这个只表明了iommu的 dma 翻译功能,没有表明其 irq_remap 的功能. 2.iommu的驱动模块抽象 不同的arch,不同的iommu硬件,…
                                                [市场调研与分析]Intel发力移动安全领域                                                 第一部分 Intel收购McAfee情况调研 1.1  Intel收购McAfee综述 2010年8月,英特尔公司以76.8亿美元价格收购安全软件供应商McAfee公司,继续向嵌入式前沿扩张,特别是手机市场.但这笔让人惊讶的交易仍存在质疑.英特尔在周四表示已经和…
继续上篇,上篇里忘记了也很重要的前端部分,今天的网站基本上是以一个启示页,然后少量的整页切换,大量的浏览器后台调用web服务局部.动态更新页面显示状态这种方式在运作的,从若干年前简单的ajax流行起来,后台是基于xml的web服务,到今天主流的web服务是基于所谓rest架构的json为载体的web服务,其实我个人觉得rest和过去xml的soap相比并没有本质级别的改变,反倒是今天的浏览器内运作的前端框架有更大的改变. 我个人不是擅长前端的开发人员也不热衷于前端内容,所以为了帮助团队的前端,我…
在本文第一章,分析的demo中使用了代码加载的方式加载了相关的类,但在我们的实际工作中,使用spring来加载相关的类的情况会更多,本文将分析一下motan是如何与spring一起协同工作的,主要的原理就是利用了spring支持的自定义标签的实现,这也是需要和spring结合的框架的实现方式. 1.首先实现motan.xsd文件,具体可以参见:http://api.weibo.com/schema/motan.xsd 2.对于标签的相应解析类进行注册: public class MotanNam…
一 : 术在内而道在外 Android系统的精髓在源码之外,而不在源码之内,代码只是一种实现人类思想的工具,仅此而已...... 近来发现很多关于Android文章都是以源码的方向入手分析Android这个系统,最终结果可想而知,甚是凄惨.正所谓自信满满的来,一脸懵逼的走. 想要真正了解Android系统,首先一定要站在更高的层次上做分析,以设计者的角度去思考.如果让你去设计Android系统,你会如何设计?而并不是把已经设计好的源码当做学习Android系统的切入点,源码只是让你进一步去验证自…
1. 前言 2. 为什么要自己手写框架 3. 简单MVC框架设计思路 4. 课程目标 5. 编码实战 5.1 配置阶段 web.xml配置 config.properties 自定义注解 5.2 初始化阶段 创建自定义EsDispatcherServlet doLoadConfig加载用户自定义配置 doScanClass扫描指定包下的类 doInitializeInstance类实例化 doAutowired依赖注入 doHandlerMapping配置URL和具体Handler方法映射规则…
1. 概述 1.1 模块动态加载卸载主流程 2. 模块动态加载 2.1 模块加载源码分析 2.1.1 AbstractModuleRefreshScheduler 2.1.2 ModuleLoaderImpl 2.2.3 ModuleManagerImpl 3. 模块动态卸载 3.1 模块动态卸载 3.2 SpringModule 4. 彩蛋 4.1 JarsLink如何打破双亲委托机制去动态加载类 4.2 JarsLink如何实现类隔离和实例隔离 4.3 动态加载新版本的Jar会对正在运行的J…
参考:S3C2440 LCD驱动(FrameBuffer)实例开发<一>   S3C2440 LCD驱动(FrameBuffer)实例开发<二> LCD驱动也是字符设备驱动,也遵循字符设备驱动的流程: a. 分配主设备号 b. 构建file_operations结构体中的open,write,read...等函数 c. 调用register_chrdev()函数注册字符设备 d. 调用class_register()注册类 e. 调用device_create()创建设备,linu…