关于linux:飞腾平台固件规范

7次阅读

共计 8656 个字符,预计需要花费 22 分钟才能阅读完成。

1 前言

本标准实用于基于飞腾处理器的零碎平台,提供了飞腾平台固件的根本要求。本标准实用于基于飞腾平台的服务器、桌面机等设施的布局、设计,可作为测试、选型及验收的根据。

2 定义与缩写

2.1 定义和术语

2.1.1 固件

固化到计算机中的非易失性存储器中的一组程序或软件,为计算机提供最根本的硬件初始化,还可能向下层软件提供底层硬件的拜访接口或服务。

2.1.2 UEFI

对立可扩大固件接口(Unified Extensible Firmware Interface),是以后利用宽泛的一种固件接口标准。

2.1.3 ACPI

高级配置与电源接口(Advanced Configuration and Power Interface),是以后利用宽泛的一种固件接口标准,对系统资源进行形容,并提供电源治理等运行时服务。

2.1.4 BIOS

根本输入输出零碎(Basic Input/Output System)是计算机中的一种固件,是操作系统和计算机平台硬件之间连贯的一个桥梁,负责计算机开机时的硬件检测、设施初始化、操作系统疏导并向操作系统提供服务接口。

2.1.5 SMBIOS

系统管理 BIOS(System Management BIOS),是以后利用宽泛的一种固件接口标准,以数据结构模式对系统资源进行形容。

2.1.6 BMC

基板治理控制器(Baseboard Management Controller),是部署于服务器主板上的具备独立供电、独立 I / O 接口的管制单元,具备独立网络端口,可被近程拜访,能够实现近程监控服务器运行状态、近程电源治理、KVM over IP 等性能。

2.1.7 EC

嵌入式控制器(Embedded
Controller),是部署在计算机平台上的管制单元,反对与处理器之间的通信接口,能够实现计算机的电源治理、外设治理、状态监控等性能。

2.1.8 PSPA

飞腾平安平台架构(Phytium Security Platform Architecture),是飞腾提出的面向平安处理器的软硬件标准。

2.1.9 RAID 虚拟盘

应用 RAID(Redundant Arrays of Independent Disks)技术组合的物理硬盘组称为 RAID 虚拟盘。

2.1.10 STMM

基于 ARM 架构的 Standalone Management Mode 服务。

2.1.11 PFDI

飞腾固件功耗管理控制派发接口。

2.1.12 SE

飞腾系统管理引擎。

2.1.13 RAS

可靠性 (Reliability)、可用性(Availability) 和可服务性(Serviceability)。

2.2 缩写

缩略语 全称 解释
A64 A64 AArch64 应用的 64 位 ARM 指令集
APEI ACPI Platform Error Interface ACPI 平台故障接口
ESRT EFI System Resource Table EFI 系统资源表
PBF Processor Base Firmware 处理器根底固件
PSCI Power State Coordination Interface 功耗状态协同接口
PSSI Phytium System Service Interface 飞腾零碎服务接口
RNG Random Number Generator 随机数生成器
SDEI Software Delegated Exception Interface 软件派发异样接口
SCPI System Control and Power Interface 系统控制和电源接口
SCMI System Control and Management Interface 系统控制和治理接口
SoL Serial Over LAN 基于 LAN 之上的串口
SMCCC SMC Calling Convention SMC 调用约定
TCM Trusted Cryptography Module 可信加密模块
IPMI Intelligent Platform Management Interface 智能平台治理接口
EC Embedded Controller 嵌入式控制器
SMBIOS System Management BIOS 系统管理 BIOS
STMM Standalone Management Mode 独立管理模式
PFDI Phytium Firmware Dispatch Interface 飞腾固件功耗管理控制派发接口

3 固件框架

飞腾处理器零碎中,固件视角下的系统软件栈如下图所示,图中虚线局部是可选项,依据处理器个性和用户需要选择性反对。

固件分为处理器根底固件(Processor Base Firmware,PBF)和零碎固件(System Firmware)两层。如果处理器反对,处理器在执行片外固件前,首先执行存储在片内疏导疏导 ROM(Phytium Boot ROM)中的代码。

飞腾处理器提供通用执行环境和可信执行环境,PBF 负责两个环境的创立与治理。通用执行环境运行在 Non-Secure 态,可信执行环境运行在 Secure 态。

在基于飞腾处理器的计算机平台上,除了飞腾处理器,还可能有带外管制子系统和配套设施。比方,飞腾服务器平台可能有 BMC,配套设施可能会应用飞腾套片。固件与带外管制子系统互相合作,共同完成计算机平台的治理。

飞腾平台固件基于 PBF3.0 架构,具体内容请参考《Processor Base Frimware 接口标准》。

4 固件接口

4.1 PBF

PBF 负责处理器的根本初始化,并提供运行时服务。

  1. PBF 运行在最高异样等级。
  2. PBF 通过 SMC 机制,向下层软件提供运行时服务。
  3. PBF 提供的服务兼容 SMCCC 标准。
  4. PBF 提供 PSCI 服务。
  5. PBF 提供飞腾平台特有的零碎服务,接口遵循 PSSI 标准。
  6. PSSI 服务蕴含 PBF 本身状态的查问。包含但不限于 PBF 版本号、PSSI 接口版本号等。
  7. PSSI 提供飞腾处理器芯片内相干部件的状态查问或配置性能。包含但不限于处理器核、内存控制器、PCIe 控制器等。
  8. PBF 提供功耗管理控制派发机制 PFDI。

4.2 UEFI

  1. 零碎固件兼容 UEFI 标准,反对 2.9 或更高版本。
  2. UEFI 运行在 non-secure EL2。
  3. 遵循 UEFI 标准,以 UEFI 配置表形式向操作系统或利用提供内存布局和内存属性信息。在同一个 64K 物理页面内的所有 4K 页面具备雷同的页面属性,以反对 OS 应用 64KB 页表。
  4. UEFI 利用必须是 A64 二进制格局。
  5. 设施的 UEFI 驱动汇合中至多蕴含一个 A64 二进制格局的 UEFI 驱动。
  6. 提供实时时钟(RTC)服务,包含 GetTime 和 SetTime。
  7. 可选:提供实时时钟唤醒服务,包含 SetWakeupTime 和 GetWakeupTime。
  8. 提供零碎电源管制服务 ResetSystem,包含重启 EfiResetCold、关机 EfiResetShutdown。
  9. 反对非易失性变量的查问、设置服务,包含 GetVariable、SetVariable 和 GetNextVariableName。
  10. 提供看门狗服务,包含 SetWatchdogTimer。
  11. 可选:反对 UEFI 标准的 Capsule 更新机制:反对 ESRT 表,反对 UpdateCasule 和 QueryCapsuleCapacities 服务。
  12. 反对随机数生成协定。如果平台有随机数生成硬件模块,能够抉择基于硬件模块生成随机数。如果是可信固件,随机数生成应满足可信要求。
  13. 提供 ACPI 接口,由 RSDP 指向 ACPI 表入口。
  14. 提供 SMBIOS 接口,采纳 SMBIOS_TABLE_GUID 标识 SMBIOS 表,SMBIOS 表对应的内存区域为 EfiRuntimeServiceData 类型。
  15. 反对设施树。

4.3 ACPI

  1. 兼容 ACPI 标准,反对 6.3 或更高版本。
  2. 反对 ACPI HW-Reduced 模型。
  3. ACPI 表中的地址域是 64 位地址格局。
  4. 反对 RSDP、XSDT、FADT、DSDT、SSDT、MADT、GTDT、DBG2、SPCR、MCFG、PPTT、IORT。
  5. 如果处理器反对 NUMA 架构,反对 MHAT、SRAT 和 SLIT。
  6. 可选反对故障解决相干接口:BERT、EINJ、ERST、HEST、SDEI。
  7. 可选反对 PCCT、SPMI、CPPC 调频性能。
  8. 飞腾的厂商 ACPI ID 是“PHYT”,基于此来形容飞腾自研设施的_HID。
  9. ACPI 定义块应用_HID 标识设施,依据设备描述须要,抉择反对_ADR、_CRS、_STA、_CCA 等信息。

具体内容请参考《飞腾平台 ACPI 形容标准》。

4.4 SMBIOS

  1. 兼容 SMBIOS 标准,反对 3.6.0 或更高版本。
  2. 反对 Type 0、1、2、3、4、7、8、9、16、17、19、20、32、38、127 等类型的表。
  3. 依据须要,选择性反对:Type 11、13、15、41、42 等类型的表。
  4. SMBIOS 表中,处理器形容信息合乎飞腾形容标准。
  5. SMBIOS 表中,厂商形容信息合乎对应厂商形容标准。

参考《飞腾零碎 SMBIOS 形容标准》。

4.5 PSCI

  1. 从核疏导遵循 PSCI 标准。
  2. ACPI FADT 形容 PSCI 信息。
  3. ACPI MADT 中的 GICC 构造形容所有处理器核的 MPIDR。
  4. 反对 PSCI_VERSION、CPU_ON、AFFINITY_INFO、SYSTEM_OFF、SYSTEM_RESET、PSCI_FEATURES。
  5. 反对 CPU_SUSPEND、CPU_OFF,可选反对 SYSTEM_SUSPEND。

5 固件性能

5.1 设施反对

5.1.1 CPU

  1. 能正确辨认和初始化飞腾各款处理器。
  2. 在硬件反对的前提下,能关上和敞开处理器的相干个性。
  3. BIOS 能对处理器上连贯进去的设施(包含但不限于 GPIO、SATA 控制器、USB 控制器、PCI/PCIE 设施和桥、I2C 控制器、Video 设施、Audio 设施、Ethernet 设施)进行正确的辨认与初始化。
  4. 反对 CPU 频率的配置。
  5. 反对 PCIE 控制器的配置,包含使能 / 禁用状态、拆分模式、链路速率、平衡值。
  6. 反对 CPU 核使能 / 禁用配置。

5.1.2 内存

  1. 正确辨认和初始化处理器反对的内存型号,包含内存模组和内存颗粒。
  2. BIOS 对内存的初始化应基于 JEDEC 标准定义的 SPD 数据,SPD 数据起源能够从内存条读取,也能够按 SPD 格局在代码中预设,以反对颗粒模式的内存。
  3. 基于内存的 SPD 信息或预设信息,显示内存信息,包含但不限于内存容量、频率、类型、Part Number 等信息。
  4. 在硬件反对的前提下,反对用户对某些参数内存的配置,包含但不限于内存频率、ECC 使能等。
  5. 内存工作频率默认初始化成 CPU、内存独特反对且不高于 BIOS 配置界面设置的最高频率。

5.1.3 BIOS FLASH

依据处理器反对状况,反对 SPI、QSPI 接口 Flash 芯片。

5.1.4 存储设备

  1. 能正确辨认和初始化不同接口或不同总线协定的存储设备,例如 USB/SATA 光驱,U 盘,SD 卡,EMMC,SATA 硬盘,SSD 硬盘,NVME 硬盘,SAS 盘,RAID 虚拟盘等。
  2. 能从存储设备装置和疏导操作系统。其中,装置源存储设备包含光驱、U 盘;装置指标存储设备包含各种物理硬盘和 RAID 虚拟盘。

5.1.5 输入输出设施

  1. 反对串口控制台,包含输出与输入。
  2. 反对 USB 键盘和 PS2 键盘作为输出设施。
  3. 在硬件反对的前提下,反对常见显示接口的输入,包含 VGA/HDMI/DVI/ DP 等。

5.1.6 板卡

  1. 能正确的辨认常见的 PCIe 板卡,包含 SATA 卡、网卡、Raid 卡和显卡等。
  2. 板卡厂商需提供飞腾指令集的板卡 UEFI 驱动,驱动寄存在板卡的 EEPROM 中,或提供给固件厂商包在固件中。
  3. 固件能从板卡 EEPROM 或 BIOS
    Flash 芯片中加载和运行板卡 UEFI 驱动,实现对板卡的初始化,并使板卡在固件阶段具备相应的性能。
  4. 对未提供相应指令集板卡驱动的外接板卡,能对其进行根本的资源分配,以满足操作系统辨认、初始化、应用该板卡设施的须要。
  5. 反对各种 PCI/PCIE 转接卡和扩展卡,能正确的辨认和初始化转接卡和扩展卡上连贯的各种设施。

5.1.7 设施使能与敞开

  1. 在硬件反对的条件下,反对将处理器或桥片中设施或端口配置成使能或敞开。
  2. 未通过硬件连贯进去的设施或端口默认为敞开状态。

5.1.8 飞腾套片

在硬件资源条件容许的状况下,反对以下性能:

  1. 能正确辨认飞腾套片中的设施,SATA 控制器、USB 控制器和显卡。
  2. 反对套片固件信息的读取,包含版本号、固件编译工夫。
  3. 反对所有 USB 控制器整体使能 / 禁用。
  4. 反对 SATA Port 应用状态读取,以及在用 port 的使能 / 禁用。
  5. 反对显卡使能 / 禁用。
  6. 反对套片中每个 PCIE 端口的使能 / 禁用。
  7. 反对 UEFI 下更新套片固件,更新过程中有 UI 界面显示更新进度以及更新实现提醒。
  8. 反对 PS2 键盘。

5.2 个别性能

固件有明确的版本信息和编译生成工夫信息。

5.3 启动 OS

  1. 按 UEFI 标准启动 OS。
  2. 与 OS 的接口遵循 UEFI、ACPI、SMBIOS 等接口标准,详见“4 固件接口”相干章节。
  3. 反对国内次要操作系统,比方:麒麟操作系统、UOS 及其他支流国产操作系统的装置与疏导。
  4. 反对分区格局:GPT 分区、MBR 分区。
  5. 反对常见的文件系统,包含但不限于 FAT32、EXT2/4、ISO9660 等。
  6. 反对多种疏导形式,BIOS 按启动项的先后顺序顺次尝试启动项。启动项可参考项为网络(如 PXE)、USB 介质(如闪存盘、USB 光驱等)、硬盘(如 SAS、SATA 等)等。

5.4 网络疏导

BIOS 应反对规范的 PXE 疏导。

5.5 固件更新

  1. 固件更新包含对 PBF、零碎固件、设施固件的更新。
  2. 固件更新时,需确保新固件的合法性,包含固件版本合法性。
  3. 反对配置界面或者 Shell 命令行发动的固件降级。
  4. BIOS 降级之前应有醒目提示信息,提醒用户切勿断电或重启机器。
  5. 固件更新中须要有 UI 界面提醒降级进度,且有更新实现的提醒,从降级开始到降级实现应无需人工干预。
  6. 固件更新有安全性及合法性验证,通过验证才能够进行更新。
  7. 固件更新实现后,重启失效。
  8. 默认状况下,经用户设置的 BIOS 配置在 BIOS 降级后放弃不变,降级前后版本不兼容时可例外。
  9. 可选:反对操作系统发动的固件更新。
  10. 可选:反对带外控制系统发动的固件更新,比方 BMC。
  11. 可选:反对固件完整性探测,反对固件复原机制。

5.6 开机界面

  1. 反对显卡显示性能。
  2. 开机画面按飞腾《PBF 接口标准》要求,显示飞腾 Logo。
  3. 显示固件界面操作提示信息,包含热键提示信息,比方进入配置界面、网络疏导、启动项治理等。
  4. 开机中期待热键的工夫能够配置。

5.7 诊断性能

在硬件反对的状况下,应记录的诊断信息包含但不限于,至多能够通过调试信息查问:

  1. 检测到无内存。
  2. 内存初始化胜利或失败。
  3. 检测到无显示输出设备。
  4. 检测到无启动设施。

6 BIOS 配置界面

  1. 配置界面应能显示零碎的根本信息,包含但不限于 BIOS 信息、主板信息、处理器信息、内存信息、日期工夫信息等。
  2. 配置界面显示语言反对中文或英文,中文应合乎 GB18030-2022,如果同时反对,则可在配置界面进行设置。
  3. 反对 CPU 高级性能配置,包含 CPU 频率、DDR 频率、CORE 使能状态、内存初始化模式、PCIE 控制器配置、PBF 打印等级配置等。
  4. 在硬件反对的状况下,反对以下性能:
    1)端口开关管制:USB 端口开关配置,SATA 端口开关配置。
    2)网络开关管制,PXE 启动开关管制。
    3)存在双显卡的状况下,能够进行显卡切换配置。
  5. 应用飞腾套片的状况下,反对以下性能:
    1)套片固件根本信息查问,包含固件版本、编译工夫。
    2)套片 USB 控制器整体使能 / 禁用配置。
    3)套片 SATA 各个端口应用状态查问,以及使能 / 禁用配置。
    4)套片显卡使能 / 禁用配置。
    5)套片各个 PCIE 端口使能 / 禁用配置。
  6. 在有 BMC 的状况下,反对以下性能:
    1)BMC 根本信息查问,包含设施 ID、设施版本、固件版本、产品 ID、厂商 ID。
    2)BMC 自检状态查问。
    3)掉电复原策略配置。
    4)POST 启动看门狗使能 / 禁用,看门狗超时工夫配置及超时行为配置。
    5)OS 启动看门狗使能 / 禁用,及看门狗超时工夫配置及超时行为配置。
    6)BMC 网络参数配置。
    7)BMC 账户治理配置。
  7. 提供 BIOS 明码的设置和革除性能,明码分为管理员明码和用户明码。
  8. 提供启动项优先程序配置。
  9. 提供复原默认配置性能。
  10. 支持系统工夫配置。
  11. 如果应用 EC,反对以下性能:
    1)EC 版本信息查问。
  12. 反对串口重定向参数配置。
  13. 反对 USB 控制器、USB 设施、PCIE 设施、硬盘等信息查问。
  14. 以上内容详情请参考《飞腾平台 BIOS SETUP 标准》。

7 反对带外管制子系统(可选)

本章内容是可选的,能够依据硬件反对状况及用户利用需要,选择性实现。

7.1 SE(系统管理引擎)

  1. BIOS 能正确辨认并初始化与片内零碎控制器的通信接口。
  2. BIOS 能依照片内零碎控制器实现的接口协议与其通信,比方:SCMI、SCPI 接口协议。

7.2 BMC

  1. BIOS 能正确的检测和初始化与 BMC 的通信接口。
  2. 当处理器的串口连贯到 BMC 时,反对基于该串口的串口终端。
  3. 当平台应用 BMC 中的显示设施作为主机零碎的设施时,BIOS 能正确的初始化 BMC 中的显示设施,使其在 BIOS 下具备相应的性能。
  4. BIOS 能辨认和初始化 BMC 端近程挂载的虚构媒体设施,包含虚拟存储设施和虚构输出设施(比方,键盘、鼠标)。
  5. BIOS 能与 BMC 依照《飞腾平台 BMC 标准》进行通信。
  6. 反对 IPMI 协定。
  7. 反对 BMC 状态、BMC 设施版本、BMC 固件版本等信息的查问。
  8. 反对对 BMC 网络进行配置。
  9. 反对 BMC 通过 IPMI 协定抉择零碎疏导设施。
  10. 基于 IPMI 协定向 BMC 发送故障事件。
  11. 可选反对:Redfish 协定。

7.3 EC

  1. BIOS 能正确的检测和初始化与 EC 的通信接口。
  2. BIOS 能辨认和初始化 EC 端挂载的设施,比方键盘、触摸板等。
  3. BIOS 与 EC 之间的通信请参考《飞腾平台 Embedded Controller 接口标准》。

8 平安(可选)

本章内容是可选的,能够依据硬件反对状况及用户利用需要,选择性实现。

8.1 可信执行环境

  1. 可信执行环境遵循飞腾 PSPA 标准。
  2. 反对可信执行环境资源的调整,比方,内存容量、外设等。
  3. 反对内存数据的秘文读、写、存储。
  4. 反对资源的平安属性批改,比方,依据用户需要,配置某个外设的平安属性。
  5. 反对通用执行环境与可信反对环境之间的通信机制,比方 SMC 服务、中断、共享内存等。

8.2 平安疏导

  1. 遵循 UEFI 标准的 Secure Boot 性能。
  2. 基于可信根构建平安启动流程。
  3. 采纳逐级验签的形式,构建可信启动链。
  4. 对新导入的重要代码、数据进行延签,验证其合法性。
  5. 在硬件反对的前提下,反对验签相干算法的硬件加速。
  6. 反对对第三方模块、驱动或利用的证书进行注册和删除。

8.3 可信模块

在平台具备相应硬件的前提下,BIOS 需提供 TCM 等可信模块性能的反对:

  1. 自动识别和初始化可信模块。
  2. 反对可信模块性能的关上与敞开。
  3. 在用户受权管制下,反对可信模块数据的革除或重置。
  4. 基于可信模块,实现对要害硬件和外围软件的完整性度量。要害硬件包含硬盘、显卡等;外围软件包含疏导程序、重要配置文件以及用户配置列表中的文件。
  5. 反对可信芯片中可信预期值的更新。
  6. 如果完整性度量发现异常,固件收回正告、终止启动或者由管理员更新可信预期值或进行其余相干配置。

8.4 固件明码

  1. 反对管理员明码和用户明码两种明码,两种明码别离设置,彼此独立。
  2. 设置明码后,必须通过明码验证后,能力进行由明码管制的相干操作。
  3. 明码以密文形式存储。
  4. 用户只能批改不得革除用户明码。管理员能够革除或批改用户明码。

8.5 飞腾管理模式 MM

  1. 可选飞腾管理模式 MM 框架,参考《飞腾管理模式(MM)接口标准》。
  2. 反对平安态 Variable 操作。
  3. 反对平安态固件降级性能。
  4. RAS。

9 功耗治理(可选)

本章内容是可选的,能够依据硬件反对状况及用户利用需要,选择性实现。

  1. BIOS 提供遵循 ACPI、PSCI 等标准的功耗治理接口。
  2. BIOS 反对电源管理模式中的 S0,S5 模式。
  3. 在硬件平台反对的状况下,BIOS 需满足以下电源治理要求:
    1)反对 S3 模式。
    2)超时唤醒性能和网络唤醒性能。
    3)反对设施功耗状态的切换,比方,处理器核动静调频、调压。
    4)反对设施的关断,比方,处理器核、外设等。

10 RAS

本章内容是可选的,能够依据硬件反对状况及用户利用需要,选择性实现。

  1. 依据故障起因,对系统故障进行分类。
  2. 针对系统故障的类别,别离解决。
  3. 反对故障信息的保留、查问以及保留记录的删除。
  4. 反对故障在 PBF、零碎固件、操作系统等多个等级之间逐级上报。反对用户配置故障上报的范畴。
  5. 故障上报接口兼容 APEI 和 SDEI 标准。

参考《飞腾 RAS 软件标准》。


更多资料获取:飞腾开发者平台

版权所有。飞腾信息技术有限公司 2023。保留所有权力。
未经本公司批准,任何单位、公司或集体不得擅自复制,翻译,摘抄本文档内容的局部或全副,不得以任何形式或路径进行流传和宣传。

商标申明
Phytium 和其余飞腾商标均为飞腾信息技术有限公司的商标。
本文档提及的其余所有商标或注册商标,由各自的所有人领有。

留神
本文档的内容视为飞腾的窃密信息,您该当严格遵守窃密工作;未经飞腾当时书面批准,您不得向任何第三方披露本文档内容或提供给任何第三方应用。

因为产品版本升级或其余起因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为应用领导,飞腾在现有技术的根底上尽最大致力提供相应的介绍及操作指引,但飞腾在此明确申明对本文档内容的准确性、完整性、适用性、可靠性的等不作任何明示或暗示的保障。

本文档中所有内容,包含但不限于图片、架构设计、页面布局、文字描述,均由飞腾和 / 或其关联公司依法领有其知识产权,包含但不限于商标权、专利权、著作权等。非经飞腾和 / 或其关联公司书面批准,任何人不得擅自应用、批改,复制上述内容。

正文完
 0