Arm’s SystemReady program has revealed a number of the subtleties involved when trying to maintain software compatibility with operating systems without moving to the straightjacket of platforms like those used for the x86-based PC.
When Arm launched SystemReady last year, the aim was to build a set of hardware platforms that could offer out-of-the-box compatibility with popular Linux distributions and other operating systems. The company developed interface specifications for four classes of system, ranging from comparatively low-end devices able to run an embedded Linux up to server-grade multicore SoCs. The specifications were developed in a way that was designed to avoid the restrictions that the PC imposes on board-level integrators, who have to conform to driver setups built for a BIOS layer that sits between the physical and operating system layers.
At the company’s DevSummit last week (October 19th, 2021), Dong Wei, Arm fellow responsible for standards architecture, said: “We want to be able to land common operating systems on top of everybody’s hardware and firmware solutions so we can defragment the market. We don’t want to go to fixed solutions. We are trying to strike a balance: establish standards as a minimum requirement and be able to then support innovation on top.
“Initially, we started on the server side [with the ServerReady program], then supported the SystemReady SR band,” Wei added, referring to a specification for edge-server hardware. This was followed by the ES band for SoCs with the IR band created for embedded SoC devices. “We also created the LS band for Linux, which is mostly for hyperscalers.”
Since the creation of the main four bands, Arm has been investigating the possibility of setting up profiles for vertical markets such as automotive, which would be covered by extensions to the hardware baseline architecture (BSA) documentation and tests. The company is also working on extensions to the server-related versions that will incorporate support for the CXL interconnect.
Another focus, Wei said, is the ongoing modularization of the specifications and the conformance-test suites. Although a modular structure will help deal with differences between platforms, he added that across the range of SoCs on the market, a number are not going to be compliant to their most appropriate BSA, which means the use of waiver processes.
One of the biggest issues is around PCIe. The BSA relies on the Enhanced Configuration Access Mechanism (ECAM) to provide a hardware-independent way of managing PCIe devices. “We found many SoCs are not compliant with ECAM,” Wei noted. One way around that is to rely on support for SMC interfaces in the operating systems. Compatibility with SMC is far from universal but is found in the VMWare hypervisor as well as NetBSD, he said. “We would like to see other operating system support this as well.”
Another option is to implement operating system “quirks”, in which the SoC supplier is understood to have direct support for their hardware in implemented mainline Linux distributions and other operating systems. Quirks also look to be necessary for simpler IP cores, such as serial port controllers. Though Arm’s own generic UART is compatible a number of third-party serial ports have proven to not be compliant. Similarly, wakeup and watchdog timers have revealed a number of incompatibilities that do not fit readily into the SystemReady infrastructure.
Emulation for early tests
To help SoC design teams looking to obtain SystemReady compliance, Arm has been working with the EDA vendors on pre-silicon verification support. Typically, as the tests assume the ability to boot an operating system, this involves packages that interface to emulation or virtual-prototype hardware so that the normal compliance tests can run as though they are on the final SoC. By bringing the tests forward to pre-tapeout, Arm hopes not only to get more SoCs compliant with SystemReady but enable suppliers to be able to certify them before the parts return from the fab.
Wei said so far there are 19 devices certified to various SystemReady bands. With some 50 companies on the advisory committee, the IP supplier is expecting a lot more to arrive.