Repository navigation
Conversation
ICH_VTR_EL2 on the J873g (Mac mini M6, T8152, macOS 27.2 stub) reads 0x90580007 at EL2 on all twelve CPUs, E (part 0x072) and P (0x073) cores alike: eight list registers and SEIS set, the value of T8142 and the other Apple cores in apple_broken_seis_cpus. Add the two T8152 parts so that KVM does not trust the locally generated SError the vGIC claims to support, as for those cores. With it the kernel reports "Known broken GICv3 SEIS implementation" and KVM guests with 4 and 12 vCPUs boot on the J873g. Signed-off-by: Thomas Glanzmann <thomas@glanzmann.de>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#1728 made KVM guests boot on the J813 (M5 MacBook Air, T8142) at EL2. This is the one piece the J873g (Mac mini M6, T8152) still needs on top of it.
With a padded Mach-O Stage 1 (CTXR execute window, as aura#77 describes), the J873g under the macOS 27.2 stub runs Linux at EL2 on all twelve CPUs, and
CONFIG_ARM64_CTXR_EXECMEMconfines its code to the window. I read the relevant ID registers there with a small module:apple_broken_seis_cpus.apple,t8152-aic3has no T8152-specific match here; it binds through the genericapple,t8122-aic3entry, so the vm_timer_fiq_readonly handling for T8142 doesn't apply. VM_TMR_FIQ_ENA_EL2 takes writes on T8152.Testing
Run on the J873g. The kernel is integration/aurora 673f618 with aurora-wip 210c8f6 merged in, because integration doesn't have #1197's J873g NVMe and 10GbE yet. It also has #1652 and this commit, with
CONFIG_KVM=yandCONFIG_ARM64_CTXR_EXECMEM=y. It was booted through aura's kboot, which places the kernel in the CTXR window.-accel kvm -cpu host -M virt,gic-version=3), Debian 13 arm64 nocloud with UEFI (AAVMF).CONFIG_KVM=y(LLVM 22). checkpatch--strictis clean.The same entry, together with #1728's MTE_frac fix, also runs on the M6's linux-aurora j873 desktop kernel (7.1, where the list is still
broken_seisin vgic-v3.c). There, guests reach a login prompt in 17 s with 4 vCPUs and with 12.Jens's #1724 adds the T6050 parts to the same list, so whichever lands second needs a trivial rebase.
cc @Acelogic @DjDeveloperr @RyanTheTide @LiamRay10