Skip to the end of the article
Beyond One ISA · Part I of III

IBM Z is learning Arm.Should one CPU speak every language?

Every core of the future mainframe processor will execute Arm and z/Architecture. It is a feat of engineering, and it solves one of the four problems standing between a foreign binary and production.

4contracts
30years of attempts
33public patches
12days of head start

A badly written application running on an excellent server remains a badly written application with very reliable electricity.

That line matters because IBM has just announced one of the most unusual enterprise processors in years. According to the August 24 announcement, a future processor for IBM Z and LinuxONE is being designed so that every physical core can natively execute both Arm and IBM Z instruction streams concurrently.

In plain English: an instruction set architecture, or ISA, is the language and rulebook through which software gives orders to the processor. Arm and IBM's z/Architecture are different languages. IBM wants every core to understand both directly.

That is not the same as placing a small Arm processor beside the mainframe cores. Nor is it software emulation wearing a better suit. IBM presents both ISAs as first-class execution modes of the same core.

And yet the important question is not whether this can work. IBM's engineering record makes that the least surprising part of the story. The more revealing question is this:

If adding another ISA fixes compatibility, why stop at two? Why not x86, RISC-V, Power ISA—or every language software still speaks?

Pull on that thread long enough and the announcement stops being a processor story. It becomes a lesson about what hardware can solve, what remains the ecosystem's job, and why an application can stay unavailable even when the kernel, the compiler and the source code have been waiting for it for years.

Where all this comes from

Nothing below comes from a USB stick found in a car park or a dark-web forum with a badly cropped logo. It comes from public mailing lists, press releases and conference proceedings: material that is far more boring and far more citable. Every claim links to its source, and the pre-announcement evidence consists of messages signed with real names, dated, and carrying an open review thread.

The 90-second version


You do not need to design processors to follow this story. Six terms carry almost all of it.

ISA
What it means

The instruction vocabulary and the behaviour promised to software

Why it matters

Arm and z/Architecture are different ISAs

Binary
What it means

A program already compiled for a specific ISA and operating environment

Why it matters

An Arm binary does not turn itself into an x86, Power or Z binary

Native execution
What it means

The processor implements the ISA it exposes to software

Why it matters

It avoids instruction-by-instruction translation, but guarantees neither operating-system nor application support

Virtual machine
What it means

An isolated, simulated computer that the hypervisor presents to software

Why it matters

IBM expects Arm Linux environments to coexist with established Z workloads through virtualization

vCPU
What it means

A virtual processor that the host schedules for a VM

Why it matters

An Arm VM may have several vCPUs and is not permanently tied to one hardware thread

KVM and SAE
What it means

KVM is Linux's virtualization framework; SAE stands for Start Arm Execution

Why it matters

KVM manages the Arm guest; SAE is the hardware doorway into Arm execution

The short conclusion is simple. IBM is solving the instruction problem in silicon and much of the virtualization path in Linux. The finished platform still needs firmware, virtual devices, migration rules, security boundaries, benchmarks, distribution support and applications somebody is willing to publish and maintain.

That gap between can execute and can operate in production is what the rest of this article is about.

Short route: the history section supplies evidence, not prerequisites. A time-pressed reader can jump from "Give IBM engineering its due" to "Why put Arm in hardware now?", then continue through the open questions and the public kernel trail.

Coming in cold?

This article goes straight into the announcement. If the ground feels unfamiliar—what an ISA is, why getting a program to run on another architecture is so hard, what has been tried before—we put together a twelve-page notebook that explains it from scratch, with ten historical cases and sources for each. You don't need the article to follow it: half an hour and you're caught up.

Download "Running someone else's code" PDF · 12 pages

Give IBM engineering its due


Very few companies can combine a processor reported at over 5.7 GHz with huge caches, memory and I/O at scale, inline fault detection, secure key management, cryptography and AI acceleration. And then put it inside a machine expected to stay available under workloads that would make an ordinary server reconsider its career choices.

Then, a few layers above all that engineering, a deployment fails because an installation script says, in essence:

if architecture == amd64 or architecture == arm64:
    continue
else:
    exit("unsupported architecture")

Years of processor, firmware and operating-system work have just been defeated by a two-item array.

There is something magnificently IBM about answering "we need more binaries" by redesigning the mainframe processor. But that comic contrast also explains the limit of the approach. Hardware can make a binary executable. It cannot make a vendor compile, test, sign, document or support it.

What IBM has actually announced


IBM's statement describes an 11-core processor built on a 2 nm process, with every core intended to execute both Arm and IBM Z instructions. IBM expects Arm-native Linux to run alongside z/OS and Linux on IBM Z. AI inference acceleration and an on-chip data processing unit—DPU—form part of the design. IBM and Arm present access to Arm's software ecosystem as a central objective, not a side effect.

Coverage of IBM's Hot Chips presentation adds preliminary detail. The Arm target described there is little-endian AArch64 v9.3 with SVE and SVE2 vector extensions and support for 2,792 Arm instructions. The slides describe SMT-2—two hardware threads per physical core—available to both architectures, with mode changes on a nanosecond scale. They also show substantial reuse of the Z execution engine alongside Arm-specific decode, register state, page walking and vector units.

The slide galleries from the same session add the cache hierarchy: 36 MB of private L2 per core, a 432 MB virtual L3 and up to 3.5 GB of virtual L4—those virtual pools draw on more cache than the eleven cores hold between them. The AI, compression, cryptography, sorting and DPU facilities are shown as available to the Arm environment.

This is meant to be a platform, not an occasional compatibility mode. But it is conference evidence, not a product specification: IBM has announced a design direction and warns that its plans may change or be withdrawn. What the announcement establishes is what IBM intends to build—not the guest interfaces, the security policy, the migration contract, the performance, the supported operating systems or the ISV catalogue. "An accelerator is available to Arm" becomes useful only when a driver, a library, an error model and a support statement make it real.

30

years without a single compatibility layer persuading a vendor to sign a support contract.

Pattern 6 of 6

The five meanings of "it runs Arm"


IBM describes Arm execution as native, and the word is doing useful work: it means the processor implements the Arm architecture instead of asking an emulator to translate every Arm instruction into Z instructions.

It does not mean every Arm program will run unchanged. It does not promise the performance of a dedicated Arm server processor, support for every optional Arm extension or automatic access to every Z facility. And it certainly does not generate certifications from Red Hat, Canonical, SUSE or commercial ISVs.

Modern CPUs already turn visible architectural instructions into smaller internal operations. "Native" describes the contract exposed to software, not the absence of machinery behind the curtain. IBM's design appears to extend that principle across two public architectures: shared prediction, arithmetic and load/store machinery where possible; separate architectural state where the contracts diverge.

This matters because running foreign software is not one problem. It is five, and marketing language tends to compress them into a single word. The clearest way to tell them apart is to ask which layer of the stack each one acts on.

WHAT IT TAKES FOR THIS BINARY TO BECOME A REAL WORKLOAD 01 Instruction Can the CPU execute these opcodes? SOLVED by the silicon 02 ABI Do libraries, syscalls, signals and conventions line up? PARTIAL kernel and toolchain 03 Platform Does the OS boot, see the hardware, take interrupts? PARTIAL firmware and hypervisor 04 Delivery and support Does anyone build, sign, publish and support it? UNSOLVED a commercial agreement
Every multi-ISA processor solves the first one and advertises it. The fourth has never been solved by any technology in this article, in thirty years.

Native multi-ISA execution is the core IBM has announced. User-mode translation is Rosetta 2, Prism, FX!32 and PowerVM Lx86. Full-system emulation is QEMU. ABI compatibility is FreeBSD's Linuxulator. Multi-architecture packaging is an OCI image index or an Apple Universal binary. They are not variations on one idea: each stops at a different layer, and that boundary decides which applications work, how fast they run, and who gets the support ticket when they fail.

FreeBSD offers the cleanest explanation

FreeBSD runs many unmodified Linux binaries through an optional compatibility layer called the Linuxulator. The FreeBSD Handbook documents x86 and AArch64 support, and the linux(4) manual page describes a real implementation of the Linux ABI, not a CPU emulator.

The host processor still has to understand the binary's ISA. On an x86 machine, x86 hardware executes the instructions and FreeBSD handles the Linux-style system calls. On an Arm machine it does the same with Arm Linux binaries. Linuxulator is not secretly translating x86 into Arm.

Hence the first rule of this story:

Understanding the instructions is not the same as understanding the operating system.

Four contracts, not one

For a foreign application to become a credible production workload, four separate agreements have to line up. The confusion in this whole field consists of believing that settling the first one settles all four.

ApplicationLibrariesSyscallsKernel & driversISA / hardware Nativemulti-ISA Translationuser-mode Emulationfull-system ABI compatLinuxulator Packagingmulti-arch the chip speaks 2 translatesinstructions native,untouched translateseverything reimplementsthe ABI translates NOTHING picks a binary prebuilt,untouched Boundary firmware,drivers, support kernel and driversstay outside performance andcertification the chip must alreadyspeak the ISA the variant thatnobody built translates instructions reimplements the ABI selects a binary runs native, untouched
Each mechanism acts on a different layer and does a different job. Note the fourth column: ABI compatibility translates not a single instruction.

IBM's processor tackles the first contract. The v6 arm-on-s390 KVM series sketches much of the kernel-level route to an Arm VM. Linux, the firmware and the virtual-machine monitor still have to complete the platform. Distributions and ISVs still have to complete delivery and support.

A platform can be brilliant at the first contract and commercially disappointing at the fourth. The ecosystem problem begins where the processor manual ends.

We have tried to escape architecture before


IBM's design is unusual, but the dream behind it is old: preserve the software investment while the machine underneath changes.

Thirty years of attempts have left a pattern, and it is not the one most people expect.

A processor can speak two languages and still have no audience

In the 1990s, IBM reportedly developed a prototype known as the PowerPC 615, capable of executing x86 as well as 32-bit and 64-bit PowerPC. It is, almost exactly, the idea IBM has just announced for Z and Arm—thirty years earlier. The most detailed surviving account is a 1998 report in The Register, based on an anonymous IBM engineer; a 1995 BYTE sidebar also discussed the never-released device through anonymous sources.

The later account claimed that Minix and a development version of OS/2 demonstrated mixed execution, but that the project lacked a profitable path and could not secure the Windows support it needed. That is an insider's testimony, not established corporate history. What is documented is that Microsoft ended Windows NT development for PowerPC in 1997, citing declining demand.

The lesson does not depend on the disputed details. The silicon worked; the fourth contract was never signed. A decoder cannot negotiate an ecosystem agreement.

Translation works best when it knows where the bridge ends

DIGITAL ran into the same catalogue problem with Alpha, and answered it with the most elegant engineering in this entire history. FX!32 did not translate x86 code in one pass. The first time you ran an application it was emulated, while FX!32 recorded a profile of the paths the program actually took. Afterwards, in the background, it translated only the hot paths into native Alpha code and cached the result. Every launch was faster than the last.

DEC reported that translated applications on a 500 MHz Alpha could perform comparably with native x86 versions on a 200 MHz Pentium Pro. For 1997, that was extraordinary. Kernel code and drivers stayed outside the model, and results depended on the workload.

Alpha died anyway.

IBM later took a similar route with PowerVM Lx86, translating 32-bit x86 Linux applications on Power and caching the translated code. It solved the problem Part III of this series describes: the catalogue of software nobody compiles for Power. It worked for utilities, installers and modest applications, and broke on direct hardware access, kernel modules and SIMD-heavy code. IBM's own advice at the time is still the right advice: use translation for the long tail, rebuild natively where the platform demands it. Lx86 was eventually withdrawn.

Transitive, 2008

The technology behind Lx86 was QuickTransit, from a British company called Transitive: the same one Apple licensed for the first Rosetta, the one that translated PowerPC applications onto Intel Macs. The same software, running in opposite directions, for the two companies in this story. IBM bought Transitive in 2008.

Apple's Rosetta 2 is the finest binary translator anyone has shipped: good enough that most users never noticed it was running. Why did it work for Apple and for nobody else? Because Apple controls the chip, the operating system, the application format, the tools, the store and the calendar. It could say "in two years this ends, port your software," and everyone ported. Even so, it remains available through macOS 27, and in macOS 28 it narrows to selected older games. The best translator in history was designed with an expiry date.

Microsoft's Prism is technically accomplished and lacks the one thing that made Rosetta work: Microsoft cannot impose a deadline on thirty years of third-party Windows applications. And the old boundary is exactly where it always was: kernel drivers must be native Arm64.

The universal processor already exists, and it is software

IBM Research's DAISY project asked the most radical question in the field: what if the real processor were an internal VLIW engine, and every ISA—ESA/390, RS/6000, AS/400, Java—were dynamically translated onto it? Transmeta eventually shipped a version of that idea. Crusoe exposed a perfectly ordinary x86 while its Code Morphing Software translated it for a hidden VLIW core, and it failed twice over: performance was irregular because it depended on how much had already been translated, and Intel simply lowered the power consumption of its own chips.

Intel's IA-32 Execution Layer is the case that runs in the opposite direction, and almost nobody cites it. Itanium carried x86 compatibility in hardware, and it disappointed. Intel replaced it with a software translation layer that turned out to be faster than the dedicated silicon, and later removed the x86 hardware from the processor altogether. Putting compatibility in silicon does not automatically make it better. It makes it harder to fix.

QEMU never promised speed. It promised universality: whole machines or foreign user-space processes, privileged state and devices included, translated in blocks by the Tiny Code Generator. First released in 2003, it is still here, after every commercial product on this list has shut down.

Six patterns from thirty years

Six things recur across every case above.

  1. Translation dies when the incentive dies, not when the technique fails. FX!32 was excellent and Alpha died. Rosetta 2 is excellent and Apple has already announced its end. Lx86 worked and IBM withdrew it. In none of these cases was the cause of death "we could not make it work".
  2. Whoever controls the calendar wins. Apple could tell an entire ecosystem it had two years. That power, and not the quality of the translator, is what separates Rosetta from every other attempt on this list. Microsoft cannot say it to thirty years of Windows software. Neither can IBM say it to its ISVs.
  3. A bridge is not an address. Every case that worked was a transition with an announced end; the ones that tried to be permanent—Transmeta, Lx86—did not survive.
  4. The kernel is always the boundary. FX!32, Lx86, Prism: all three stop at drivers and kernel code. Thirty years, no exceptions.
  5. Hardware buys predictability and software buys flexibility, and the trade is not obvious in advance. Itanium put x86 in silicon and a software layer beat it.
  6. Delivery and support has never once been settled by any of them. In thirty years, no compatibility layer has persuaded a software vendor to sign a support contract. That is the contract that decides whether a platform is usable, and it is the only one on the list that hardware cannot touch.

The verdict is not "translation failed" or "hardware won":

Use native execution where performance, privilege and long support horizons justify it. Use translation as a bridge. Never confuse either mechanism with an ecosystem commitment.

42

percent: how far IBM Z revenue fell two quarters after rising 67%.

Same business, two quarters apart

Why put Arm in hardware now?


Dynamic translation brings warm-up time, code caches and a worst case that is hard to bound. Harmless for a desktop utility; much harder to defend for consolidated enterprise workloads with signed service-level agreements. A complete Arm Linux environment also needs privileged architecture—exception levels, page tables, interrupts, timers, atomics, TLB behaviour, virtualization state—and native implementation makes that full-machine contract more credible than a user-space layer. Then there is longevity: Rosetta was designed to disappear, while an enterprise workload architecture may need support for a decade or more.

Underneath all of it, IBM wants Arm workloads to coexist with established Z environments under the same management, reliability and security model. It cites an Arm ecosystem of more than 22 million developers: a figure that spans many markets and certainly does not mean 22 million future mainframe developers, but does show the scale of the software investment IBM wants to reach.

So Arm in hardware solves a large, expensive problem predictably. What it still does not do is boot an operating system, publish a container, expose an accelerator, interpret a licence or persuade a vendor to accept a production incident.

Arm's own SystemReady programme exists precisely because ISA compliance is not enough. The current programme has a SystemReady Band for ACPI-based systems and a SystemReady Devicetree Band for systems described through device tree. Arm also maintains SystemReady VE self-declarations for virtual environments.

Hot Chips coverage says IBM claimed SystemReady compliance. The useful follow-up is not a vague "is it compliant?" It is to ask IBM for the applicable band, the requirements version, the VE declaration and the test result. And even then, Arm warns that platform compliance does not mean an operating-system vendor supports that device.

Why Arm, rather than every ISA?


Imagine a processor implementing x86-64, AArch64, Power ISA, z/Architecture, RISC-V, SPARC, MIPS, Alpha and 68000. Plus one more architecture because somebody found an old ERP appliance behind a cupboard.

It sounds inclusive. It would also be a permanent silicon museum.

Every ISA brings far more than a decoder. It brings registers, exceptions, privilege behaviour, memory-ordering rules, atomics, vectors, debug state, performance counters and firmware interfaces. Each becomes another validation, security, licensing and long-term support obligation. And old architectures do not even stay conveniently still: x86 carries decades of extensions, AArch64 has evolving profiles and optional features, and RISC-V is extensible by design.

A processor that implemented everything would become QEMU in hardware: new silicon every few years and impossible to patch with a package update.

That is the engineering answer, and it is only half of it.

The other half is a balance sheet

The technical argument explains why a second ISA is affordable. It does not explain why now, or why this one. For that, look at where IBM actually earns its money.

IBM closed 2025 with $67.5 billion in revenue. Infrastructure—the segment that contains the mainframe hardware—accounted for $15.7 billion of it, about 23%. That understates the platform considerably, because the software that exists only because mainframes exist is not counted there. CICS, IMS, Db2 for z/OS and MQ are booked inside the Software segment, under Transaction Processing. IBM reports an 83.5% gross margin for Software as a whole and does not break the figure out by category, so applying it to Transaction Processing is an approximation, not a measurement. The order of magnitude survives the caveat: mainframe software alone appears to generate roughly three-quarters as much gross margin as the entire Infrastructure segment, on about half the revenue. Add IBM Financing, which finances the machines themselves, and the consulting work that lives off modernizing them, and the mainframe's weight in profit runs well ahead of its weight in revenue.

That business is also violently cyclical, because mainframes sell by generation. IBM Z revenue grew 51.7% across 2025 on the strength of the z17, launched that June, and 67% in the fourth quarter alone. Two quarters later it fell 42%. IBM's CFO attributed the drop to purchase timing rather than abandonment, and produced the number that supports him: the first five quarters of the z17 cycle run nearly 30% ahead of the z16, itself the strongest program in the company's history. Those are two different rulers—year-on-year change measures the quarter, program-to-program measures the cycle—and IBM is right that the second is the honest one for a business that sells by generation.

Meanwhile the installed base is healthy and growing inward—more capacity at the customers already there, not new customers. 85% of z16 customers maintained or expanded capacity; around 70% of mainframe customers are growing their MIPS. What none of those figures describes is the arrival of new kinds of workload. And that is exactly where the missing binary stops being an engineering nuisance and becomes a leak: a team needs an observability agent, discovers there is no s390x build, and deploys that piece somewhere else. Then the next one. In five years half the application lives elsewhere.

Read that way, Arm on the mainframe is not an offensive move to win new customers. It is defence: an attempt to remove the reason those pieces leave, by going to where the binaries already are instead of persuading thousands of vendors to compile for s390x.

Which also explains the choice of architecture, and it is worth being precise here, because the obvious candidate is not the one people name.

The in-house candidate

The technically easiest second architecture for IBM is not Arm. It is Power. IBM owns both ISAs, pays nobody a licence for either, and shares much of the design team and physical library between them.

IBM has not explained why it did not go that way, and the reasons—what they say about the mainframe business and the Power ecosystem—deserve an instalment of their own. They are Part III of this series. Here it is enough to note the fact: with the easier architecture in the house, IBM chose the one from outside.

Why not x86?

IBM has not said that it evaluated x86 and rejected it, so let's not invent that decision.

The public facts still explain why x86 is a different proposition. Its implementation rights have historically depended on specific corporate licences, patent cross-licences and commercial relationships. AMD's 2026 Form 10-K, for example, incorporates the AMD–Intel cross-licence by reference. That is evidence of a bilateral legal relationship, not of an open architecture-licensing model available to any implementer.

A useful, modern x86-64 environment would also inherit an enormous compatibility contract. IBM could implement a subset, but the software worth importing might be precisely the software that probes for missing features.

x86 applications could still arrive selectively through QEMU or another translator inside an Arm Linux VM. Windows on Arm already does something similar with Prism, although Microsoft has announced no Windows-on-Arm product for IBM Z. That might suit a utility. It would not be native x86 support.

Why not RISC-V?

RISC-V is the more interesting open-architecture question. RVA23 defines a stronger application baseline, and RISC-V International has ratified a server-platform specification covering firmware, UEFI, ACPI, interrupts, management and security. Which proves the same point again: even an open ISA needs a platform contract before ordinary server software can rely on it.

RISC-V may well become a compelling enterprise target. But IBM's stated objective is access to a catalogue that already exists, and in 2026 that catalogue is Arm's. Openness and breadth are different advantages, and only one of them delivers binaries this decade.

What IBM still needs to explain


The announcement deserves enthusiasm. It also deserves questions aimed at what remains genuinely unknown, rather than at what the public record has already answered.

Arm execution on a thread
Already public

IBM says Z and Arm run concurrently; coverage says a thread can use either ISA

Still worth asking

Can sibling threads on the same core run different ISAs under every supported policy, and how are they placed, isolated and billed?

The KVM path on s390
Already public

The public v6 kvm-arm64 series proposes VM/vCPU creation, memory handling and SAE entry

Still worth asking

What completes the firmware, virtual devices, migration, QEMU/libvirt and orchestration?

Arm CPU profile
Already public

Coverage describes AArch64 v9.3, SVE/SVE2 and feature discovery

Still worth asking

Which guest-visible profile stays stable across machines and generations?

Shared machinery
Already public

Prediction, arithmetic, load/store, caches and TLB structures are substantially reused

Still worth asking

How are security domains isolated, and how do mixed workloads get predictable service?

Coexistence with LPARs
Already public

Nothing public

Still worth asking

How do Arm guests sit alongside the PR/SM partitioning and the z/VM estate a customer already runs?

Drivers and firmware
Already public

Nothing public beyond the kernel series

Still worth asking

Who writes and maintains the Arm guest's device model, and for how long?

Production support
Already public

The stated target is Arm-native Linux

Still worth asking

Which distributions, versions, images, ISVs and accelerators are supported?

The last three are the ones history says will decide the outcome. Pattern 4 is why the drivers question matters; pattern 6 is why the support matrix matters more than any benchmark.

The KVM path explains the thread-level mechanism

The tempting question—"can separate SMT threads run different ISAs?"—is already answered in principle. A userspace virtual-machine monitor creates a VM and its vCPUs through the KVM API; KVM holds each vCPU's Arm state; Linux schedules the host thread driving that vCPU onto a logical CPU; and SAE enters the Arm guest context there. KVM does not weld a VM to one SMT thread: it provides vCPU contexts that Linux schedules independently.

What the series does not settle is policy. Will IBM always permit different ISAs on sibling threads of the same core, or recommend same-ISA pairing for certain security or performance profiles? How will affinity, entitlement, metering and capacity reporting work across LPARs? What happens to service levels when two unlike workloads share one core?

SAE is not a new idea. It is the mainframe's oldest one

For readers who know z/Architecture, the shape of SAE will look familiar. It is worth pausing on why.

Since the mid-1980s, the mainframe has entered guest execution through one instruction: SIE, Start Interpretive Execution. The host builds a control block called a state description, executes SIE pointing at it, and the processor runs guest instructions and interruptions directly until something arises that requires the host. Then it exits, and control returns. SIE was created to virtualize System/370 and 370-XA, extended through ESA/390, and still sits underneath PR/SM and z/VM. IBM published the architecture as Interpretive Execution (SA22-7095) and described it in the IBM Systems Journal.

SAE follows exactly that shape. It receives the address of a control block, enters accelerated Arm execution, and returns control to the s390 host on exit so that KVM and the virtual-machine monitor can handle the event.

IBM has not described SAE as a descendant of SIE, and the public series does not use that framing. But the resemblance is not decoration. It suggests IBM is not inventing a new doorway into guest execution: it is extending the most heavily exercised virtualization mechanism it owns to a second architecture. For a platform whose entire value proposition is that it does not surprise anyone, that is a better sign than a novel design would be.

Shared machinery is the efficiency, and the verification boundary

The Hot Chips material indicates substantial reuse of prediction, cache, TLB and execution units, though no final specification is public. The questions that follow are concrete: how predictor, cache, TLB and prefetcher state is tagged, flushed or partitioned when the ISA or the security domain changes; how counters, tracing and debug are mediated; and whether placing unlike ISAs on sibling threads changes the side-channel threat model. Most of the design's efficiency comes from that sharing, which is exactly why it needs an explicit answer.

The same goes for the accelerators. IBM says Arm workloads can reach the AI, compression, cryptography, sorting and DPU facilities; what matters is which of them ship, through what guest-visible interface, with which drivers and with what recovery guarantees. And the benchmark that counts is not whether IBM's Arm beats Graviton on a generic test: it is whether acceptable Arm performance creates system-level value that a separate Arm server cannot.

Then, a support matrix. Binary execution is a technical property; production support is a commercial agreement.

The public trail began before the announcement


Press releases describe intent. Development infrastructure eventually describes the machine.

OSINT—open-source intelligence—means drawing careful conclusions from public evidence. Here, the most useful evidence did not appear under the product's name. The first public arm-on-s390 KVM series arrived on April 2, the same day as IBM and Arm's collaboration announcement. Steffen Eiden of IBM posted it under a subject line no marketing department would have chosen—"KVM: s390: Introduce arm64 KVM"—and by August 12 it had reached v6 with 33 patches. Phoronix covered the first revision in April and the second that same month; LWN carried the series too. That is the independent corroboration a claim like this needs.

PUBLIC `arm-on-s390` KVM SERIES · 2026 v127 patchesApr 2 v228 patchesApr 28 v327 patchesMay 29 v427 patchesJul 6 v531 patchesJul 31 v633 patchesAug 12 IBM announces Aug 24 12 days between the last public patch and the product's name. Four and a half months of signed, reviewed engineering, in plain sight.
The trail was open from April. What did not yet exist was the name to search for.
v1
The public groundwork appearsApril 2 · 27 patches
v2
The design is revised through open reviewApril 28 · 28 patches
v3
Work continues before the processor terminology is publicMay 29 · 27 patches
v4
Code sharing and host integration are reworkedJuly 6 · 27 patches
v5
VM/vCPU, ioctl and memory work becomes explicitJuly 31 · 31 patches
v6
The latest public proposal before the August 24 announcementAugust 12 · 33 patches

This chronology proves that a named public development effort existed. It does not prove that the patches were merged, production-ready or identical to the eventual product. A patch series is a proposal under review, not a warranty.

What the 33 patches reveal

The v6 cover letter describes two KVM implementations coexisting on s390 and introduces a second module named kvm-arm64. The series covers Arm VM and vCPU creation and destruction, vCPU ioctls, guest-memory management, page-fault handling, selective reuse of existing Arm KVM code, Arm feature discovery and host/guest register-state handling. It also moves arm64 headers to architecture-independent paths and creates shared code under virt/kvm/arm64/: the kind of refactoring that only makes sense if a second consumer is coming.

At its centre is the SAE instruction, described above.

That is the plumbing needed to create, run and stop an Arm VM. The patches also expose unfinished work: some register handling and related functions are deferred to later series.

A targeted public search on August 27 found no arm-on-s390 series clearly attributable to IBM for QEMU, libvirt or EDK II. That negative result must stay narrow: it says the public kernel backend is visible while the full public userspace and firmware stack is not yet. It does not prove those layers do not exist privately.

The OSINT lesson is reusable

Searching only for "IBM dual-ISA processor" before August 24 would probably have missed the trail. The productive terms were arm-on-s390, KVM_ARM64, kvm-arm64, Start Arm Execution and SAE.

Engineers name a mechanism long before marketing names a product. Search patches for interfaces, configuration symbols, instructions, control structures, device identifiers and machine types. Then verify authorship, dates, revision history and review replies. Corroborate every finding across two independent sources. One unexplained string is a lead, not a roadmap; and finding nothing proves only that the search found nothing.

Watch three places from here: the KVM and linux-s390 archives for later revisions or merge activity, QEMU and libvirt for a machine type and a migration stream, and EDK II plus Arm SystemReady for firmware and compliance evidence.

A kernel ABI, plus a VMM device model, plus firmware, plus a published compliance result, begins to look like a platform. Until then, what exists is a construction site, not a product.

What this could change, and what it cannot


In the Power and AIX estates we work on, the call almost never starts with the processor. It starts with a deployment that has stopped, and the answer is almost always four layers above the silicon: a package that was never built, a container manifest with two entries in it, a security agent whose vendor supports two architectures and has no plans for a third. This is software's last mile: the whole road exists—kernel, compiler, source code—and the final stretch is missing, the binary somebody publishes and supports. That is the problem Arm on Z is aiming at, and it is worth marking off how much of it a processor can reach.

The software industry treats architecture support as a release-engineering afterthought. amd64 and arm64 appear automatically; s390x and ppc64le wait for someone to enable a build, fix a test or add an image manifest. IBM cannot personally port and certify every project, and by adding Arm it gains access to software vendors already build—which is pragmatic and, with the figures above in view, is also the only lever available on the platform's one real growth constraint.

What it does not do is settle the rest. The virtual platform, operating-system support, the security model, accelerator interfaces, lifecycle and commercial commitments still decide whether a customer can depend on the result, and thirty years of history say delivery and support do not settle themselves. Nor will any of it make a badly written application scalable, secure or resilient. It may make that application available next to valuable Z data without creating another infrastructure island, which is a serious achievement, and rather more modest than "the mainframe now runs the Arm ecosystem", which is how this week has told it.

The useful thing to do with an announcement like this is to write down where a real workload actually stops: at the instruction set, at the ABI, at the platform, or at the missing package and the support statement nobody is going to sign. Those specific failures—not the benchmarks—will say whether Arm on Z removes the reason workloads leave.

The question that asks itself


Power users know that last mile first-hand. The kernel supports the architecture. The compiler supports it. The application source is portable. The vendor simply never published the binary.

That is the fact, and it stops here: if a second ISA turns out to be a good idea on Z, the question of whether it would be one on Power asks itself. Asking it seriously—with the history and the numbers on the table—is the job of Part III.

12

days between the last public patch and the day the product got a name.

A trail open since April
Continues next week

Inside the announcement

SIE and its new sibling SAE, the 33 arm-on-s390 patches read in order, and what the public kernel trail lets us claim—and what it does not—about the product IBM intends to sell.

Read Part II
SIXE

What about your platform?

We work every day with Power, AIX, IBM i and Linux on IBM systems. If the last mile this article describes sounds familiar—the package that does not exist, the agent that does not support your architecture, the migration stuck four layers above the processor—tell us about it and we will take a look.

Official training and services for IBM systems · sixe.eu
SIXE