Skip to content

neuschaefer/jzvm

Repository files navigation

jzvm - ARM Jazelle DBX experiments

Project links: repo (mirror), issues, CI: ARM, x86 badge

Introduction

ARM Jazelle DBX ("direct bytecode execution")1 is a ARM32 instruction set extension that allows running Java bytecode directly on certain CPUs. Jazelle mode is entered by executing a special branch instruction, BXJ.

Jazelle hardware support is rather widespread within a certain timeframe of manufacturing dates, since it was included in the ARM926EJ-S and ARM1176JZF-S CPUs at the heart of many devices.

Jazelle software support is rather rare, because it presumably relies on a proprietary JVM licensed by ARM, and the hardware isn't openly documented like the rest of the ARM architecture(s). This is where jzvm comes in: It is an attempt to create both an open source software implementation, and hardware documentation for Jazelle.

License

The source code in this repository is licensed under the LGPL 2.1

References

Footnotes

  1. The Jazelle brand has later been reused for an unrelated technology, Jazelle RCT. When I say Jazelle it will mean Jazelle DBX most of the time.

Releases

No releases published

Packages

No packages published