CXL Early Discovery Table(CEDT)介绍

1. CEDT 概述

CEDT(CXL Early Discovery Table)是 CXL 3.1 协议定义的 ACPI 表,用于在操作系统启动早期(无需解析完整的 ACPI 命名空间)快速发现和初始化 CXL 相关硬件资源。其核心功能包括:

定位 CXL Host Bridges:通过 CHBS(CXL Host Bridge Structure)描述每个 CXL Host Bridge 的寄存器位置。
定义固定内存窗口:通过 CFMWS(CXL Fixed Memory Window Structure)声明系统可用的 Host Physical Address (HPA) 范围及其属性(如交错规则)。
辅助初始化:为操作系统提供预配置信息(如 CXL.cache 和 CXL.mem 的初始化参数)。

2. CEDT 表结构

CEDT 表由 表头(Header) 和 多个子结构(CEDT Structure[n]) 组成:

2.1 CEDT Header

在这里插入图片描述

2.2 CEDT 子结构类型

CEDT 包含多种子结构,每个子结构的类型由首字段标识:
在这里插入图片描述

3. 关键子结构详解

3.1 CXL Host Bridge Structure (CHBS)

在这里插入图片描述

每个 CXL Host Bridge 对应一个 CHBS 条目,描述以下信息:
UID:唯一标识符,与 ACPI 命名空间中 _UID 字段匹配。
Base Address:Host Bridge 寄存器基地址(物理地址)。
Length:寄存器空间的长度(字节)。
其他属性:如是否支持 CXL.mem、CXL.cache 等。
ACPI 命名空间关联:
CXL Host Bridge 在 ACPI 中通过设备对象(HID=ACPI0016)表示。
_UID 值必须与 CHBS 中的 UID 字段一致,用于匹配硬件资源。
3.2 CXL Fixed Memory Window Structure (CFMWS)
CFMWS 描述系统预定义的固定内存窗口,用于 CXL 内存资源的地址分配和交错规则:
HPA 范围:窗口的起始地址和大小。
Interleave 规则:
指定窗口的交错粒度(如 256B、4KB)。
定义交织目标(如多个 CXL Host Bridges 的交错组合)。
属性限制:
窗口用途(如仅用于 Volatile 或 Persistent Memory)。
是否支持热插拔等。
关键约束:
所有 CFMWS 定义的 HPA 范围不可重叠。
OSPM(操作系统电源管理模块)需根据 CFMWS 规则管理内存分配,避免地址冲突。

4. CEDT 的作用流程

启动阶段:UEFI/BIOS 根据硬件配置生成 CEDT 表。
OS 发现:操作系统通过 ACPI RSDT/XSDT 定位 CEDT。
早期初始化:OS 读取 CHBS 和 CFMWS,配置 CXL Host Bridge 寄存器并初始化内存窗口。
ACPI 解析后:验证 ACPI 命名空间中的 CXL 设备与 CEDT 信息一致。

5. 设计注意事项

校验和验证:需确保 CEDT 校验和正确,否则视为无效表。
地址冲突:CFMWS 定义的 HPA 范围需与现有内存映射兼容(如 DRAM 或 PCI BAR)。
多 Host Bridge 协调:交错窗口需通过 CXIMS 或 CFMWS 声明交织算法。
CEDT 是 CXL 生态系统的基石之一,确保了 CXL 设备在异构计算环境中的无缝集成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏天Aileft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值