首页 > 其他分享 >cpu的errata

cpu的errata

时间:2023-09-05 19:22:23浏览次数:37  
标签:errata detection TRBE N2 MIDR cpu

芯片如果流片后,产生一些需要软件workaround的bug怎么处理呢?

在linux中,对于pci,有pci的quirk,对于cpu,有cpu的errata。

以arm为例,针对cpu执行 errata 的代码为:arch/arm64/kernel/cpu_errata.c

以arm较新的armN2 为例:
arch/arm64/kernel/cpu_errata.c
392: MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
405: MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
417: MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
具体其中一个可以看到:

commit b9d216fcef4298de76519e2baeed69ba482467bd
Author: Suzuki K Poulose <[email protected]>
Date:   Tue Oct 19 17:31:40 2021 +0100

    arm64: errata: Add detection for TRBE overwrite in FILL mode

    Arm Neoverse-N2 and the Cortex-A710 cores are affected
    by a CPU erratum where the TRBE will overwrite the trace buffer
    in FILL mode. The TRBE doesn't stop (as expected in FILL mode)
    when it reaches the limit and wraps to the base to continue
    writing upto 3 cache lines. This will overwrite any trace that
    was written previously.

    Add the Neoverse-N2 erratum(#2139208) and Cortex-A710 erratum
    (#2119858) to the detection logic.

    This will be used by the TRBE driver in later patches to work
    around the issue. The detection has been kept with the core
    arm64 errata framework list to make sure :
      - We don't duplicate the framework in TRBE driver
      - The errata detection is advertised like the rest
        of the CPU errata.

    Note that the Kconfig entries are not fully active until the
    TRBE driver implements the work around.

标签:errata,detection,TRBE,N2,MIDR,cpu
From: https://www.cnblogs.com/10087622blog/p/17680600.html

相关文章

  • Go - benchmark cpuprofile
    zzh@ZZHPC:/zdata/MyPrograms/Go/aaa$gotest-runNONE-bench.goos:linuxgoarch:amd64pkg:zzh/aaacpu:Intel(R)Core(TM)[email protected]/opPASSokzzh/aaa1.392szzh@ZZHPC:/zdata/MyPrograms/Go......
  • CPU简史
    这是一个OS课程作业。大部分信息来源于维基百科。第一个微处理器:Intel40041971,Intel推出世界上第一款商用微处理器4004。4004是4位处理器,含有2300个晶体管,采用10微米制程,性能与1946年ENIAC相似,但尺寸仅有3mm×4mm。4004原先是为一家名为Busicom的日本公司而设计,用来生产电子计......
  • 点了下详情系统,CPU 100%。。。
    作者:玛奇玛链接:https://juejin.cn/post/7233307834456129593又是一个百无聊赖的早晨,我在快乐地摸鱼,工作群响了:离线系统登录不上了。我第一反应是不科学啊,系统已经很久改动过了...赶紧上生产环境看看,CPU高达1200%。接着又是熟练地敲出那几行排查CPU过高的命令:top-H-ppid......
  • CPU执行程序的过程
    CPU执行程序的过程目录CPU执行程序的过程前言/基础知识为了更好的分析程序的执行过程,我们还需要了解一下基础的计算机硬件信息在执行指令前,我们还需要认识一下CPU中的重要部件:寄存器。特殊寄存器StackPointerregister(SP)LinkRegister(LR)ProgramCounter(PC)WordZeroRegister(W......
  • CPU扫盲
    CPU扫盲目录CPU扫盲指令集指令集概念指令集架构CPU和指令集的关系CPU如何执行指令以及流水线技术指令系统组成地址空间操作数指令操作和编码CPU如何执行一条指令CPU如何执行多条指令RISC-V指令集架构寄存器RSIC-V32I寄存器说明RAISC指令比较指令格式比较寻址方式比较公共指令功......
  • linux查看平均cpu占用率
    如果想要获取平均占用率,可以在top命令后添加"-d"参数,指定刷新时间间隔(单位为秒),例如top-d1这样会每隔1秒更新一次CPU的占用率信息。请注意,top命令会实时显示系统状态,您可以按下键盘上的"q"来退出top命令。......
  • 控制CPU占用率
    控制CPU占用率大概原理就是一段时间计算另一段时间休眠,占比宏观上就可以体现成CPU占用率,由于机器上还有其它程序运行,所以不会很精确。代码Windows版本#include<stdio.h>#include<windows.h>DWORDWINAPIThreadFunc(void*data){constintinterval=100;//总时......
  • ARM和X86、X86和X64、Intel和AMD、CPU和GPU介绍
    一、ARM和X86X86和ARM都是CPU设计的一个架构。X86用的是复杂指令集。ARM用的是精简指令集。指令集其实就是机器码,机器码上是汇编,汇编之上是程序语言例如java、c、c#。复杂指令集是在硬件层面上设计了很多指令,所以编程会简单些。精简指令集是在硬件层面上设计的指令比较少,所......
  • 新品!芯驰D9-Pro六核国产CPU,自主可控、安全可信的高性能显控方案
    前段时间,米尔上市了芯驰D9系列的国产核心板和开发板。这款核心板既能跑安卓、Linux、RTOS系统,还有单核、双核、5核、6核可选,吸引了很多客户来咨询。这次米尔上市了这款基于芯驰D9-Pro的MYC-YD9360核心板及开发板,采用邮票孔连接方式,专为高端显控一体机的应用设计。 D9-Pro的特......
  • 【故障公告】一而再,再而三,三翻四复:数据库服务器 CPU 100%
    会员救园,故障捣乱,每当困难时,故障们总是喜欢雪上加霜过来考验你。今天下班前17:43~17:47期间,园子的SQLServer数据库服务器突然出现CPU100%问题。发现问题后,我们立即火速赶往阿里云RDS控制台,重启了实例,重启后很快恢复正常。快到19点的时候,正当我们准备发布“一而再,再而三......