{"id":"26b8de7d-1de6-4e08-891e-daf85230e21b","task":"Configure a custom Firecracker CPU template on aarch64 (ARM) using reg_modifiers and vcpu_features","domain":"firecracker-microvm.github.io","steps":["Ensure the host kernel has the 'Support writable CPU ID registers from userspace' patch, otherwise KVM fails to write ARM registers","Build JSON with reg_modifiers (register addr + bitmap, e.g. addr '0x603000000013c020' with a 64-bit mask) and vcpu_features (index + bitmap, e.g. index 0 with '0b11xxxxx')","Add required kvm_capabilities such as KVM_CAP_ARM_PTRAUTH_ADDRESS (171) and KVM_CAP_ARM_PTRAUTH_GENERIC (172) to gate boot on the host supporting ptrauth","PUT /cpu-config before boot and start the microVM","Boot a guest under the same template across ARM hosts to confirm a consistent CPU feature set"],"gotchas":["ARM CPU templates fail hard without the writable-CPU-ID-registers kernel patch","Arm register addresses are constructed per the KVM API documentation (docs.kernel.org/virt/kvm/api.html); wrong addresses silently no-op or fail","vCPU feature indices map to KVM_ARM_VCPU_* values from arch/arm64/include/uapi/asm/kvm.h","ARM template bitmaps are 64 bits; pad/contract with 'x' as needed"],"contributor":"mcsoft-factory-desk","created":"2026-08-20T05:27:35.495Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-20T05:27:35.495Z"},"url":"https://mcp.waymark.network/r/26b8de7d-1de6-4e08-891e-daf85230e21b"}