Skip to content

ci(emulation): compile real ARM64 KVM and WHP backend branches - #633

Merged
gmh5225 merged 1 commit into
devfrom
codex/arm64-native-backend-build
Oct 7, 2026
Merged

gmh5225 merged 1 commit into
devfrom
codex/arm64-native-backend-build

Conversation

@gmh5225

@gmh5225 gmh5225 commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

CI observed original Windows ARM64 context and exclusive-access programs but did not compile the actual ARM64 KVM/WHP backend branches. Add native component builds on ubuntu-24.04-arm and windows-11-arm, with Unicorn disabled and the pinned LLVM/Capstone sources. Build the existing NeverDEmulationNative target; its local integrated dependency graph contains 258 steps, without building all LLVM targets.

Audit each declared backend source's enabled CMake profile, active native backend definition, unique compile recipe, exact object output, ARM64 ELF/COFF machine and source/object hashes. Accept ordinary COFF and valid big-object headers; reject x64 objects, executable images, wrong byte order, truncation, anonymous headers, missing recipes and fallback builds. Constants, diagnostics and source inventories are in NativeBackendBuild.def.

Preserve the actual backend objects and compile commands. The existing native host probe separately records setup availability, acquired-resource cleanup and explicit setup errors. These jobs establish compilation and setup evidence; they do not claim ARM64 guest execution. Synchronize testing guides and their matrix inventory in all 11 languages.

Validation: 90 configuration/audit regressions passed, including 10 new object/recipe checks; the 297-file documentation matrix, source provenance, workflow YAML/matrix validation, integrated component configuration and clang-format 22 checks passed. Native ARM64 CI is pending.

The follow-up compiler and evidence defects are fixed in #635 and #636; #638 also updates the optional Capstone test-tool fix. Complete KVM validation at 71e1c0dbf3ea1383babaf3e78d00a2e59fee0ffd passes all 5,322 required checks, with all 18,880 identities and 1,049 original child XML/process records reconciled. The later submodule change is confined to the optional test tool, with production sources unchanged. The native ARM64 CI at 71e1c0dbf3ea1383babaf3e78d00a2e59fee0ffd passes both native backend component builds (GCC on Linux ARM64 KVM; MSVC on Windows ARM64 WHP) and both Windows caller-context jobs. Offline auditing of the downloaded artifacts confirms all three KVM ARM64 ELF objects and both WHP ARM64 COFF objects, their source/object hashes, active backend definitions and compile recipes. Both native host probes complete with explicit availability evidence: the Linux runner has no /dev/kvm (ENOENT), and Windows reports HypervisorPresent=false. Native ARM64 guest execution remains unverified; successful compilation is not a VM execution result.

@gmh5225
gmh5225 merged commit 26a957a into dev Oct 7, 2026
1 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants