I’ve been expecting to run KVM on RISC-V for a while now. The SpacemiT K3 board I got recently has the RISC-V H (hypervisor) extension, which means the hardware can actually run VMs properly, not just emulate everything in software. So let’s make it work.
When you press the power button on the SpacemiT K3 Pico-ITX, Ubuntu 26.04 appears on the serial console about 30 seconds later. Between those two events, five distinct software layers run in sequence, each one handing off to the next. Understanding what each layer does - and why it exists - matters the moment something goes wrong, or the moment you want to put a different OS on the board.
If you write in multiple languages on Windows, you’ve probably run into this frustrating scenario: you want the OS to autocorrect and spell-check a second language (like French). So, you go ahead and add it in the Settings. But Windows, being Windows, automatically attaches a new keyboard layout (like AZERTY) to it.
GHA is great! It’s free (20 runners for open repositories per org), it has a rich ecosystem of actions, the runners are managed by the team at GitHub (updates and security fixes), it integrates to GitHub (releases, pull requests, issues, etc.), and it supports multiple platforms: Linux, windows, and macOS on x86.
This is an installment in a series of posts that will highlight discoveries I am making as I add support for Windows-AArch64 and macOS-AArch64 to the OpenJDK.
This is an installment in a series of posts that will highlight discoveries I am making as I add support for Windows-AArch64 and macOS-AArch64 to the OpenJDK.
In response to recent developments around ARM64 (the Apple Silicon announcement for example), the Java Engineering Group here at Microsoft decided to join in the effort to port the OpenJDK to ARM64 on Windows and macOS. I wanted to share some of the more interesting aspects of the work I’m involved in a series of blog posts.