Developers Call On Intel To Open-Source PSE Firmware As Their Newest Binary Headache
With Intel's Atom x6000E "Elkhart Lake" SoCs there is a new block called the Programmable Services Engine (PSE) that is an Arm Cortex-M7 companion core that handles various tasks. Unfortunately, with the PSE it means a new binary-only firmware module. With the Programmable Services Engine likely to come with future Intel platforms too, Coreboot developers and open-source enthusiasts are calling on Intel to now open-source this firmware to avoid having this extra binary blob and further complicating future open-source firmware efforts.
The Programmable Services Engine can be used for embedded controller (EC) functionality, sensor handling, network proxy, remote management, and other in-band and out-of-band device management tasks. Elkhart Lake is the first generation featuring the PSE.
It's been reported that the Programmable Services Engine runs Zephyr RTOS code while the firmware for enabling this block is unfortunately closed-sourced, just like Intel's Firmware Support Package (FSP) that has complicated Coreboot and related bring-up efforts over the years.
Last year at the Open-Source Firmware Conference, Intel presented on the PSE and its impact around system firmware:
While Intel has provided guidance and some open-source tooling to help with integration around the PSE and the rest of the system boot firmware, the PSE firmware itself is not open-source at this time. That closed-source PSE firmware is what is driving frustration over having yet another binary blob to deal with for "open-source" firmware projects like Coreboot and the likelihood the Programmable Services Engine will appear with more Intel platforms moving forward.
Thus developers have penned an open letter hoping to encourage Intel to open-source the PSE firmware. Such petitions seldom work, but we'll see if Intel makes any changes around the PSE firmware given the increasing interest by industry stakeholders in open-source firmware, especially in areas overlapping with IoT/edge where Elkhart Lake is targeting.
The Programmable Services Engine can be used for embedded controller (EC) functionality, sensor handling, network proxy, remote management, and other in-band and out-of-band device management tasks. Elkhart Lake is the first generation featuring the PSE.
It's been reported that the Programmable Services Engine runs Zephyr RTOS code while the firmware for enabling this block is unfortunately closed-sourced, just like Intel's Firmware Support Package (FSP) that has complicated Coreboot and related bring-up efforts over the years.
Last year at the Open-Source Firmware Conference, Intel presented on the PSE and its impact around system firmware:
While Intel has provided guidance and some open-source tooling to help with integration around the PSE and the rest of the system boot firmware, the PSE firmware itself is not open-source at this time. That closed-source PSE firmware is what is driving frustration over having yet another binary blob to deal with for "open-source" firmware projects like Coreboot and the likelihood the Programmable Services Engine will appear with more Intel platforms moving forward.
Thus developers have penned an open letter hoping to encourage Intel to open-source the PSE firmware. Such petitions seldom work, but we'll see if Intel makes any changes around the PSE firmware given the increasing interest by industry stakeholders in open-source firmware, especially in areas overlapping with IoT/edge where Elkhart Lake is targeting.
20 Comments