@nojb all Apple products uses almost the same architecture nowadays, ARM64(v8), ARM32 is not supported anymore, so this patch gets all iPhone’s since the iPhone 5s. There is also ARMv8.3 called arm64e, which is a must for some low level things(like drivers? and system plugins?).
Besides of that is the same kernel. In a different mode, if you look at the XNU source you’re going to see a lot of flags checking to see if it is a SECURE_KERNEL(like iOS) or not(like a mac)
#If SECURE_KERNEL
As pointed by @avsm the main problem is getting the CI to work, I will get my hands on one somehow, maybe not literally but an SSH. But ideally INRIA would have it running
Weird ways to test it
Another alternative is an iPhone X tethered, as it supports jailbreak in every version(it’s a ROM level bypass), about $450 US dollars used. But I’m almost sure that there is some under NDA Apple thing for compilers and tools like that(like an iPhone prototype with JTAG enabled) and tools to hook that properly. So if anyone knows someone who knows someone, that would solve the problem.
Another alternative, I have iOS 12 running on xnu-qemu-arm64, on Linux I made some patches to support async networking, and I’m also working on a KVM patch to that to run on the Raspberry PI. I “made” the patch at #9699 originally in the emulator. That is probably not legal, but really simple to maintain and it’s ready today, jailbreak is actually OK in most countries if you don’t break any DMCA.
I would like to have both macOS ARM and iOS ARM, especially because there is some code which is valid at only iOS, but this second one isn’t so simple to maintain.
COQ
Epecifically, there is one test failing which can imply that COQ is still not running, something related to unboxed primitives.