- 博客(370)
- 资源 (36)
- 收藏
- 关注
原创 内核修炼之时间
clocksourcetimekeepingclockeventsjiffiesNOHZtick broadcasttimershrtimers难点:timekeeping has to handle NTP and drifttick uses multiple abstraction layesNOHZ gets complicated when starting/sto...
2019-02-04 21:17:28 310
原创 内核修炼之进程
进程管理进程 线程 task_struct thread_info 进程状态 进程组织方式 进程的生命周期 进程初始化 fork、vfork、内核线程 execexit进程调度抢占、非抢占 实时、非实时 switch_mm、switch_to、schedule 策略:优先级、类型、时间片 nice值、权重 调度类 调度策略 负载均衡 ...
2018-06-16 19:13:53 402
翻译 Using RCU‘s CPU Stall Detector(待更新)
文章目录是什么原因导致RCU CPU Stall 警告?Fine-Tuning the RCU CPU Stall Detector解读RCU's CPU Stall Detector "Splats"本文首先讨论RCU的CPU Stall Detector可以定位哪些类型的问题,然后讨论内核参数和Kconfig选项,它们可以用来微调Detector的操作。最后,本文解释了stall Detector的“splat”格式。是什么原因导致RCU CPU Stall 警告?所以你的内核打印了一个RCU C
2020-07-28 11:02:17 3309
翻译 使用 KVM API
正如Xen,QEMU / KVM或kvmtool之类的软件所提供的那样,许多开发人员,用户和整个行业都依赖于虚拟化。 尽管QEMU可以运行基于软件的虚拟机,而Xen可以运行不带硬件支持的协同半虚拟化OS,但是虚拟化的大多数当前使用和部署都依赖于硬件加速的虚拟化,这是许多现代硬件平台上提供的。 Linux通过内核虚拟机(KVM)API支持硬件虚拟化。 在本文中,我们将仔细研究KVM API,使用它直接建立虚拟机而不使用任何现有的虚拟机实现。使用KVM的虚拟机无需运行完整的操作系统或仿真全套硬件设备。 使用K
2020-05-09 02:17:33 1759
翻译 clock bindings
该绑定是一个进行中的工作,它基于benh [1]的一些实验工作。时钟信号源可以由设备树中的任何节点表示。 这些节点被指定为时钟提供者。 时钟使用者节点使用一对phandle和specifiers对将时钟提供程序输出连接到时钟输入。 与gpio specifiers相似,clock specifiers是一个零数组,一个或多个单元标识设备上的时钟输出。 时钟说明符的长度由时钟提供程序节点中的#cl...
2020-05-05 15:55:13 1712
原创 虚拟化学习
参考资料:Supporting KVM on the ARM architectureqemu搭建虚拟化环境How to debug QEMUshuaifengyun的专栏benjamin_xu的专栏sungeshilaoda的博客yearn520的博客
2019-11-30 01:19:17 308
转载 BiscuitOS linux-newest-arm64 Usermanual
BiscuitOS linux-newest-arm64 UsermanualBuild Linux KernelBuild BusyboxRe-Build RootfsMount a Freeze DiskUn-mount a Freeze DiskRunning BiscuitOSDebugging BiscuitOSRunning Biscu...
2019-11-28 02:48:03 318
原创 加速github仓库下载及相关
git代理这里指的是https协议,也就是 git clone https://www.github.com/xxxx/xxxx.git 这种。对于SSH协议,也就是 git clone [email protected]:xxxxxx/xxxxxx.git 这种,依旧是无效的。设置git config --global http.https://github.com.proxy socks5:...
2019-11-28 02:22:46 281
翻译 Energy-aware scheduling(Linux Kernel Summit 2013 )(待续)
Linux Kernel Summit 2013Energy-aware schedulingMorten Rasmussen与会者: Morten Rasmussen,Ingo Molnar , Peter Zijlstra, Paul Turner, Vincent Guittot, Juri Lelli, Alex Shi, Kevin Hilman, Paul Walmsle...
2019-09-11 18:23:36 670
翻译 Device-tree schemas
近年来,设备树已经变得无处不在,作为描述不可发现系统(例如许多基于ARM的设备)的硬件布局的一种方式。 设备树绑定定义了如何在设备树中描述特定硬件。 然后驱动程序实现这些绑定。 设备树文档显示了如何使用绑定来描述系统:哪些属性可用以及它们可能具有哪些值。 理论上,绑定,驱动程序和文档应该彼此一致。 在实践中,它们通常不一致,即使它们在实际设备树中正确使用这些绑定也不是一项微不足道的任务。 因此,开...
2019-09-04 01:10:39 615
原创 s2ram
powertreescp log0x417C : 4 0 10 0 0x418C : 2 0 8000 0 0x419C : 0 80 0 1 0x41AC : 0 0 ...
2019-08-28 20:53:26 315
翻译 A strong random number generator(linux强随机数生成器)
该个程序从设备驱动程序等收集环境噪声,并返回适合加密用途的良好随机数。除了明显的加密用途之外,这些数字也适用于随机TCP序列号,以及其他需要的数字不仅是随机的,而且很难被攻击者预测的地方。运作理论计算机是非常可预测的设备。因此,在计算机上生成真正的随机数非常困难 - 与伪随机数相反,伪随机数很容易通过算法生成。不幸的是,攻击者很容易猜测伪随机数生成器的序列,对于某些应用程序来说这是不可接受的。...
2019-05-19 00:26:37 1359
翻译 Naming and data format standards for sysfs files(hwmon)(待续)
Naming and data format standards for sysfs fileslibsensors库通过sysfs接口提供原始传感器数据的接口。 从lm-sensors 3.0.0起,libsensors是完全与芯片无关。 它假定所有内核驱动程序实现本文档中描述的标准sysfs接口。这使得添加或更新对任何给定芯片的支持变得非常容易,因为不需要修改libsensors和使用它的...
2019-05-07 00:00:34 466
翻译 GENERIC SYSTEM INTERCONNECT SUBSYSTEM
GENERIC SYSTEM INTERCONNECT SUBSYSTEMIntroduction该框架旨在提供标准内核接口,以控制SoC上互连的设置。 这些设置可以是多个互连设备或功能块之间的吞吐量,延迟和优先级。 这可以动态控制,以节省电力或提供最大性能。互连总线是具有可配置参数的硬件,可以根据从各种驱动程序接收的请求在数据路径上设置。 互连总线的示例是芯片组中的各种组件或功能块之间的互...
2019-03-22 00:24:33 310
翻译 The seq_file interface
The seq_file interfaceCopyright 2003 Jonathan Corbet <[email protected]>This file is originally from the LWN.net Driver Porting series athttp://lwn.net/Articles/driver-porting/设备驱动程序(或其他内核组件)有...
2019-03-21 00:50:45 354
翻译 Thermal Framework Device Tree descriptor(待续)
Thermal Framework Device Tree descriptor此文件描述了一种通用绑定,为了提供使用设备树定义硬件thermal结构的方法。thermal结构包括thermal zones及其组件,例如trip points,polling intervals,sensors 和 cooling devices绑定描述符。设备树thermal描述符的目标仅用于描述硬件th...
2019-02-23 23:41:44 1015
翻译 NVMEM SUBSYSTEM
Srinivas Kandagatla [email protected]文章目录1. Introduction2. Registering/Unregistering the NVMEM provider3. NVMEM cell based consumer APIs4. Direct NVMEM device based consumer APIs5. Relea...
2019-02-21 00:49:49 2204
翻译 The Concept of CPU Performance Scaling(待续)
… |struct cpufreq_policy| replace:: :c:type:struct cpufreq_policy &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;cpufreq_policy&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;… |intel_pstat
2019-02-01 22:55:03 1197
翻译 Linux CPU Idle Time Management
CPU Idle Time ManagementCopyright © 2018 Intel Corp., Rafael J. Wysocki [email protected]文章目录CPU Idle Time ManagementConceptsLogical CPUsIdle CPUsThe Idle LoopIdle CPUs and The Scheduler Ti...
2019-01-04 00:14:24 4087
原创 (4)tiny4412移植uboot_2018_07
开发板:tiny4412(1611)编译器: arm-tiny4412-linux-gnueabi-gcc (gcc version 6.1)文章目录移植中debug方式uboot中差异点第一步第二步第三步第四步试验移植中debug方式1.增加led点灯代码 2.在确定系统时钟初始化完成后,可以使用串口进行调试(原厂会使用ds-5连接jtag进行单步调试,比较便捷)uboot...
2018-12-31 14:44:32 1039 1
翻译 Linux IOMMU支持
文章目录Linux IOMMU基本的东西什么是RMRR?IOVA是如何产生的?图形问题?IOVA的一些例外情况故障报告启动消息示例故障报告TBDLinux IOMMU架构规范可以从以下位置获得。vt-directed-io-spec.pdf本指南提供了一个快速备忘单,以便进行一些基本的了解。一些关键词:DMAR - DMA重映射DRHD - DMA重映射硬件单元定义R...
2018-12-26 00:19:48 5706 2
翻译 Linux PWM接口
文章目录0.脉冲宽度调制(PWM)接口1.识别PWM2.使用PWM3.将PWM与sysfs接口配合使用4.实现PWM驱动程序5.锁6.求助0.脉冲宽度调制(PWM)接口这提供了有关Linux PWM接口的概述PWM通常用于控制手机中的LED,风扇或振动器。具有固定目的的PWM不需要实现Linux PWM API(尽管它们可以)。然而,PWM通常被发现作为SoC上的分立器件,没有固定的目的。电...
2018-12-23 22:36:23 8543
翻译 如何使用CPU cooling API
文章目录0.简介1. cpu cooling API1.1 cpufreq registration/unregistration API2.电源模型0.简介通用cpu cooling(freq clipping)子系统为调用者提供registration/unregistration API。cooling devices与trip point的绑定留给用户。注册API返回cooling d...
2018-12-09 20:09:43 698
转载 DSB,ISB,DMB指令
CM3 中的另一股新鲜空气是一系列的隔离指令(亦可以译成“屏障”、“路障”,可互换使用——译者 注)。它们在一些结构比较复杂的存储器系统中是需要的(典型地用于流水线和写缓冲——译者注)。在 这类系统中,如果没有必要的隔离,会导致系统发生紊乱危象(race condition),(相当于数电中的“竞争 与冒险”——译者注).举例来说,如果可以在运行时更改存储器的映射关系或者内存保护区的设置,(通过...
2018-11-28 23:34:54 615
原创 进程之当前上下文(待续)
常见API:读取当前进程的preempt_count状态.static __always_inline int preempt_count(void){ return READ_ONCE(current_thread_info()-&amp;amp;amp;amp;gt;preempt_count);}
2018-10-17 21:37:24 303
原创 CSDN-markdown编辑器 使用提示
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2018-10-17 21:15:49 1101
原创 (3)tiny4412 裸机程序之串口及其他(移植uboot前的预热)
开发板:tiny4412(1611) 编译器: arm-tiny4412-linux-gnueabi-gcc (gcc version 6.1)串口时钟分析程序其他串口时钟分析 4412的时钟如上所示,而串口的时钟来自于leftbus。 4412有5个串口,时钟源和分频系数可以进行选择。 通过调节UBRDIVn、UFRAC...
2018-09-02 18:19:27 383
原创 MMC学习之CMD(待续)
basic comand(class 0)CMD0 GO_IDLE_STATECMD2 ALL_SEND_CIDCMD3 SEND_RELATIVE_ADDRCMD4 SET_DSRCMD7 SELECT/DESEKECT CARDCMD8 SEND_IF_CONDCMD9 SEND_CSDCMD10 SEND_CIDCMD11 ...
2018-08-25 16:08:16 2045
原创 github指令(待续)
welcome to github!!!目录新建仓库初次使用Git的设置push本地项目到Github仓库常用命令说明新建仓库初次使用Git的设置1.用户配置 git config --global user.name "用户名" git config --global user.email 邮箱2.生成ssh keyssh-k...
2018-08-12 22:45:16 197
原创 (2)tiny4412 裸机程序之点灯
开发板:tiny4412(1611) 内核:linux4.4 编译器: arm-tiny4412-linux-gnueabi-gcc (gcc version 6.1)电路启动流程程序烧写方式电路根据电路图,有4个LED灯,引脚分别是GPM4_0~ GPM4_3。且当IO引脚为高电平时,LED灯灭,当IO引脚为低电平时LED亮。...
2018-08-12 17:59:25 1328 1
原创 ATF(待续)
atf下载地址:git clone https://github.com/ARM-software/arm-trusted-firmware.git
2018-08-05 21:34:55 409
原创 (五)进程的生命周期——诞生:fork、vfork、clone、内核线程(待续)
自然界中的每一个生命都需要经历出生、成长、死亡,生如夏花之绚烂,死如秋叶之静美,进程也不例外。
2018-08-05 14:21:36 772
原创 ubuntu18.04搭建qemu内核调试环境(待续)
apt-get install qemu libncurses5-dev gcc-arm-linux-gnueabi build-essentialhttps://download.csdn.net/download/qq_33160790/10562084
2018-07-25 00:39:41 3394
原创 将vim打造成代码阅读利器(for mac and ubuntu)
需要用到的工具: NERDTree Cscope ctags vundle homebrew(for mac)目录:软件介绍NERDTreeCscopectagsvundlehomebrewmac安装ubuntu安装软件介绍NERDTreeNERDTree是一款vim插件,可以显示树形目录: 进入...
2018-07-22 11:17:32 3763 1
stm32f103超声波测距
2017-12-22
VMwareTools-9.6.0-1294478.tar.gz
2017-10-16
mkbooting和unpackbootimg适用于ubuntu
2017-10-11
dragon board 410c 中文开发文档
2017-10-11
Operating Systems: Three Easy Pieces 完整版
2017-09-13
tiny4412内核补丁dm9621
2017-08-31
qemu内核调试环境文件系统
2018-07-25
vim配置for ubuntu
2018-07-22
keil5——51
2018-03-22
STM32F103VET6 usart demo
2018-03-10
Micrium_STM32xxx_uCOS-II
2018-03-08
Cortex™ -A Series Version: 3.0 Programmer’s Guide
2018-03-08
i2c-tools-distrotech-i2c-tools
2018-03-07
2440根文件系统
2018-02-07
glibc-2.23.tar.bz2
2018-02-05
QEMU使用手册
2018-02-03
jz2440 u'boot
2018-01-21
工程文件....
2018-01-13
jz2440使用的kernel
2018-01-13
Jz2440v2对应的uboot
2018-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人