公告

Gentoo群:87709706!欢迎您的加入

#1 2022-08-03 23:39:47

batsom
管理员
注册时间: 2022-08-03
帖子: 340

Bus options

Bus options (PCI etc.)
总线选项

PCI support
CONFIG_PCI
    PCI是最重要的内部总线,不但PCI与PCI Express设备依赖于它,
    而且USB/IDE/SATA/SCSI/火线(IEEE 1394)/PCMCIA/CardBus等各种内部和外部总线也都依赖于它.
    所以必须选"Y",除非你知道自己在干什么.

    Support mmconfig PCI config space access
      CONFIG_PCI_MMCONFIG
        允许通过mmconfig方式访问PCI config space,这种访问方式比传统的IO方式速度更快.
        建议开启.MMCONFIG的意思是"Memory-Mapped config",它是PCI Express引入的新总线枚举方式.
        背景知识:PCI设备都有一组叫做'Configuration Space'的寄存器,
        PCI-E设备在PCI的基础上又增加了一组叫做'Extended Configuration Space'的寄存器.
        这些寄存器都被映射到了内存中(Memory-Mapped),
        操作系统理应提供相应的API供设备驱动和诊断程序访问这些'Configuration Space'.
        但如果操作系统没有提供Memory-Mapped方式的API的话,
        这些驱动程序和诊断程序就必须自己根据操作系统的底层规则(IO方式)去访问,
        这显然就增加了开发难度.这个选项的目的就是提供Memory-Mapped方式的API.
       
    Read CNB20LE Host Bridge Windows
    CONFIG_PCI_CNB20LE_QUIRK
        CNB20LE芯片组PCI热插拔支持.除非你非常明确的知道你需要它,否则请关闭此项.
       
    PCI Express support
    CONFIG_PCIEPORTBUS
        PCI Express是PCI的升级版并在软件层与PCI兼容,其目标是统一电脑内部总线.
        基本上只要不是古董机,都早已支持PCI-E了.选"Y".
        PCI Express Hotplug driver
        CONFIG_HOTPLUG_PCI_PCIE
            如果你的主板和设备都支持PCI Express热插拔就可以选上.
        Root Port Advanced Error Reporting support
        CONFIG_PCIEAER
            PCI Express Root Port Advanced Error Reporting (AER) 驱动支持.
            这样,发送到 Root Port 的 Error reporting messages 就会由
            PCI Express AER 处理.建议开启.背景知识:PCI Express 定义了两种错误报告范例:(1)baseline,
            所有PCI-E组件都必须要支持,功能也比较基础.(2)AER(Advanced Error Reporting),功能比较高级,
            也更可靠,但并不要求所有组件都支持.

            PCI Express ECRC settings control
            CONFIG_PCIE_ECRC
                允许覆写firmware/bios设置的 PCI Express ECRC(端对端循环冗余校验).
                建议关闭,除非你确实知道为什么要开启.
            PCIe AER error injector support
            CONFIG_PCIEAER_INJECT
                允许 PCI-E AER 注入,仅用于测试目的.

        PCI Express ASPM control
        CONFIG_PCIEASPM
            PCI Express ASPM(Active State Power Management) 和 Clock Power Management 支持.
            这是PCI-E规范制定的一种电源管理方案,可以在设备空闲时采用节电模式.
            建议开启.ASPM可以在运行时通过 /sys/module/pcie_aspm/parameters/policy 进行开启或关闭.

            Debug PCI Express ASPM
            CONFIG_PCIEASPM_DEBUG
                仅供调试.
               
            Default ASPM policy
                默认的ASPM电源管理策略.下面的三个选项:"BIOS default"表示使用BIOS中的设置作为默认.
                "Powersave"表示在可能的情况下,默认使用"L0s"和"L1",以尽可能节约电力.
                "Performance"表示禁止使用"L0s"和"L1"(即使BIOS开启也同样禁止),以保证最高性能.
        PCIe Downstream Port Containment support
            PCIe下游端口遏制支持
        PCIe Precision Time Measurement support
            PCIe精确时间测量支持

Message Signaled Interrupts (MSI and MSI-X)
CONFIG_PCI_MSI
    PCI/PCI-E支持三类中断:(1)INTx使用传统的IRQ中断,可以与现行的驱动程序和操作系统兼容.
    (2)MSI是PCI2.2规范中新增的,通过写入特殊的内存地址来触发和发送中断,
    该种方式脱离了中断引脚带来的数目限制,并且延迟小/效率高.
    不过MSI方式将中断全部落在单个CPU上,对多核CPU利用不佳.(3)MSI-X是在PCI3.0规范中新增的,
    在MSI的基础上,支持更多的消息数量以及独立的消息地址,可以自动在多个CPU上分担中断,
    更适合多CPU系统.建议开启.开启后,也可以使用"pci=nomsi"内核引导参数关闭MSI特性.
   
PCI Debugging
CONFIG_PCI_DEBUG
    将PCI调试信息输出到系统日志里.如果你想诊断PCI设备的故障,可以开启,否则应该关闭.
   
Enable PCI resource re-allocation detection
CONFIG_PCI_REALLOC_ENABLE_AUTO
    让内核自动检测"是否需要重新分配PCI资源".即使此项已开启,你依然可以用"pci=realloc=[on|off]"来覆盖它.
    此项仅在已开启CONFIG_PCI_IOV的情况下才有意义.
    此时,如果BIOS没有为SR-IOV(Single-Root I/O Virtualization) BAR(基地址寄存器)分配资源,
    那么内核将会自动对PCI资源进行重新分配.建议与CONFIG_PCI_IOV同开关.
   
  PCI Stub driver
  CONFIG_PCI_STUB
      PCI Stub driver 的作用是将PCI设备跟目前绑定的驱动分离,
      暂时由其接管,最后再交给虚拟机自己去驱动这个PCI设备.
     
  Xen PCI Frontend
  CONFIG_XEN_PCIDEV_FRONTEND
      如果你使用XEN的半虚拟化技术,并且你的硬件支持IOMMU,那么可以开启此项,否则应该关闭.
     
  Interrupts on hypertransport devices
  CONFIG_HT_IRQ
      允许本地的HyperTransport设备使用中断.这个一般用于AMD平台,Intel平台不支持这个.
     
PCI IOV support
CONFIG_PCI_IOV
    PCI I/O Virtualization支持.这需要硬件支持IOMMU技术(AMD-Vi,Intel VT-d).
   
PCI PRI support
CONFIG_PCI_PRI
    PCI Page Request Interface 支持.它允许IOMMU之后的设备能够从页错误中恢复过来.
    这需要硬件支持IOMMU技术(AMD-Vi,Intel VT-d).
   
PCI PASID support
CONFIG_PCI_PASID
    PASID(Process Address Space Identifiers)可以被PCI设备用来同时访问多个IO地址空间.
    这需要硬件支持IOMMU技术(AMD-Vi,Intel VT-d).

Support for PCI Hotplug
   支持PCI Hotplug
DesignWare PCI Core Support
   DesignWare PCI核心支持
PCI host controller drivers
   PCI主控制器驱动程序
PCI Endpoint
   PCI端点
PCI switch controller drivers
   PCI开关控制器驱动器
   
PCI IO-APIC hotplug support
CONFIG_PCI_IOAPIC
    PCI IO-APIC 热插拔支持.
   
ISA-style bus support on modern systems
    现代系统上的ISA式总线支持
   
ISA-style DMA support
CONFIG_ISA_DMA_API
    ISA-style DMA控制器支持.目前基本只有LPC总线设备需要使用,最常见的是串口,并口,
    PS/2键盘,Super I/O芯片(可以使用Superiotool和sensors-detect工具检测).
    不确定的选"Y".[说明]这是一个历史遗留问题,对于ISA架构,DMA操作是由一个专用的"DMA控制器"
    (最常见的是Intel 8237)来执行的,但是到了PCI架构,
    由于每一个PCI设备都可以控制PCI总线(成为"bus master")并直接读写系统内存,所以"DMA控制器"又消失了.
    此选项只是为那些需要"ISA-DMA控制器"的设备提供了兼容性接口(API)而已.
   
PCCard (PCMCIA/CardBus) support
CONFIG_PCCARD
    PCCard(PCMCIA/CardBus/ExpressCard)接口通常出现在笔记本电脑上,
    这些接口卡通常大小与信用卡差不多,厚度大约3-5毫米.
    注意:必须要配合pcmciautils工具才能正常使用PCMCIA设备.
    16-bit PCMCIA support
    CONFIG_PCMCIA
        老旧的 16-bit PCMCIA 卡支持
        Load CIS updates from userspace
        CONFIG_PCMCIA_LOAD_CIS
            有些PCMCIA卡需要从用户空间更新CIS(Card Information Structure)之后才能正常工作.
            开启此项后,内核将可以使用内置的固件加载器和热插拔子系统自动加载CIS,而不再需要用户空间工具的辅助.
            建议选"Yes".
    32-bit CardBus support
    CONFIG_CARDBUS
        常见的PCMCIA卡基本上都是32位的CardBus与ExpressCard设备.如果你有这样的卡,就选"Yes".
        由于绝大多数的卡都是"yenta-compatible"的,所以一般你还需要选中CONFIG_YENTA项.
    CardBus yenta-compatible bridge support
    CONFIG_YENTA
        使用PCMCIA卡的基本上都需要选择这一项,子项是一些拥有自己特定扩展的硬件,请按实际情况选择.
    {省略的部分请按照自己实际使用的PCMCIA卡选择}
    Special initialization for O2Micro bridges
        O2Micro网桥的特殊初始化
    Special initialization for Ricoh bridges
        理光桥的特殊初始化
    Special initialization for TI and EnE bridges
        TI和EnE网桥的特殊初始化
       Auto-tune EnE bridges for CB cards
           自动调整CB卡的EnE网桥
    Special initialization for Toshiba ToPIC bridges
        Toshiba ToPIC网桥的特殊初始化
  Cirrus PD6729 compatible bridge support
    Cirrus PD6729兼容桥接支持
    i82092 compatible bridge support
       i82092兼容网桥支持

Support for PCI Hotplug
CONFIG_HOTPLUG_PCI
    PCI热插拔不仅仅针对PCI和PCI-E设备,也包括CardBus与ExpressCard设备.请按需选择.
{省略的部分请按照自己实际使用PCI控制器进行选择}

RapidIO support
CONFIG_RAPIDIO
    RapidIO总线支持.这种总线主要用于嵌入式系统.
    Discovery timeout duration (seconds)
    CONFIG_RAPIDIO_DISC_TIMEOUT
        等待主机完成枚举(也就是初始化)的超时秒数.
    Enable RapidIO Input/Output Ports
    CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS
        开启所有 RapidIO Input/Output 端口.
    DMA Engine support for RapidIO
    CONFIG_RAPIDIO_DMA_ENGINE
        使用DMA引擎(CONFIG_DMADEVICES)进行RapidIO数据传输
    RapidIO subsystem debug messages
    CONFIG_RAPIDIO_DEBUG
        将RapidIO调试信息输出到系统日志里.如果你想诊断RapidIO设备的故障,可以开启,否则应该关闭.
    {省略的部分请按照自己实际使用的控制器进行选择}
   
Mark VGA/VBE/EFI FB as generic system framebuffer
    将VGA / VBE / EFI FB标记为通用系统帧缓冲区

离线

页脚