SysadminNews

Linux 7.3 Stops AMD ATL Loading on Non ECC Machines

On this page
  1. The AMD change is small, universal and overdue
  2. Intel brings a hardened Panther Lake derivative into mainline
  3. Two drivers lose their maintainers
  4. Sources and further reading

The Linux 7.3 merge window closed on Sunday, August 30, 2026 with the 7.3-rc1 release, and the Error Detection And Correction subsystem was simply forgotten. Maintainer Borislav Petkov sent the pull on Monday evening instead, describing it himself as somewhat belated, and Linus Torvalds took it anyway. The most useful change for anyone running AMD hardware without ECC memory: the AMD Address Translation Library stops loading on your machine and stops filling your kernel log with failures. Alongside it, Intel adds support for a Panther Lake derivative built for extreme environments, and two ageing EDAC drivers lose their maintainers.

The short answer

The Error Detection And Correction pull request was forgotten during the two week Linux 7.3 merge window, sent on the Monday evening after 7.3-rc1 as edac_updates_for_v7.3_rc2, and merged by Linus Torvalds anyway. The AMD Address Translation Library now loads only on systems that can make use of it, meaning those with ECC memory, ending the kernel log noise it produced on every other Zen machine. Intel adds Starfire support to the iGEN6 EDAC driver, Starfire being a Panther Lake derivative for extreme environments, and the iGEN6 and iE31200 client drivers unify their address translation logic and detect memory controller counts at boot instead of relying on hardcoded numbers. The ThunderX and MPC85XX drivers are orphaned for lack of hardware access, and the unused fake error injection interface is removed from the EDAC debugfs code.

ECC onlywhere AMD ATL now loads, instead of every Zen system
2EDAC drivers orphaned, ThunderX and MPC85XX
rc2the tag the forgotten merge window pull landed under
Answer card: the Linux 7.3 EDAC pull request was forgotten during the merge window and merged late as edac_updates_for_v7.3_rc2, stopping AMD ATL from loading on non ECC Zen systems, adding Intel Starfire support and orphaning the ThunderX and MPC85XX drivers.
A pull request that missed its window, carrying one change that quiets a log on millions of desktops. PNG

Merge windows are two weeks long and mostly self enforcing: maintainers know the date, they send their pull requests, Linus Torvalds works through them. The Error Detection And Correction subsystem missed this one for the least dramatic reason available, which is that nobody sent the pull request. The changes were ready. The 7.3 merge window closed on Sunday, August 30 with the 7.3-rc1 release, the pull went out on Monday evening under the tag edac_updates_for_v7.3_rc2, and Torvalds merged it rather than making the subsystem sit out a full cycle over an administrative slip. Maintainer Borislav Petkov opened the request by calling the lineup somewhat belated, and forgotten, with a shrug emoticon attached.

The AMD change is small, universal and overdue

The AMD Address Translation Library exists to turn a reported memory error address into something an operator can act on: a DIMM, a rank, a row. That is a useful translation on a server with ECC memory, and a meaningless one on hardware that never reports memory errors because it has no error correcting memory to report them from.

Until Linux 7.3, ATL loaded on every AMD Zen system regardless. On the large majority of Zen machines, which are desktops and laptops with ordinary non ECC memory, it would attempt to initialise, fail, and write about it. The result was a stream of load failures in the kernel log on hardware where the module had nothing to do. The commit is titled Only load ATL when needed, and the pull request describes the new behaviour as loading only on systems which can actually make use of it.

This is not a performance change and nobody will benchmark it. It is a signal to noise change, and those are worth more than they look. A kernel log full of predictable failures is a kernel log people stop reading, and the cost of that shows up later, on the day something real is buried in it.

Checklist of the late Linux 7.3 EDAC changes: AMD ATL restricted to systems with ECC memory, Intel Starfire support added to the iGEN6 driver, iGEN6 and iE31200 address translation logic unified with runtime memory controller detection, the fake error injection debugfs interface removed, the Altera driver selecting its interrupt layout from the ECC manager compatible string, and the ThunderX and MPC85XX drivers orphaned.
Everything in the late pull, in the order an operator is likely to care. PNG

Intel brings a hardened Panther Lake derivative into mainline

On the Intel side, the iGEN6 EDAC driver gains support for Starfire, described in the pull request as a new Intel processor platform derived from the Panther Lake SoCs. It is the part Intel is building for extremes, meaning silicon intended to keep working in space and in other environments where a normal chip does not last.

Memory error reporting is not an afterthought on that kind of part, it is close to the point. Radiation induced bit flips are the canonical hazard for hardware in orbit, and ECC plus a subsystem that surfaces what ECC caught is how you learn a device is degrading before it stops. Seeing the EDAC support arrive in mainline alongside the rest of the Panther Lake enablement work rather than in a vendor tree that ships later is the right order of events.

The same series, credited to Qiuxu Zhuo, unifies the address translation logic between the iGEN6 and iE31200 client drivers and makes them detect memory controller counts at boot rather than relying on hardcoded, platform specific numbers. That second half is the more interesting one: a hardcoded controller count is a bug waiting for the next platform, and every new SoC previously meant another table. Several decode fixes ride along with it, including a Raptor Lake-P logged error address and a channel selection hash.

Two smaller items are worth noting. The fake error injection interface is removed from the EDAC debugfs code, because a fake error and a real hardware error could race in the log, which is an unhelpful property in the one subsystem whose entire job is telling you the truth about memory. And the Altera driver now picks its interrupt layout from the ECC manager compatible string rather than from the architecture the kernel was built for, which is how device tree platforms are supposed to work.

Two drivers lose their maintainers

The pull marks the MPC85XX and ThunderX EDAC drivers as orphaned, with lack of access to hardware given as the reason. ThunderX covers the ARM server SoCs originally from Cavium and later Marvell. MPC85XX covers Freescale and later NXP MPC83xx and MPC85xx PowerPC memory controllers.

Orphaned is not removed, but it is usually the step before removal, and it fits a pattern that has run through the whole of 2026. Old drivers with no active users and no test hardware are being cleared out, and the volume of generated patches and generated bug reports currently landing on maintainers has sharpened the argument, because every obsolete driver is more surface somebody has to triage.

If you actually run ThunderX or an MPC85xx board in production, the practical advice is unglamorous and time limited: say so on the mailing list, and be willing to test. Orphaning happens because no one objected, and by the time removal is proposed the case has already been made.

Sources and further reading

Frequently asked questions

What is EDAC and why should I care about it?

EDAC stands for Error Detection And Correction. It is the kernel subsystem that surfaces memory errors reported by the hardware, which on a server with ECC memory means correctable errors you want to see long before they become uncorrectable ones. The subsystem is how a failing DIMM announces itself, and how you learn which slot it lives in rather than swapping four sticks and hoping. On a desktop without ECC it has very little useful work to do, which is precisely the reasoning behind the AMD change in this release.

What is the AMD ATL change and does it affect me?

The AMD Address Translation Library translates a reported error address back into a physical DIMM, rank and row, which is only meaningful on hardware that reports memory errors in the first place. Until now it loaded on every AMD Zen system, including the vast majority that have no ECC memory at all, where it failed to initialise and wrote noise into the kernel log for its trouble. The commit is titled Only load ATL when needed, and from Linux 7.3 it loads only on AMD systems that can actually make use of it. If you have ever scrolled past ATL load failures on a Ryzen desktop while looking for something real, they are gone.

What is Intel Starfire?

Starfire is a new Intel processor platform described in the pull request as a derivative of the Panther Lake SoCs, built for extremes, meaning environments such as space where ordinary silicon does not survive. Linux 7.3 adds support for it in the iGEN6 EDAC driver, which handles client side memory error reporting. Radiation induced bit flips are the canonical reason a part destined for orbit needs solid error detection, so a hardened SoC arriving with its EDAC support in mainline rather than in a vendor tree is the sensible order of events.

Which drivers were orphaned and does that mean they are gone?

Two, both for the same reason: lack of access to hardware. The ThunderX EDAC driver covers the former Cavium and later Marvell ThunderX ARM server SoCs. The MPC85XX driver covers Freescale and later NXP MPC83xx and MPC85xx PowerPC memory controllers. Orphaned means unmaintained rather than removed, but it is usually the step before removal. If you run either platform in production, this is the moment to speak up on the mailing list, because silence reads as confirmation that nobody is left.

Is it normal for a pull request to land after the merge window?

It happens, and this is a mundane version of it. The EDAC changes were ready, the pull request was simply not sent during the two weeks it should have been, and it went out on the Monday evening after 7.3-rc1 under the tag edac_updates_for_v7.3_rc2. Borislav Petkov opened it by calling the lineup somewhat belated and forgotten, and Torvalds merged it rather than making a small subsystem wait a full cycle over an administrative slip. That is a discretionary call on the merits, not a standing rule, and the safe assumption for any maintainer is still that a missed window means waiting for the next one.