首页 > 其他分享 >AHCI ---HBA Configuration Registers---PCI Header

AHCI ---HBA Configuration Registers---PCI Header

时间:2024-04-08 18:32:13浏览次数:25  
标签:ROM AHCI HBA --- PCI Offset

2.1 PCI Header

下面表格是截取自 AHCI Spec,主要是介绍 PCI header 的每个字段的具体含义,根据获取这个 header 的数据可以来解析这个 HBA 的具体的配置。不同字段的各个值的含义,可以参考AHCI spec HBA Configuration Registers 章节。本文主要是介绍几个重要的字段。

PCI Header:

额外介绍一下对于不同字段寄存器的属性设置:

  • RO---只读
  • RW---可读可写
  • RWC---可读可写,通过写入 1 可以置 0
  • RW1---可读可写,通过写入 1 来置起
  • Impl. Spec ---特定于实现——HBA可以自由选择其实现
  • HwInit---默认状态取决于设备和系统配置。
    该值在重置时初始化,可以由扩展ROM初始化,或者在集成设备的情况下,由平台BIOS初始化。

Offset 00h: ID - Identifiers

由厂商设置分配不同设备不同的设备编号;

Offset 06h: STS - Device Status

标识当前 HBA 的状态,用于检测当前 device 是否有错误产生,以及 HBA 的操作频率等信息。

Offset 09h: CC - Class Code

类型码,可以根据这个字段的值来获取 device 的具体类型,也可以看出 HBA 其实也就是个 PCI 设备。

当是一个 SATA 设备时,class code 应该是 01h,sub class 应该是 06h;

对于支持RAID的 HBA,Sub Class Code复位值应该是04h,Programming Interface复位值应该是00h。

Offset 0Fh: BIST – Built In Self Test (Optional)

这是一个可选的功能,用于指示 HBA 是否支持 BIST 的功能以及 BIST 的状态。

Offset 24h: ABAR – AHCI Base Address

用来指示 HBA 在系统内存的内存类型,以及基地址,后面会介绍的HBA memory registers 就是在这个基地址的基础上加上 offset 来获取寄存器的值的。必须为ABAR分配足够的空间,以容纳全局AHCI寄存器、每个端口特定于端口的寄存器以及任何特定于供应商的空间(如果需要)。

Offset 30h: EROM – Expansion ROM (Optional)

若是 HBA 有自己的扩展 ROM 的话,需要这个字段来获取扩展 ROM 的基地址。

标签:ROM,AHCI,HBA,---,PCI,Offset
From: https://blog.csdn.net/JUSTIN_TYL/article/details/137519170

相关文章

  • SAST-数据流分析方法-理论
    引言众所周知,数据流分析是实现污点分析的一种常用技术数据流分析分为过程内的数据流分析与过程间的数据流分析。前者是对一个方法体内的数据流分析,主要是基于CFG分析,不涉及方法调用;后者是基于不同方法间的数据流分析,主要是基于ICFG+CG分析,会涉及方法调用。一、过程内数据流分析......
  • INFR11199-高级数据库系统
    INFR11199-高级数据库系统(2024年春季)课程课业到期时间:2024年3月28日星期四中午12:00重要:抄袭:每个学生都必须单独完成本项目课业。此项目的所有代码都必须是您自己的。您不能复制源代码来自其他学生或你在网上找到的其他来源。你不能分享你和其他学生的代码。您不能将代码托管......
  • 设计模式 - 策略模式
    起初业务简单、随着业务增长所有相关业务代码处理逻辑都放置同一个对象中,通过策略模式以不通分类实现具体业务publicinterfaceIPlanVideoStrategy{Stringexecute(IntegertypeCode,IntegernodeId,List<String>qzTimeList);}publicclassPlanPlayBackContext{......
  • Udemy AWS SAA - Scalability & Availability
    Scalability:anapplication/systemcanhandlegreaterloadsbyadapting.TherearetwokindsofscalabilityVerticalScalability(=scaleup/down)increasingthesizeoftheinstance,likebetterlaptop,orfromt2.microtot2.largeHorizontalScal......
  • 小红不想做莫比乌斯反演杜教筛求因子和的前缀和(枚举)--牛客周赛 Round 39-E
    #include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineendl'\n'#defineinf1e18constintmod=1e9+7;constintN=2e5+5;intn,m,p,x;voidsolve(){ cin>>n>>m>>p>>x; intans=0; for(inti=1;i&......
  • 小红不想做完全背包 (hard)(DP)--牛客周赛 Round 39-D
    #include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineendl'\n'#defineinf1e18constintmod=1e9+7;constintN=2005;//typedef__int128lll;//typedefunsignedlonglongull;intn,p;inta[N],dp[N];voidsolve(){......
  • 基于51单片机教室智能台灯路灯控制激光计数光照控灯设计21-764
    21-764、51智能灯光控制系统的设计-LCD1602-激光-光照-KEY-高亮产品功能描述:本设计由STC89C52单片机核心板电路+LCD1602液晶显示电路+激光光电对射传感器电路+光敏电阻模块电路+按键电路+高亮灯电路+电源电路组成。1、通激光光电对射传感器检测人数。2、LCD1602液晶实时显......
  • 基于STM32单片机智能垃圾桶红外感应雨滴检测语音设计21-766
    21-766、STM32智能垃圾桶设计-E18-KEY-红外对管-ISD1820-水滴-电磁锁产品功能描述:本设计有STM32F103C8T6单片机核心板电路+红外避障传感器电路+按键电路+红外对管电路+ISD1820语音模块电路+水滴传感器电路+电磁锁电路组成。1、通过红外避障传感器和按键均可以控制电磁锁的开......
  • 基于51单片机风能太阳能锂电池充电器电压容量检测设计21-831
    21-831、51单片机风能太阳能风光互补锂电池充电器系统+液晶显示充电时长和电压值和容量设计产品功能描述:本系统由STC89C52单片机、LED灯指示、锂电池电压检测、太阳能发电、风能发电、锂电池充电保护、升压稳压、LCD1602液晶及电源组成。1、通过风机和太阳能电池板并接给锂......
  • 基于STM32单片机汽车防盗GPS定位GSM短信加速度检测设计21-880
    21-880、STM32汽车防盗系统设计-震动-ADXL345-GPS-GSM-RELAY产品功能描述:本设计由STM32F103C8T6单片机核心板电路+震动传感器电路+ADXL345重力加速度传感器电路+GPS模块电路+GSM模块电路+继电器控制电路组成。1、系统将是否有震动以及是否有倾倒以及对应的GPS经纬度信息,每隔......