ABI 已移除的符号

/sys/bus 下的符号

/sys/bus/nd/devices/regionX/nfit/ecc_unit_size

在文件 sysfs-bus-nfit 中定义

(只读) 对 DIMM 的写入请求大小,不会在内存控制器处导致读-修改-写循环。

当 nfit 驱动程序初始化时,它会在每个 pmem 范围内运行 ARS (地址范围擦洗) 操作。该过程的一部分涉及确定给定地址范围的 ARS 能力。报告的能力之一是“清除不可纠正错误范围长度单位大小”(参见:ACPI 6.2 第 9.20.7.4 节 函数索引 1 - 查询 ARS 能力)。此属性指示 NVDIMM 可能需要执行读-修改-写循环以维护 ECC (错误纠正码) 块的边界。

/sys/class 下的符号

/sys/class/cxl/<afu>/afu_err_buf

在文件 sysfs-class-cxl 中定义

只读 AFU 错误缓冲区内容。此文件内容与应用程序相关,并取决于所使用的 AFU。与 AFU 交互的应用程序可以使用此属性了解当前的错误情况并采取适当的操作,例如记录事件等。

/sys/class/cxl/<afu>/api_version

在文件 sysfs-class-cxl 中定义

只读 内核/用户 API 当前版本的十进制值。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>/api_version_compatible

在文件 sysfs-class-cxl 中定义

只读 此内核支持的用户空间 API 的最低版本的十进制值。

用户

https://github.com/ibm-capi/libcxl

AFU 配置记录(例如 /sys/class/cxl/afu0.0/cr0)

AFU 可以选择导出一个或多个类似 PCIe 的配置记录,称为 AFU 配置记录,这些记录将在此处显示(如果存在)。

/sys/class/cxl/<afu>/cr<config num>/class

在文件 sysfs-class-cxl 中定义

只读 此 AFU 配置记录中找到的类代码的十六进制值。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>/cr<config num>/config

在文件 sysfs-class-cxl 中定义

只读 此二进制文件提供对 AFU 配置记录的原始访问。其格式预计与 PCIe 规范定义的标准或扩展配置空间相匹配。

用户

https://github.com/ibm-capi/libcxl

主上下文(例如 /sys/class/cxl/afu0.0m)

/sys/class/cxl/<afu>/cr<config num>/device

在文件 sysfs-class-cxl 中定义

只读 此 AFU 配置记录中找到的设备 ID 的十六进制值。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>/cr<config num>/vendor

在文件 sysfs-class-cxl 中定义

只读 此 AFU 配置记录中找到的供应商 ID 的十六进制值。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>/irqs_max

在文件 sysfs-class-cxl 中定义

读/写 用户空间可请求的最大中断数的十进制值。探测时的默认值是硬件支持的最大值(例如 2037)。写入的值将把用户空间应用程序限制为该数量的用户空间中断。必须 >= irqs_min。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>/irqs_min

在文件 sysfs-class-cxl 中定义

只读 用户空间在 CXL_START_WORK ioctl 上必须请求的最小中断数的十进制值。用户空间可以省略 START_WORK IOCTL 中的 num_interrupts 字段以自动获取此最小值。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>/mmio_size

在文件 sysfs-class-cxl 中定义

只读 用户空间可 mmap 的 MMIO 空间大小的十进制值。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>/mode

在文件 sysfs-class-cxl 中定义

读/写 AFU 当前使用的模式。将是 modes_supported 中给出的模式之一。在没有用户上下文附加的情况下,写入将改变模式。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>/modes_supported

在文件 sysfs-class-cxl 中定义

只读 此 AFU 支持的模式列表。每行一个。有效条目为:“dedicated_process” 和 “afu_directed”

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>/prefault_mode

在文件 sysfs-class-cxl 中定义

读/写 在执行 START_WORK ioctl 时,将段预故障模式设置为段表中的模式。仅适用于在哈希页表 MMU 下运行时。可能的值

不预故障(默认)

工作元素描述符

将工作元素描述符视为有效地址并预故障其指向的内容。

所有

所有调用 START_WORK 的进程映射的段。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>/reset

在文件 sysfs-class-cxl 中定义

只写 在此处写入 1 将重置 AFU,前提是没有上下文在 AFU 上处于活动状态。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>m/mmio_size

在文件 sysfs-class-cxl 中定义

只读 用户空间可 mmap 的 MMIO 空间大小的十进制值。这也包括所有从属上下文空间。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>m/pp_mmio_len

在文件 sysfs-class-cxl 中定义

只读 每进程 MMIO 空间长度的十进制值。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<afu>m/pp_mmio_off

在文件 sysfs-class-cxl 中定义

只读 (非访客模式下) 每进程 MMIO 空间偏移量的十进制值。

用户

https://github.com/ibm-capi/libcxl

卡信息(例如 /sys/class/cxl/card0)

/sys/class/cxl/<card>/base_image

在文件 sysfs-class-cxl 中定义

只读 (非访客模式下) 标识支持可加载 PSL 的设备的基本映像修订级别。对于 FPGA,此字段标识适配器上闪存中包含的映像,该映像在初始程序加载期间加载。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<card>/caia_version

在文件 sysfs-class-cxl 中定义

只读 标识卡实现的 CAIA 版本。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<card>/image_loaded

在文件 sysfs-class-cxl 中定义

只读 (非访客模式下) 根据加载到卡上的映像,将返回“user”或“factory”。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<card>/load_image_on_perst

在文件 sysfs-class-cxl 中定义

读/写 (非访客模式下) 有效条目为“none”、“user”和“factory”。“none”表示 PERST 不会导致映像加载到卡中。加载映像需要电源循环。“none”可能对调试有用,因为跟踪数组会保留。

“user”和“factory”表示 PERST 将导致加载用户或工厂映像。默认是在 PERST 时重新加载卡已加载的任何映像。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<card>/perst_reloads_same_image

在文件 sysfs-class-cxl 中定义

读/写 (非访客模式下) 信任通过 PERST 重新加载映像时,它不会发生变化。

0

不信任,映像可能不同(默认)

1

信任映像不会改变。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<card>/psl_revision

在文件 sysfs-class-cxl 中定义

只读 标识 PSL 的修订级别。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<card>/psl_timebase_synced

在文件 sysfs-class-cxl 中定义

只读 如果 psl 时间基准寄存器与核心时间基准寄存器同步,则返回 1,否则返回 0。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<card>/reset

在文件 sysfs-class-cxl 中定义

只写 写入 1 将向卡发出 PERST,前提是卡的任何 AFU 上都没有活动的上下文。这可能会根据 load_image_on_perst 导致卡重新加载 FPGA。写入 -1 将强制 PERST,无论卡 AFU 上是否有任何活动上下文。

用户

https://github.com/ibm-capi/libcxl

/sys/class/cxl/<card>/tunneled_ops_supported

在文件 sysfs-class-cxl 中定义

只读 如果在 capi 模式下支持隧道操作,则返回 1,否则返回 0。

用户

https://github.com/ibm-capi/libcxl

/sys/class/rfkill/rfkill[0-9]+/claim

在文件 sysfs-class-rfkill 中定义

此文件已弃用,因为它不再提供仅控制单个 rfkill 实例的方法。此文件原定于 2012 年移除,并于 2016 年移除。值:0:内核处理事件

/sys/devices 下的符号

/sys/devices/system/machinecheck/machinecheckX/tolerant

在文件 sysfs-mce 中定义

在可恢复的机器检查(参见下面最后一句)出现后,此功能已未使用且过时,而这些功能自 2010 年(Nehalem)以来就已存在。

原始描述

这些条目为每个 CPU 显示,但它们实际上在所有 CPU 之间共享。

容忍级别。当非纠正的机器检查发生机器检查异常时,内核可以采取不同的操作。

由于机器检查异常随时可能发生,内核有时杀死进程是危险的,因为它违背了正常的内核锁定规则。容忍级别配置了内核尝试恢复的努力程度,即使存在死锁的风险。较高的容忍值可能会以崩溃甚至数据损坏的风险(对于容忍度 >= 3)换取潜在的更好运行时间。

0

始终在未纠正错误时恐慌,记录已纠正错误

1

在未纠正错误时恐慌或 SIGBUS,记录已纠正错误

2

SIGBUS 或记录未纠正错误,记录已纠正错误

3

从不恐慌或 SIGBUS,记录所有错误(仅用于测试)

默认值: 1

请注意,这仅在 CPU 允许从机器检查异常中恢复时才有效。当前的 x86 CPU 通常不支持。

/sys/firmware 下的符号

/sys/firmware/efi/vars

在文件 sysfs-firmware-efi-vars 中定义

此目录公开了与 EFI 变量交互的接口。有关 EFI 变量的更多信息,请参阅 UEFI 规范中的“变量服务”(规范版本 2.3 Errata D 的 7.2 节)。

‘efivars’ sysfs 接口已于 2023 年 3 月移除,此前不迟于 2020 年 9 月已被视为弃用。其功能已由 ‘efivarfs’ 文件系统取代。

/sys/fs 下的符号

/sys/fs/selinux/checkreqprot

在文件 sysfs-selinux-checkreqprot 中定义

移除更新:SELinux checkreqprot 功能已于 2023 年 3 月移除,原始弃用通知如下所示。

selinuxfs 的“checkreqprot”节点允许将 SELinux 配置为检查用户空间为 mmap/mprotect 调用请求的保护,而不是内核实际应用的保护。这是用于传统用户空间和 READ_IMPLIES_EXEC 个性化标志的兼容性机制。但是,如果设置为 1,它会削弱安全性,因为它允许在未经策略授权的情况下使映射可执行。从 Linux v4.4 开始,checkreqprot 的默认启动值已更改为 0(即检查实际保护),并且 Android 和 Linux 发行版在初始化期间已明确将“0”写入 /sys/fs/selinux/checkreqprot 一段时间。对将 checkreqprot 设置为 1 的支持最快将于 2021 年 6 月移除,届时内核将始终停止在内部使用 checkreqprot,并将始终检查 mmap/mprotect 调用时实际应用的保护。checkreqprot selinuxfs 节点将保留以实现向后兼容性,但在移除此机制时,将丢弃写入“0”值的操作,并拒绝写入“1”值的操作。

/sys/fs/selinux/disable

在文件 sysfs-selinux-disable 中定义

移除更新:SELinux 运行时禁用功能已于 2023 年 3 月移除,原始弃用通知如下所示。

selinuxfs 的“disable”节点允许在策略加载到内核之前在运行时禁用 SELinux。如果通过此机制禁用,SELinux 将保持禁用状态,直到系统重新启动。

禁用 SELinux 的首选方法是通过“selinux=0”引导参数,但创建 selinuxfs 的“disable”节点是为了方便那些无法轻松修改内核命令行参数的原始引导加载程序系统。不幸的是,允许在运行时禁用 SELinux 使得使用“__ro_after_init”功能保护内核的 LSM 钩子变得困难。

幸运的是,对 SELinux 运行时禁用的需求似乎已不复存在,默认的 Kconfig 配置禁用了此 selinuxfs 节点,并且只有主要发行版之一的 Fedora 支持在运行时禁用 SELinux。Fedora 正在移除 selinuxfs 的“disable”节点,一旦完成,我们将开始缓慢地从内核中移除此代码。

有关 /sys/fs/selinux/disable 的更多信息,请参见 CONFIG_SECURITY_SELINUX_DISABLE Kconfig 选项。

/sys/kernel 下的符号

/sys/kernel/fadump_release_opalcore

在文件 sysfs-kernel-fadump_release_opalcore 中定义

只写 此 sysfs 文件在系统启动以在基于 OPAL 的机器上收集转储时可用。它曾用于释放用于收集 opalcore 的内存。

/sys/kernel/uids/<uid>/cpu_shares

在文件 sysfs-kernel-uids 中定义

/sys/kernel/uids/<uid>/cpu_shares 可调参数用于设置用户被允许的 CPU 带宽。这是一个比例值。这意味着如果有两个用户登录,并且每个用户拥有相同数量的份额,那么他们将获得相等的 CPU 带宽。另一个例子是,如果用户 A 的份额为 1024,用户 B 的份额为 2048,那么用户 B 将获得用户 A 两倍的 CPU 带宽。更多详情请参考 CFS 调度器

/sys/o2cb 下的符号

在文件 o2cb 中定义

这是一个符号链接:/sys/o2cb 指向 /sys/fs/o2cb。当新的 ocfs2-tools 版本(知道在 /sys/fs/o2cb 中查找)足够普及时,此符号链接将被移除。不要编写新软件在此处查找,而应尝试 /sys/fs/o2cb。

用户

ocfs2-tools。将提议的更改发送到 ocfs2-devel@lists.linux.dev 即可。

devfs

devfs

在文件 devfs 中定义

devfs 已多年未维护,存在无法修复的竞争条件,包含与 LSB 冲突的内核内部命名策略,并且可以使用 udev 替换。

文件 fs/devfs/、include/linux/devfs_fs*.h 以及内核树中各种 devfs 函数调用均已移除。

dv1394 下的符号

dv1394(又称 FireWire 的“OHCI-DV I/O 支持”)

在文件 dv1394 中定义

/dev/dv1394/* 是字符设备文件,每个 FireWire 控制器以及 NTSC 和 PAL 各有一个,可以从中通过 read() 接收 DV 数据或通过 write() 传输 DV 数据。一些 ioctl() 允许有限的控制。此专用接口已被 libraw1394 + libiec61883 取代,后者功能等效,支持 HDV,并且可以透明地在较新的 FireWire 内核驱动程序之上工作。

用户

ffmpeg/libavformat(如果配置为支持 DV1394)

ip_queue

ip_queue

在文件 ip_queue 中定义

ip_queue 已被 nfnetlink_queue 取代,后者为用户空间提供了更高级的队列机制。ip_queue 模块多年前就已宣布弃用。

raw1394 下的符号

raw1394(又称 FireWire 的“原始 IEEE1394 I/O 支持”)

在文件 raw1394 中定义

/dev/raw1394 是一个字符设备文件,允许对 FireWire 总线进行低级访问。其主要缺点是无法实现合理的设备安全策略,以及其抽象级别过低,要求用户空间客户端复制内核的 ieee1394 核心功能的很大一部分。

已由 /dev/fw* 取代,即 firewire-core 的 <linux/firewire-cdev.h> ABI。

用户

libraw1394(也适用于 firewire-cdev,对库 ABI 用户透明)

tcp_dma_copybreak sysctl

tcp_dma_copybreak sysctl

在文件 net_dma 中定义

以前是以字节为单位的套接字读取大小的下限,这些读取将卸载到 DMA 复制引擎。由于 CPU 在 DMA 传输过程中可能触及缓冲区的内存一致性问题而被移除。

video1394(又称 FireWire 的“OHCI-1394 视频支持”)

video1394(又称 FireWire 的“OHCI-1394 视频支持”)

在文件 video1394 中定义

/dev/video1394/* 是字符设备文件,每个 FireWire 控制器一个,用于等时 I/O。它是作为 raw1394 等时 I/O 功能的替代品而添加的,后者在第一代中存在性能问题。任何 video1394 用户都必须同时使用 raw1394 + libraw1394,因为 video1394 不提供用于设备发现和配置的异步 I/O。

已由 /dev/fw* 取代,即 firewire-core 的 <linux/firewire-cdev.h> ABI。

用户

libdc1394(也适用于 firewire-cdev,对库 ABI 用户透明)