Message ID | 20201028030701.14086-1-j@getutm.app (mailing list archive) |
---|---|
Headers | show |
Series | iOS and Apple Silicon host support | expand |
On Tue, Oct 27, 2020 at 08:06:54PM -0700, Joelle van Dyne wrote: > Based-on: 20201026191540.12434-1-j@getutm.app > ([PATCH RESEND 0/4] Mirror map JIT memory for TCG) > > These set of changes brings QEMU TCG to iOS devices and future Apple Silicon > devices. They were originally developed last year and have been working in the > UTM app. Recently, we ported the changes to master, re-wrote a lot of the build > script changes for meson, and broke up the patches into more distinct units. > > A summary of the changes: > > * `CONFIG_IOS` defined when building for iOS and iOS specific changes (as well > as unsupported code) are gated behind it. > * A new dependency, libucontext is added since iOS does not have native ucontext > and broken support for sigaltstack. libucontext is available as a new option > for coroutine backend. > * On stock iOS devices, there is a workaround for running JIT code without > any special entitlement. It requires the JIT region to be mirror mapped with > one region RW and another one RX. To support this style of JIT, TCG is changed > to support writing to a different code_ptr. This change is submitted in a > different patch set and this one depends on it. > * For (recent) jailbroken iOS devices as well as upcoming Apple Silicon devices, > there are new rules for applications supporting JIT (with the proper > entitlement). These rules are implemented as well. These patches are in pretty good shape. I have posted comments, the main request is to add a ./MAINTAINERS file entry and to look into continuous integration support. Stefan