自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (15)
  • 收藏
  • 关注

原创 【94】pcituils解析

pcituils代码解析

2024-01-26 18:33:08 620

原创 【93】PCI Expansion ROM

PCI expansion ROM

2023-08-29 19:34:13 700 5

原创 【92】实测:访问不存在的function导致UR

协议规定访问不存在的function会导致UR,今天我们就来实测一下。这篇文章主要设计下面几个方面:1、X86上的memory config2、config方式访问不存在的设备导致UR3、UR和advisory non fatal转换4、header log解析【14】PCIe架构下memory空间、IO空间、PCIe配置空间简介_linjiasen的博客-CSDN博客configuration read访问没有实现的function会导致UR的错误。

2023-05-19 19:21:43 1002 1

原创 【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 1269

原创 【90】RootPort的completion timeout为什么不能阻止CPU发生MCE

PCIe completion timeout介绍、intel CPU架构、inter CPU timer

2023-01-07 17:40:12 2776 4

原创 【89】nbtstat

nbtstat

2022-10-18 10:04:19 606

原创 【88】SR-IOV

PCI SRIOV系统介绍

2022-08-13 22:53:00 2883

原创 【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 1269 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 6929 2

原创 【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 4687 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 1770

原创 【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,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384..

2021-11-22 10:50:09 2927

原创 【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 1379 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 1076

原创 【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 2953

原创 【79】PCIe 5.0协议规定的PCIe错误

经过近一个月断断续续的梳理,终于PCIe 协议5.0规定哪些场景会导致哪种PCIe错误梳理完毕了。不得不感慨,5.0新增了很多capability。文章放不下了,上传CSDN资源了。大体的格式如下

2021-08-13 18:05:20 728

原创 【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 392

原创 【77】linux module 的makefile

目录结构大概是着这样的code->一级目录----include->二级目录,存放头文件--------hw->三级目录,存放hardware相关的头文件----src->二级目录,存放源码--------hw->三级目录,存放hardware相关的源码PWD:=$(shell pwd)################################头文件目录########################################EXTRA_CFLAG.

2021-05-28 11:41:18 543

原创 【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 7381 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 3751 5

转载 【74】linux kernel 编译

https://blog.csdn.net/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 131

原创 【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 648 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 367

原创 【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 7402 8

原创 【70】NTB的地址映射和地址转换

NTB有两个重要的应用(1)PCI于隔离,即可以隔离出两个或者多个PCI系统(2)实现地址翻译。这篇文章注重说一下地址翻译,关于NTB一些介绍和应用见:https://blog.csdn.net/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 2683

原创 【69】十一看《天道》有感

世界上差不多有四种人: 一是先看到然后相信,总结经验,下次就能早点看见,即使看不到也会选择相信那个开天眼的人,这是所谓聪明人,欧阳雪,肖亚文,韩楚风,皆属于此类。二是看到了,只是表面相信,其实内心是将信将疑的,稍微风吹草动,马上打退堂鼓。下次机会来了还是一样的命运,这是芸芸众生,大部分人都逃脱不了宿命,刘、冯、叶三人都是如此,三人退股其实没有太多原因,输不起也不能输而已,也就是丁元英说的文化属性。三是因为相信然后看到,这是所谓智者或者开了天眼的人,丁元英属于此类,这种人通常是胜而后求战,做朋...

2020-10-09 16:08:12 275

原创 【68】csdn的博客如何敲出空格来

   CSDN现在有两种编辑器,我一般选择富文本编辑器,之前CSDN只支持markdown编辑器,敲空格是没有用的,需要在空格钱增加  

2020-09-25 09:53:00 150

原创 【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 7146 4

转载 【66】pycharm的安装与python解释器的安装

https://blog.csdn.net/qq_42402648/article/details/107977336https://blog.csdn.net/weixin_34290096/article/details/88010981

2020-08-15 10:41:06 148

原创 【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 6785 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 1248

原创 【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 412

转载 【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 4329

转载 【61】Python IDE和手册

https://www.runoob.com/w3cnote/pycharm-windows-install.htmlhttps://www.zhihu.com/question/27359349https://www.runoob.com/python/python-ide.html

2020-04-30 17:25:35 256

原创 【60】MSI-X介绍

MSI中断介绍MSI-X中断之前,我们先来看看MSI中断的机制 MSI中断本质上是一个memory write,memory write的地址就是设备配置空间的MSI address寄存器的值,memory write的数据就是设备配置空间的MSI data寄存器的值。Message address寄存器和message data寄存器是调用pci_enable_msi时,系统软件填入...

2020-04-30 11:34:47 9651 7

转载 【59】linux中断

http://www.wowotech.net/sort/irq_subsystemhttp://www.wowotech.net/irq_subsystem/interrupt_subsystem_architecture.htmlhttps://zhuanlan.zhihu.com/p/26524241

2020-04-13 11:40:58 142

原创 【58】PCIe错误处理机制是如何工作的

向我最喜欢的对冲基金大佬-达里奥致敬,模仿《经济机器是如何运行的》写了一篇《PCIe错误机制是如何工作的》。文章主要介绍了主流的OS native model AER是怎么工作的。1、 错误分类PCIe的错误可以分成两类:不可修复错误和可修复错误,其中不可修复错误又可以细分为致命和非致命两种。可修复错误由硬件修复不需要软件参与,并且修复行为不会导致任何信息的丢失。软件可以记录错误发生的频率...

2020-04-02 15:57:50 6832 6

原创 【57】最近发生的二三事感想

https://blog.csdn.net/juS3Ve/article/details/78557416?utm_source=blogxgwz4很久之前看过宋宝华老师的《宋宝华: 论一个程序员问问题的自我修养(修订版)》,感触颇深,自己年轻的时候也是经常乱问问题。还是感谢老东家的培训,入职培训就教给我们如何做一个合格提问者,如何成为职业人。下面这段话复制至宋宝华老师的博文《宋宝华: 论一个...

2020-03-12 14:43:56 290

原创 【56】linux NTB 的测试工具

https://www.kernel.org/doc/html/latest/driver-api/ntb.htmlhttps://github.com/jonmason/ntb/wiki/Linux-NTB-HOWTO-build-and-installhttps://github.com/jonmason/ntb/wiki/Linux-NTB-HOWTO-testhttps://www....

2020-02-27 11:41:29 3830 3

原创 【55】存储中的镜像技术

早期也有厂商通过SAS或者FC做镜像通道的,现在很多厂商也会使用网卡或者带RDMA功能的网卡作为存储的镜像通道。使用NTB做为镜像好处和坏处都显而易见。NTB做镜像通道对软硬件的技术挑战远远高于RDMA,但是一旦稳定,成本和性能优势就转换成整个产品的护城河。当然如果整机厂商有自己的RDMA芯片也可以变成本做到很低。...

2020-02-27 10:45:19 1412

mindshare pci-express-technology 3.0

pci-express-technology-3.0版本,支持书签导航、支持复制、注释、搜索

2023-11-08

PCIe简介,介绍了PCIe的一些基本概念

https://blog.csdn.net/linjiasen/article/details/104354670?spm=1001.2014.3001.5502 介绍一下PCIe的基本概念

2023-03-28

PCIe介绍.pptx

PCIe的一些基础知识介绍,https://blog.csdn.net/linjiasen/article/details/104354670?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163522759816780357272484%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163522759816780357272484&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-1-104354670.pc_v2_rank_blog_default&utm_term=PCIe%E7%AE%80%E4%BB%8B&spm=1018.2226.3001.4450

2021-10-02

EDA验证各种工具.rar

EDA验证各种工具.rar

2021-09-15

PCIe错误梳理.xlsx

断断续续写了一个月,终于把PCIe 5.0协议中对PCIe错误的各种描述梳理完毕了。

2021-08-16

Reliability, Availability and Serviceability on Linux.pdf

Reliability, Availability and Serviceability on Linux.pdf

2021-02-24

PCIe错误处理机制是如何工作的.docx

写了一篇PCIe错误处理机制是如何工作的 https://blog.csdn.net/linjiasen/article/details/105271766

2020-04-02

PCI-to-PCI Bridge Architecture Specification

PCI-to-PCI Bridge Architecture Specification,作为 PCI local bus的扩展,主要描述了对pci桥的建议。不知道怎么搞的把下载所需积分改小后,系统会自动把积分改回来,如果觉得积分太多就联系我吧

2019-02-21

PCI Local Bus Specification

PCI Local Bus Specification Revision 3.0,BAR地址是用来干啥的,PCIe兼容PCI的配置空间的reg。不知道怎么搞的把下载所需积分改小后,系统会自动把积分改回来,如果觉得积分太多就联系我吧

2019-02-21

PCIe 协议3.1

PCIe 协议3.1,相对于3.0,新增了DPC相关的capability,可靠性增强。DPC cap主要用来支持Nvme的暴力热插拔。

2019-02-16

qcom ION-SMMU实现

qcom的ION,SMMU实现流程,已经DTS文件对应关系。不知道怎么搞的把下载所需积分改小后,系统会自动把积分改回来,如果觉得积分太多就联系我吧

2019-01-11

linux内核net phy流程

linux内核 net phy流程,介绍了net phy流程的driver注册到miibus probe设备。不知道怎么搞的把下载所需积分改小后,系统会自动把积分改回来,如果觉得积分太多就联系我吧

2018-12-26

Borland C++入门指南PDF

Borland C++ 入门指南PDF

2011-03-14

华为硬件工程师的手册

华为的名气大家都知道的,这个硬件工程师的手册真的写的很好

2010-06-23

诺基亚5200手机电路图

本人找到的诺基亚5200手机电路图,建议电子爱好者自己动手修理自己的电子产品。既节约资金又锻炼能力

2010-06-23

各种电池充电电路大全

本人搜集的充电电路,希望多大家有点帮助。大部分是用分立元器件搭建的,适合电子爱好者自己动手。

2010-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除