First flight of Kestrel, the FPGA OpenPOWER-based BMC, and introducing the Arctic Tern dev board
Kestrel, you will recall from our previous coverage, is a "soft BMC" that replaces the functionality of the onboard ASPEED BMC standard in all current shipping POWER9 hardware. Like the ASPEED BMC, Kestrel provides remote access and management, system IPL (via FSI), firmware (via LPC and SPI), and a 2D framebuffer (though Kestrel is planned to use HDMI, not VGA). However, while the ASPEED BMC runs its own full Linux distribution (OpenBMC), Kestrel runs Zephyr, a small open-source real time operating system, and can be built from the FPGA up with open tooling. Best of all, it's OpenPOWER just like the main system (instead of ARM), using a Microwatt core in little-endian mode as its CPU.
Here's the expanded block diagram of what it includes and provides:
What really impressed me about Kestrel was the potential for much faster BMC boot times — Raptor was promising within seconds (versus the minutes with the stock BMC firmware, though third-party projects like BangBMC aim to improve on it). If even that was all Kestrel could accomplish, it would be worth it.Well, the video has made me a believer. A few short seconds after power was applied, and in less time than it took the announcer to describe what was happening, the Kestrel-enhanced T2 was ready to boot. I'll take two, Tim.
As before, Kestrel is incarnated on a Lattice ECP5 Versa development board, which the demo unit in the video has mounted to a little tray in the base of the T2's E-ATX case. The ECP5's PCIe edge is not connected. Instead, power is being drawn off an unknown source, and the Flexible Support Interface signals are coming from the on-board debug connector which is not mentioned in the T2 manual. Here's a picture of the one in my running T2 at J3200 (next to the boot and BMC flash):
The "FSI Adaptor v1.0" daughterboard plugged into J3200 is new and doesn't appear on the Raptor Engineering Kestrel page (for that matter, the page still says it's "not yet tested" on the Talos II). The TPM headers at J10105 are connected for LPC, and while it's hard for me to see at the photographed angle, the COM2 port at J7701 also seems connected as well as another set of lines that most likely service I2C. These signals all route to a hat sitting on the ECP5 which is also new, though its label is just out of focus. (The Ableconn card visible in the background looks like NVMe and doesn't appear to be part of Kestrel.)For the demonstration the ASPEED BMC was completely disabled (but how wasn't said — perhaps the FSI connector is rigged to inhibit it, or maybe this method). The demo showed rapid power on into the Zephyr OS and IPL into Hostboot quickly afterwards. Once the On-Chip Controllers on the POWER9 become active, a separate thread in Zephyr continuously polls the CPU temperature sensors to set appropriate fan speeds, while maintaining the rest of the core functionality. Here's the Kestrel monitoring the system during IPL:
This demo didn't show remote access or management (though we have a screenshot) and it didn't show the framebuffer functionality. But the video does announce a dedicated soft-BMC development board called Arctic Tern which will be "plug and play for all Raptor Computing products" and available in Q1 2022. Likely this will be the hardware Kestrel will be based on, and while it's not clear if it will still be ECP5-based, presumably Arctic Tern will come from the factory preconfigured as Kestrels and you can reprogram them as you please for your own projects.OpenBMC got us started, but its slow startup and heavier build requirements retarded further functional progress, and it's just not well-suited to workstations. I'm blown away by how far Kestrel has come, I hope to see future Raptor hardware with these as a competitive advantage, and I'll be first in line to get one. Watch for a review here in the near future.
This comment has been removed by the author.
ReplyDeleteI'm excited to see this! I haven't ordered an RCS mainboard yet but I am slowly accumulating the parts, so hopefully by the time I've got everything else, the Blackbird will have Kestrel. Either way, I'm sure I'll be thrilled with it in comparison with my iMac G5 or my old HP prebuilt.
ReplyDeleteFYI, the adapter boards are available on oshpark (assembly required) here:
ReplyDeletehttps://oshpark.com/profiles/meklort
Source files are on github here:
https://github.com/meklort/kestrel-fsi-adapter
https://github.com/meklort/kestrel-versa-adapter
Note that I believe RCS has mirrored the board files to their git servers as well.
Very cool. If I'm reading https://github.com/meklort/kestrel-versa-adapter/blob/main/kestrel.sch correctly, it looks like it has LPC, FSI and front panel connections. Is the serial port in use at all or am I just interpreting the screen grab wrong?
DeleteNope, no serial port connection - just FSI, LPC and i2c. That said, Kestrel does send serial output to the usb ftdi chip right now, so you can get the boot output that way.
Delete