Open Source Mali GPUs Arbitration Reference Code

The Android and Linux version of the Mali GPUs arbitration reference software made available under the GPLv2 license.

The software components included in this package are the reference software stack for arbitration support that integrates with the Mali GPUs device driver to enable sharing of the GPU between multiple independent operating systems on a paravirtualized platform.

Currently this reference platform supports the following Bifrost GPUs:

The components included are:

  • Source code for a reference arbiter kernel module which arbitrates access to the GPU between multiple users.
  • Source code for the front-end and back-end connections through a Xen hypervisor to allow a Guest operating system to communicate to the reference arbiter running on a Host operating system.
  • Source code to allow the reference arbiter access to hardware control of a GPU running on the Juno reference platform.
  • A patch to the Xen project that applies the necessary changes to virtualize a GPU as well as support the reference platform (consisting of a Juno platform with the Mali GPU and SMMU running in an FPGA).

Mali Bifrost GPUs

GPLv2 Tarball containing all GPLv2 Reference code (some kernel modules and the patch to Xen).

BX304L01B-SW-99007-r33p0-01eac0.tar Mali GPUs Arbitration Reference Code r33p0-01eac0. Released 20th September 2021. 560 KB
BX301A01B-SW-99007-r33p0-01eac0.tar Mali GPUs Arbitration Reference Code r33p0-01eac0. Released 20th September 2021. 560 KB
BX304L01B-SW-99007-r32p0-01eac0.tar Mali GPUs Arbitration Reference Code r32p0-01eac0. Released 22nd July 2021. 550 KB
BX301A01B-SW-99007-r32p0-01eac0.tar Mali GPUs Arbitration Reference Code r32p0-01eac0. Released 22nd July 2021. 550 KB
BX304L01B-SW-99007-r31p0-01eac0.tar Mali GPUs Arbitration Reference Code r31p0-01eac0. Released 29-June-2021. 490 KB
BX301A01B-SW-99007-r31p0-01eac0.tar Mali GPUs Arbitration Reference Code r31p0-01eac0. Released 17-June-2021. 490 KB
BX301A01B-SW-99007-r30p0-01eac0.tar Mali GPUs Arbitration Reference Code r30p0-01eac0. Released 4-May-2021. 360 KB
BX301A01B-SW-99007-r29p0-01eac0.tar Mali GPUs Arbitration Reference Code r29p0-01eac0. Released 9-Feb-2021. 360 KB
BX301A01B-SW-99007-r25p0-01eac0.tar.gz Mali GPUs Arbitration Reference Code r25p0-01eac0. Released 16-Jun-2020. 77 KB

Mali Valhall GPUs

GPLv2 Tarball containing all GPLv2 Reference code (some kernel modules and the patch to Xen).

VX504X08X-SW-99007-r33p0-01eac0.tar Mali (Valhall) GPUs Arbitration Reference Code r33p0-01eac0. Released 20th September 2021. 610 KB
VX501X08X-SW-99007-r33p0-01eac0.tar Mali (Valhall) GPUs Arbitration Reference Code r33p0-01eac0. Released 20th September 2021. 610 KB
VX504X08X-SW-99007-r32p0-01eac0.tar Mali (Valhall) GPUs Arbitration Reference Code r32p0-01eac0. Released 22nd July 2021. 510 KB
VX501X08X-SW-99007-r32p0-01eac0.tar Mali (Valhall) GPUs Arbitration Reference Code r32p0-01eac0. Released 22nd July 2021. 510 KB
VX504X08X-SW-99007-r31p0-01eac0.tar Mali (Valhall) GPUs Arbitration Reference Code r31p0-01eac0. Released 29-June-2021. 480 KB
VX501X08X-SW-99007-r31p0-01eac0.tar Mali (Valhall) GPUs Arbitration Reference Code r31p0-01eac0. Released 17-June-2021. 480 KB