By running an ARM32 program inside this runtime, it gains the ability to call `raw_trampoline`. This function copies its arguments and passes them to the `trampoline` function inside `libmedia-layer-trampoline.so`.
`raw_trampoline` supports returning before the host code has finished executing. This can be enabled by passing `true` to `allow_early_return`. However, this is only supported in certain circumstances, can cause race-conditions, and prevents the guest code from receiving the host's return value.
The runtime itself is licensed with [GPLv2](./LICENSE) to comply with QEMU's license. However, the `raw_trampoline` function and associated headers are licensed with the [Unlicense](lib/LICENSE) as they do not directly link to the runtime.