摘要: 异常等级: el0:应用 el1:内核 el2:虚拟化 el3:安全 异常 异常分为两类,同步异常,异步异常; 同步异常 同步异常是可以预知的,指处理器执行某条指令而直接产生的异常,通常需要对应的修复处理后程序才能继续执行;比如缺页异常; 异常的原因会存放在esr寄存器,fsr等相关寄存器中; 在中 阅读全文
posted @ 2024-12-25 00:17 _xingxing 阅读(75) 评论(0) 推荐(0)
摘要: last保存的是什么? last = cpu_switch_to(prev, next) cpu_switch_to函数是一段汇编,根据arm64函数的调用规则来看,x0保存的是函数返回值,也就是prev进程; 比如A进程切换到B进程,那么last 就是进程 A; 为什么需要保存last? 有这么一 阅读全文
posted @ 2024-12-23 11:15 _xingxing 阅读(40) 评论(0) 推荐(0)
摘要: 设计思想 基本 读与读不互斥; 读与写互斥; 写与写互斥; 等待机制 读只有睡眠等待 写有忙等待,与睡眠等待; 唤醒 读:唤醒链表上的读进程,直到遇到一个写进程为止; 写:一次只能唤醒一个写者 count计数:(不保证完全正确) 概述 通过count标识锁的状态; 空闲状态:(0,0) 等待队列存在 阅读全文
posted @ 2024-12-19 21:33 _xingxing 阅读(11) 评论(0) 推荐(0)
摘要: 为什么需要高速缓存 解决处理器访问速度与内存速度严重不匹配的问题; 高速缓存架构 l1 cache:分为dcache,icache,存在于每个cpu内部; l2 cache:不区分dcache, icache,由一个cluster内的cpu共享; l3 cache:不区分dcache, icache 阅读全文
posted @ 2024-12-14 18:58 _xingxing 阅读(59) 评论(0) 推荐(0)
摘要: copy_process wake_up_new_task scheduler_tick __schedule 什么是调度类 struct sched_class, 目的是将调度器模块化; Linux 有哪些调度类 dl_sched_class: rt_sched_class: fair_sched 阅读全文
posted @ 2024-12-14 18:58 _xingxing 阅读(32) 评论(0) 推荐(0)
摘要: 分配 释放 __find_buddy_pfn,去寻找page对应的buddy pfn; 寻找的逻辑是 异或 (1 << order); 也就是对 (1 << order) 这一个bit做取反操作(和1异或相当于是取反),其余的bit(和0异或保持原值) 不变化; 由于互为buddy的page,必定是 阅读全文
posted @ 2024-11-21 10:52 _xingxing 阅读(21) 评论(0) 推荐(0)
摘要: 前言 不是特别懂,但是先把自己目前的理解写下来(甚至目前的有些理解都是错的),随着时间的积累再丰富; 内存模型的目的? 建立page与pfn的关系 内存模型 有三种内存模型: Flat Memory:所有内存都是连续的,通过数组管理所有的page,数组的下标就是pfn;所有可以很简单的pfn下标找到 阅读全文
posted @ 2024-11-20 19:27 _xingxing 阅读(39) 评论(0) 推荐(0)
摘要: 前言 结合应用层demo + vim2m.c 详细分析各个ioctl细节 VIDIOC_REQBUFS QUERYBUF V4L2_MMAP VIDIOC_STREAMON VIDIOC_QBUF VIDIOC_DQBUF VIDIOC_STREAMOFF 阅读全文
posted @ 2024-10-25 14:47 _xingxing 阅读(18) 评论(0) 推荐(0)
摘要: v4l2 test driver: vimc解析 前言 v4l2驱动框架分为:控制流+数据流,vimc是一个很好学习这两点的驱动; vimc不需要硬件支持,通过软件模拟了:支持isp处理的sensor + csi (虚线代表可以通过media ctl修改topology) 控制流体现在:topolo 阅读全文
posted @ 2024-10-24 01:21 _xingxing 阅读(73) 评论(0) 推荐(0)
摘要: 1. 问题背景 想提升vpu编解码帧率,在vpu的设备树节点添加dma-coherent属性,vpu编解码timeout(失败); 2. 所做尝试 2.1 vpu内存分配接口 b->virt = dma_alloc_coherent(dev, PAGE_ALIGN(size), &b->dma, G 阅读全文
posted @ 2023-10-10 16:56 _xingxing 阅读(1008) 评论(0) 推荐(0)