New Linux Patch Series Proposes Gating "Legacy PCI" Support
A patch series sent out by IBM would introduce a new "LEGACY_PCI" Kconfig option for gating legacy PCI device support, including PCI devices attached to PCI-to-PCIe bridges and PCIe devices using legacy I/O spaces.
Sent out over the holidays were a set of 32 patches proposing new LEGACY_PCI and HAS_IOPORT options for the Linux kernel. The justification for the patch series is IBM's s390 architecture not supporting legacy PCI devices nor PCI I/O spaces. The interesting aspect for non-s390 Linux users is on the LEGACY_PCI toggle to which it has already been successfully tested on x86_64 hardware and AArch64 (ARM64) too.
The patch series adds the LEGACY_PCI dependency to mainline Linux kernel drivers still depending on legacy PCI and can make for users to easily disable the legacy PCI support if so desired. The patch explains, "Introduce a new LEGACY_PCI Kconfig option which gates support for legacy PCI devices including those attached to a PCI-to-PCI Express bridge and PCI Express devices using legacy I/O spaces. Note that this is different from non PCI uses of I/O ports such as by ACPI. Add dependencies on LEGACY_PCI for all PCI drivers which only target legacy PCI devices and ifdef legacy PCI specific functions in ata handling."
For Linux enthusiasts only running modern hardware and as the Linux kernel continues growing in size over the years, more knobs for disabling older hardware support becomes all the more exciting for shorter kernel build times and smaller kernel images. For those into retro computing with old hardware, these Kconfig options are just about disabling the support and is not stripping out any functionality from the upstream kernel code-base at this time. The patch series is still out under a request for comments and some critiques have been raised so far, but for those interested in more details on this work by IBM can see the LKML series.
Sent out over the holidays were a set of 32 patches proposing new LEGACY_PCI and HAS_IOPORT options for the Linux kernel. The justification for the patch series is IBM's s390 architecture not supporting legacy PCI devices nor PCI I/O spaces. The interesting aspect for non-s390 Linux users is on the LEGACY_PCI toggle to which it has already been successfully tested on x86_64 hardware and AArch64 (ARM64) too.
The patch series adds the LEGACY_PCI dependency to mainline Linux kernel drivers still depending on legacy PCI and can make for users to easily disable the legacy PCI support if so desired. The patch explains, "Introduce a new LEGACY_PCI Kconfig option which gates support for legacy PCI devices including those attached to a PCI-to-PCI Express bridge and PCI Express devices using legacy I/O spaces. Note that this is different from non PCI uses of I/O ports such as by ACPI. Add dependencies on LEGACY_PCI for all PCI drivers which only target legacy PCI devices and ifdef legacy PCI specific functions in ata handling."
For Linux enthusiasts only running modern hardware and as the Linux kernel continues growing in size over the years, more knobs for disabling older hardware support becomes all the more exciting for shorter kernel build times and smaller kernel images. For those into retro computing with old hardware, these Kconfig options are just about disabling the support and is not stripping out any functionality from the upstream kernel code-base at this time. The patch series is still out under a request for comments and some critiques have been raised so far, but for those interested in more details on this work by IBM can see the LKML series.
11 Comments