笃行笔记
码龄11年
关注
提问 私信
  • 博客:542,068
    542,068
    总访问量
  • 118
    原创
  • 1,876,584
    排名
  • 566
    粉丝
  • 6
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2013-12-13
查看详细资料
个人成就
  • 获得152次点赞
  • 内容获得129次评论
  • 获得878次收藏
创作历程
  • 1篇
    2022年
  • 6篇
    2021年
  • 1篇
    2020年
  • 1篇
    2019年
  • 60篇
    2017年
  • 4篇
    2016年
  • 10篇
    2015年
  • 40篇
    2014年
  • 4篇
    2013年
成就勋章
TA的专栏
  • USB
    30篇
  • PCI-Express
    40篇
  • ARM
    9篇
  • Windows
    14篇
  • Linux
    6篇
  • Raspberry Pi 3
    2篇
  • 工作经历
    5篇
  • 收藏
    9篇
  • WDDM
    12篇
  • Windows internal 7 学习笔记
    2篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

AMD IOMMU与Linux (4) -- Domain, Group, Device

1.domain的本质是一个页表,1对1的关系,2.IOMMU_DOMAIN_UNMANAGED vs.IOMMU_DOMAIN_DMA a. IOMMU_DOMAIN_UNMANAGED - DMA mappings managed by IOMMU-API user, usedfor VMs b. IOMMU_DOMAIN_DMA - Internally used for DMA-API implementations. This flag a...
原创
发布博客 2022.01.10 ·
3270 阅读 ·
0 点赞 ·
1 评论 ·
9 收藏

AMD IOMMU与Linux (3) -- DMA

两处会设置struct iommu_ops amd_iommu_ops;一处在struct iommu_device的iommu ops;另一处在struct bus_type的iommu ops;amd_iommu_init ->iommu_go_to_state ->state_next ->amd_iommu_init_pci ->...
原创
发布博客 2021.12.28 ·
2093 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

AMD IOMMU与Linux (2) -- IVRS及AMD IOMMU硬件初始化

1. I/O Virtualization ACPI table [1]IVRS (I/O Virtualization Reporting Struct) -> 48-byte header -> IVDB:IVHD (I/O Virtualizaiton Hardware Definition) -- info about IOMMU and devices Types 10h, 11h, 40h ...
原创
发布博客 2021.12.27 ·
2793 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

AMD IOMMU与Linux (1) -- 初始化

具体原理就不写了,IOMMU主要做DMA与Interrupt remapping硬件功能上理解起来并不复杂,但结合Linux,复杂度就明显提高参考了一些内容,但大多数是写IOMMU硬件功能的,有提到Linux的大多数也一笔带过Reference [2]是以Intel IOMMU为介绍对象Reference [1]更加有参考价值先从pci_iommu_alloc()函数开始:在执行pci_iommu_alloc()之前,内核已经通过汇编指令,将IOMMU相关的启动函数,加载到IOM
原创
发布博客 2021.12.24 ·
3053 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

USB xHCI, NVMe, RDMA, IO_URING, AF_XDP, SDXI

USB xHCI, NVMe, RDMA, IO_URING, AF_XDP都使用生产消费模型Spec Ring/Queue/... Element Producer Consumer Doorbell xHCI Transfer Ring Command Ring TRB (transfer request block) Host/CPU xHC .
原创
发布博客 2021.12.24 ·
904 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

2021, Dec日志-关于PCIe的AER

PCIe定义了很多的Cap.但大多数人只用到了其中一些最常用的,比如MSI/MSIX, PMC, ARI, PCI express, PASID等等还有很多Cap, 没有深入了解的实践机会, 比如LTR, OBFF, TPH, 等等,等等,非常之多。另外一些Cap,比如AER, DPE/eDPC, ACS, ATS, SRIOV有一点点了解。ATS, PASID可以看成TA(translation agent), ATPT(address trans and protection t..
原创
发布博客 2021.12.11 ·
2867 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

2021,Dec日志-GPU,DPU,IO虚拟化

上一次写还是2020.6写点东西,权当记录1. GPU: Graphic driver最近了解了一下Linux Graphic的驱动, DRM/GEM/TTM等与一个同事聊天时,他说Linux驱动程序就分两类,一类为Graphic,一类为非graphic非graphic简单,Graphic复杂(特别是GEM/TTM, VRAM/GTT内存管理)其实,个人认为Windows下也WDDM是类似的情况而且Graphic驱动,也就那几家公司(NV, INTEL, AMD)有团队在做.
原创
发布博客 2021.12.10 ·
1127 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

USB/PCIE/ROOT COMPLEX & Windows/Linux Driver

好久没有写了总结一下工作多年所涉及的内容:1. USB Device: USB1.1, USB2.0, USB3.0, USB3.12. USB Host: xHCI3. PCIe: EP, Switch, Root Complex4. IOMMU5. APIC: IO-APIC, Local APIC软件(驱动)层面:1. Windows AVStream/BDA driver -- USB/PCI PCTV case (WHQL passed)2. Window.
原创
发布博客 2020.06.06 ·
1254 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

驱动人生

2018-2019两年时间参与了以下项目PCIe Switch Management SW:Windows KMDF driver Linux kernel driver (包括 NTB kernel driver) Application tool其中,Windows KMDF driver 部分,取得了微软认证 Linux kernel driver (包括 NT...
原创
发布博客 2019.07.14 ·
797 阅读 ·
3 点赞 ·
4 评论 ·
0 收藏

ARMv8-A系列学习笔记(9)--GIC

在学习MINDSHARE ARMv8-A的时候,碰到几个要点:第一:Synchronous v Asynchronous所谓的Sync exception的特点是:1. 是在执行一条具体的指令的时候产生的 (如执行 LOAD/STORE指令的时候,对应的虚拟地址无效,则产生异常)2. 异常处理结束,返回地址,就为产生该异常的指令地址3. 该异常是精确的(precise)
原创
发布博客 2017.10.27 ·
1835 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

Windows internals 7 -- 3 -- 概念与工具

好多书都是看了一半就一直没再看了,每次重新翻起来的时候,又是从第一章开始,这次也不能免俗,从第一章开始先从查看版本号开始吧:在CMD LINE中可以通过WINVER来查看当前系统的版本号前面提到过WINDOWS系统的合并以前,我们公司的驱动代码,最终合成后,叫“ALL IN ONE”这个比较土的名字微软也同样,取了一个挺土的名字, ONE COREONE C
原创
发布博客 2017.09.21 ·
946 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Windows internals 7 -- 2 -- 本书历史

以前看书,从不看所谓的各版本之间的差别现在,感觉,了解一下其中的历史,还是有一定的趣味的,到底什么趣味,见人见智至少可以感受时代的进步,科技的发展,应用的更新,或许直到有一天,所有人的工作都被AI替代了,哈哈第一版本, INSIDE WINDOWS NT,主要包含了WINDOWS NT技术的架构与设计思路, 作者,HELEN CUSTER第二版本,INSIDE WINDOW
原创
发布博客 2017.09.21 ·
2981 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

Windows internals 7 -- 1 -- 瞎扯扯

最近工作上任务比较不紧张,本着不学习技能不升反降的想法所以,就找了本Windows internals 7,结果,还只找了上半部,没有找到下半部先凑合着学习学习一下吧工作这么多年干windows driver, USB device IP, xHCI host IP, firmware, reference design, uboot code, linux code都整过
原创
发布博客 2017.09.21 ·
4529 阅读 ·
0 点赞 ·
2 评论 ·
1 收藏

PCIe学习笔记(35)--- TL (1)

chapter 5: tlp elements (details of tlp)chapter 6: flow control___________________________________digest (end to end CRC, ECRC)HDR + DATA + DIGEST =  TLPseq num +  TLP + CRC : DLLS
原创
发布博客 2017.08.07 ·
1468 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

PCIe学习笔记(34)--- DLL (1)

fixed size of 8 bytes (SDP/END + 6 bytes / SDP*2 + 6 bytes: DLLP type 1B + 3B + 2B CRC)no target or routing informationDLLPs not subject to flow controlDLLPs no acknowledgement (time-out mec
原创
发布博客 2017.08.02 ·
660 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

PCIe学习笔记(33)--- PL - Link register

Link capability register:Max link speed (supported link speeds vector field bit x)max link width (x1 ... x32)link capability 2 register:supportd link speeds vecotrlink status registe
原创
发布博客 2017.08.01 ·
4723 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

PCIe学习笔记(32)--- PL - Link initialization and training (1)

chapter 14: link initialization and trainingPCIe将LTSSM归到了PHYSICAL LAYERSS/SSP USB将LTSSM归到了LINK LAYERLTSSM: LINK TRAINING STATUS SMGEN 3使用EIEOS来做SYMBOL LOCK (*)LANE REVERS
原创
发布博客 2017.08.01 ·
5867 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

PCIe学习笔记(31)--- PL-Logical (Gen 1 and Gen 2) --- (3)

Rx clock: data bit transitionsLocal clockdifferent between, compensation neededLink training: TS1/2, bit locklow power state, such as L0s, or L1, lose synchronization.transmitter sends a
原创
发布博客 2017.08.01 ·
1799 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

PCIe学习笔记(30)--- PL - Electrical -- (5)

Rx equalizationCTLE = Continuous -time linear equalizationDFE = Decision feedback equalization
原创
发布博客 2017.07.28 ·
1281 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

PCIe学习笔记(29)--- PL - Electrical -- (4)

Jitteredge arrives before or after its ideal timejitter分类un-correlated-jitter 与被传输的数据不相关Rj - Random jitter 不可被预测的,无限的,服从高斯分布,一般由电气或者热噪声引入系统Dj - Deterministic jitter 可被预测的,有限的,一般由EMI, CRO
原创
发布博客 2017.07.28 ·
888 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多