- 博客(99)
- 资源 (15)
- 收藏
- 关注
原创 【VScode连接远程server代码】
选择对应的server,第一次进入会建立VS Code Server,左下角会一直转圈提示初始化中,这里比较慢,需要等待完成。这里可以点击detail看详细安装过程。4、选择remote explorer,选择对应的远程server。file-open folder就可以了。1、打开VScode,点击左下角的远程。ctrl+s保存config。这里是配置IP和用户名。
2025-04-02 18:47:14
104
原创 【101】PCIe No Snoop、TLP TPH和intel DDIO
这里介绍传统的DMADCA)和增强型DCADDIO)的数据流。1、传统的DMA软件instructed 处理器提供一系列memory地址(如RX描述符/TX描述)给IO设备。IO设备通过DMA,直接从main memory中读数据或者写入数据到main memory。对于inbound traffic(IO write),处理器通过接收中断或者轮询 IO设备知道数据被IO设备(DMA)写到了main memory。
2024-12-27 15:48:28
1303
原创 【100】SR-IOV cap中Supported Page Sizes (RO)和System Page Size (RW)
该reg的每1bit代表一种page size,PF必须支持的是4-KB, 8-KB, 64-KB, 256-KB, 1-MB, 4-MB,其他的page size是可选的。(1)软件必须使用support page sizes字段中的一个system page size来设置system page size。Supported Page Size 是0x553(支持4K/8K/64K/256K/1M/4M)Supported Page Size 是0x553(4K/8K/64K/256K/1M/4M)
2024-12-06 16:53:53
829
原创 【96】write combine机制介绍
这篇文章主要介绍了writecombine的机制提示:以下是本篇文章正文内容,下面案例可供参考上图中的白色框就是memorysystem的组件。其中mainmemory在处理器芯片外,是离processorexecutionunits最远的。Cache是离processorexecutionunits(处理器中负责执行指令和计算操作的部分)最近的。
2024-06-07 21:01:05
1815
原创 【95】哪些错误会记录Header log
1、AER Mask Reg和Header Log Reg的关系如果PCIe设备实现的AER capability,那么uncorrectable error mask reg和correctable error mask reg就可以针对每种错误来独立地mask。如果Device control reg和PCI command reg中error message report没有使能,那么不管对应的mask reg是什么值,对应的error message都不会发出。
2024-04-30 15:30:39
1015
原创 【92】实测:访问不存在的function导致UR
协议规定访问不存在的function会导致UR,今天我们就来实测一下。这篇文章主要设计下面几个方面:1、X86上的memory config2、config方式访问不存在的设备导致UR3、UR和advisory non fatal转换4、header log解析【14】PCIe架构下memory空间、IO空间、PCIe配置空间简介_linjiasen的博客-优快云博客configuration read访问没有实现的function会导致UR的错误。
2023-05-19 19:21:43
1399
5
原创 【91】PCIe header format分类
其中RequesterID字段(bit31-16)的高8bit(bit31-24)为bus,中间5bit(bit23-19)为device,低3bit(bit18-16)为function。其中RequesterID字段(bit31-16)的高8bit(bit31-24)为bus,中间5bit(bit23-19)为device,低3bit(bit18-16)为function。
2023-03-28 20:55:51
2386
1
原创 【90】RootPort的completion timeout为什么不能阻止CPU发生MCE
PCIe completion timeout介绍、intel CPU架构、inter CPU timer
2023-01-07 17:40:12
4335
4
原创 【87】PLX SDK
1、把脚本放到PlxSdk目录,source一下就可以自动编译,并且安装ko了#!/bin/bash#set envexport PLX_SDK_DIR=`pwd` &> /dev/null#for arm64 Only#export ARCH=arm64cd ./Driver if [ ! -f ./Source.PlxSvc/Output/PlxSvc.ko ]; then chmod a+x build* ./builddriver ..
2022-05-19 18:41:39
1853
8
原创 【86】ASPM进入和退出L1
1、ASPM介绍 ASPM全称Active State Power Management,是针对Power Management的一种管理机制。所谓“Active State”就是设备在D0状态下进入低功耗模式的管理机制。ASPM是硬件行为,软件只能写function配置空间Link Control Register的ASPM Control比特来disable和允许进入某种L state。 PCI-PM是软件写function的配置空间的Power Management Co...
2022-04-24 15:02:56
10259
5
原创 【85】退出fundamental reset后20ms无法进入detect是否可以再次linkup
一、背景PCIe协议规定,在退出fundamental reset后,component必须在20ms进入LTSSM detect状态。那么如果EP在20ms以内没有进入detect状态,CPU或者Switch和EP的link状态能否正常到Linkup,也就说说LTSSM能够到L0?二、测试设备Intel 11th Gen Intel(R) Core(TM) i7-11700K、Broadcom Switch PEX87xx、PLDA inspector、Xilinx V13P...
2021-12-02 20:46:05
5141
6
原创 【84】ssh 提示a host key has just been changed
https://zh.wikipedia.org/wiki/Ssh-keygen解决方案ssh-keygen -R 服务器端的ip地址
2021-11-22 14:19:16
2338
原创 【83】secureCRT 7.0登录Ubuntu 20.04提示key exchange failed
secureCRT Version 7.0.0 (x64 build 326)登录Ubuntu 20.04时,提示Key exchange failed。Key exchange failed.No compatible key exchange method. The server supports these methods: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384..
2021-11-22 10:50:09
3107
原创 【82】PCIe LN协议
1、历史PCIe 6.0已经废弃了该协议,至于废弃的原因PCIe 6.0 ver0.9版本没有说。 Lightweight Notification (LN) ProtocolLN协议使得EP可以感知host memory的cacheline的变化。LN机制利用EP端的Cache来降低系统带宽需求并降低时延。LN协议允许EP注册host memory中的Cacheline,所谓注册Cacheline是指把host memory Cacheline的内容copy一份放到EP本地
2021-11-02 19:51:09
1806
3
原创 【81】linux下PCI 子系统
PCIe代码比较分散,X86下PCIe相关代码主要分散在下面目录driver/acpi/pci*drivers/pci/*arch/x86/pci/*(1)Arch PCIe driver:放一些和架构强相关的PCIe的函数实现,对应arch/x86/pci /*.c(2)ACPI PCIe driver: ACPI扫描时所涉及到的PCIe代码,包括host bridge的解析初始化,PCIe bus的创建,ecam的映射等, 对应drivers/acpi/pci*.c...
2021-10-03 21:23:28
1235
原创 【80】PCIe EP driver初始化
任何一个PCIe EP的功能都分成两部分,其中一部分是PCIe功能,另外一部门是自己的域内的功能(比如网卡、FC、SAS、Nvme、GPU),其中PCIe域内的功能的初始化都是套路。主要涉及下面几个方面: 1、准备一个数据static struct pci_driver xxx_driver,该数据结构主要包括:(1)const struct pci_device_id(存放EP的device和vendorid)(2)int (*probe)(struct pci_dev *de...
2021-09-22 14:35:33
3629
原创 【79】PCIe 5.0协议规定的PCIe错误
经过近一个月断断续续的梳理,终于PCIe 协议5.0规定哪些场景会导致哪种PCIe错误梳理完毕了。不得不感慨,5.0新增了很多capability。文章放不下了,上传优快云资源了。大体的格式如下
2021-08-13 18:05:20
924
5
原创 【78】执行debugFS节点提示Operation not permitted
在debugFS执行cat err_stat返回的结果是Operation not permitted,奇怪的是已经给所有的节点加了可执行权限。于是检视下代码,发现链表为empty的时候,返回了-1,而1对应的是EPERM,EPERM在glibc的strerror函数会被转换成Operation not permitted问题找到了,当链表为empty的时候,返回-ENXIO,对应 No such device or address...
2021-06-23 10:49:29
519
原创 【77】linux module 的makefile
目录结构大概是着这样的code->一级目录----include->二级目录,存放头文件--------hw->三级目录,存放hardware相关的头文件----src->二级目录,存放源码--------hw->三级目录,存放hardware相关的源码PWD:=$(shell pwd)################################头文件目录########################################EXTRA_CFLAG.
2021-05-28 11:41:18
637
原创 【76】make时,报错file not recognized: File format not recognized
make的时候一直报错,file not recognized: File format not recognized,然后file看了一下也没有发现文件格式有啥特别的,网上搜了下说啥的都有最后打开makefile一看,原来是.o写成了.c。写makfile的时候懒得敲那么长的文件名,直接复制过来,然后忘记改成.o了,复制粘贴果然是“万恶之源”。把.c改成.o就可以了。...
2021-05-14 14:34:43
8952
1
原创 【75】PCIe错误的Firmware first model和OS native model
之前写过一篇怎么禁止Firmware first model的文章,感觉内容组织得有点混乱,本来想删了重新,看到有人收藏了,索性新写一篇吧。PCIe错误的Firmware first model和OS native model Firmware first model 错误通过SMI中断到CPU,CPU进入SMM mode,并调用BIOS/firmware注册handler,BIOS/firmware先收集故障信息,把错误信息填写到APEI表,然后通过SCI或者NMI通知OS。详细流程可以参
2021-04-30 16:48:46
5034
5
转载 【74】linux kernel 编译
https://blog.youkuaiyun.com/qq_16536145/article/details/80022082?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-14.baidujs&dist_request_id=1332042.23060.16193236007070019&depth_1-utm_source=distribute.pc_rel
2021-04-25 16:50:12
184
原创 【73】X86中断
推荐北大陈向群教授讲解的操作系统的网课和intel的编程手册,非常清楚https://www.coursera.org/lecture/os-pku/shi-li-x86de-zhong-duan-yu-yi-chang-ji-zhi-gyfZXhttps://www.intel.cn/content/www/cn/zh/architecture-and-technology/64-ia-32-architectures-software-developer-system-programming-m
2021-03-04 17:19:04
979
2
转载 【72】白盒网络设备的一些学习资料
https://cloud.tencent.com/developer/information/%E7%99%BD%E7%9B%92%E7%BD%91%E7%BB%9C%E8%AE%BE%E5%A4%87%E5%8E%82%E5%95%86https://cloud.tencent.com/developer/article/1187599?from=information.detail.%E7%99%BD%E7%9B%92%E7%BD%91%E7%BB%9C%E8%AE%BE%E5%A4%87%E5%8
2021-01-07 16:46:36
532
原创 【71】力科PCIe 协议分析仪常见操作
1、隐藏或者显示某一类的trace2、查找每一类型的trace3、split功能Split功能会把相关的包给放在一起,比如读请求和completion包,以方便分析trace4、traffic report功能点击最上面的traffic report功能,会显示每种所有的traffic的统计。比如traffic 中的split中会统计每种的包的时延,只要点击对应栏目,就会自动跳转到trace。分析响应缓慢时,比较有用。5、error report点击右下角
2020-12-29 17:07:12
9588
8
原创 【70】NTB的地址映射和地址转换
NTB有两个重要的应用(1)PCI于隔离,即可以隔离出两个或者多个PCI系统(2)实现地址翻译。这篇文章注重说一下地址翻译,关于NTB一些介绍和应用见:https://blog.youkuaiyun.com/linjiasen/article/details/104532342https://mp.weixin.qq.com/s/0Ais2S-GnFfsWRnoWhjRzwhttps://mp.weixin.qq.com/s/-AAxGslLt0nZkVCn3KWI7Qhttps://mp.weixin.
2020-12-03 21:09:36
3373
原创 【69】十一看《天道》有感
世界上差不多有四种人: 一是先看到然后相信,总结经验,下次就能早点看见,即使看不到也会选择相信那个开天眼的人,这是所谓聪明人,欧阳雪,肖亚文,韩楚风,皆属于此类。二是看到了,只是表面相信,其实内心是将信将疑的,稍微风吹草动,马上打退堂鼓。下次机会来了还是一样的命运,这是芸芸众生,大部分人都逃脱不了宿命,刘、冯、叶三人都是如此,三人退股其实没有太多原因,输不起也不能输而已,也就是丁元英说的文化属性。三是因为相信然后看到,这是所谓智者或者开了天眼的人,丁元英属于此类,这种人通常是胜而后求战,做朋...
2020-10-09 16:08:12
335
1
原创 【68】csdn的博客如何敲出空格来
优快云现在有两种编辑器,我一般选择富文本编辑器,之前优快云只支持markdown编辑器,敲空格是没有用的,需要在空格钱增加
2020-09-25 09:53:00
185
原创 【67】PCIe Power Management和linux对PME的处理
1、什么是PME PME(power management events)是一种特殊的post TLP,它起源于PCIe EP、PCI EP或者RP并且路由到RC。PME message中的requestid字段代表出现PM state变化的设备。 由于RP下面有很多设备,但是root status寄存器的requestid只有一个,RC里有一个buffer可以存储这些PME message,由于buffer是有限的,这样就可以导致backpressure问题(反压问题在PC......
2020-09-04 18:09:11
10106
4
转载 【66】pycharm的安装与python解释器的安装
https://blog.youkuaiyun.com/qq_42402648/article/details/107977336https://blog.youkuaiyun.com/weixin_34290096/article/details/88010981
2020-08-15 10:41:06
178
原创 【65】如何通过sys文件系统remove和probe一个PCI设备
\-[0000:00]+-01.4-[03]--+-00.0 Intel Corporation I350 Gigabit Network Connection | \-00.1 Intel Corporation I350 Gigabit Network Connection1、手动remove一个pci设备(bus:device.function 3:0.0和3.0.1)echo 1 > /sys/bus/pc...
2020-07-07 17:29:11
8271
1
原创 【64】事情也许没有想的那么复杂,大道至简,再谈AER
在验证某芯片的AER功能时,突然发现RootPort的AER上报功能时正常,但是RootPort下面的网卡的出现PCIe错误时,竟然没有触发AER中断。 当时心里想,不会是芯片问题吧。要么是网卡的aer status 比特置1了,但是网卡没有发出error message,要么是网卡发出的error message被CPU给丢了。于是看了下网卡芯片的配置空间,和错误上报相关的寄存器都是正常的,难道是网卡有什么特殊寄存器控制error message上报或者CPU把error message...
2020-05-27 09:59:36
1554
原创 【63】systemtap--满足程序猿一切幻想的调试神器
http://sourceware.org/systemtap/https://segmentfault.com/a/1190000010774974https://www.cnblogs.com/hazir/p/systemtap_introduction.html1、安装Ubuntusudo apt-get install systemtap(不建议这么玩,Ubuntu自带的经常有问题)centosyum install systemtap systemtap-runtime
2020-05-13 11:12:20
484
转载 【62】Rufus制作Ubuntu U盘启动并安装
使用Rufus 3.4制作Ubuntu 18.04.1 U盘启动盘的方法https://ywnz.com/linuxjc/3978.html启动U盘安装Ubuntu 18.04前的BIOS设置方法https://ywnz.com/linuxjc/3803.html超详细的Ubuntu 18.04安装图解教程https://ywnz.com/linuxaz/2588.html...
2020-05-12 10:26:18
4937
PCIe No Snoop及TPH/DDIO技术解析与优化
2024-12-27
PCIe简介,介绍了PCIe的一些基本概念
2023-03-28
PCIe介绍.pptx
2021-10-02
Reliability, Availability and Serviceability on Linux.pdf
2021-02-24
PCIe错误处理机制是如何工作的.docx
2020-04-02
PCI-to-PCI Bridge Architecture Specification
2019-02-21
PCI Local Bus Specification
2019-02-21
qcom ION-SMMU实现
2019-01-11
linux内核net phy流程
2018-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人