| /* ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| * start.S β SOVEREIGN ENTRY POINT | |
| * Zero runtime. No libc. No crt0. Pure metal. | |
| * Targets: ARM64 (primary) | x86_64 (secondary) | |
| * ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* ββ ARM64 ββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| #if defined(__aarch64__) | |
| _start | |
| .type _start, %function | |
| _start: | |
| /* Stack alignment: AArch64 ABI requires 16-byte alignment */ | |
| mov x29, sp | |
| bic sp, x29, #0xF | |
| /* Call Fortran entry: sov_apl_evolve_sequence | |
| * Caller sets up X0..X7 with H, rho, n, steps, dt, sk, pk, receipts | |
| * before jumping here (Lean FFI trampoline handles this) */ | |
| bl sov_apl_evolve_sequence | |
| /* Sovereign halt β we own the metal, no exit syscall */ | |
| hlt #0 | |
| .L_fault: | |
| /* Write fault code to known address, halt */ | |
| ldr x1, =0x0000DEAD0000 | |
| str x0, [x1] | |
| hlt #1 | |
| .size _start, . - _start | |
| /* ββ x86_64 βββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| #elif defined(__x86_64__) | |
| _start | |
| .type _start, @function | |
| _start: | |
| /* Stack alignment: System V AMD64 ABI requires 16-byte at call */ | |
| andq $-16, %rsp | |
| /* Call Fortran entry */ | |
| call sov_apl_evolve_sequence | |
| /* Sovereign halt */ | |
| hlt | |
| .L_fault: | |
| movq $0x0000DEAD0000, %rsi | |
| movq %rax, (%rsi) | |
| hlt | |
| .size _start, . - _start | |
| /* ββ NVIDIA PTX (stub β real entry via nvcc driver) βββββββββββββ */ | |
| #elif defined(__nvptx__) | |
| /* PTX does not use _start; kernel launched via cuLaunchKernel. | |
| * Entry point is sov_fused_uru declared in sov_pipeline.mlir. | |
| * This file intentionally empty for PTX target. */ | |
| #endif | |
| /* ββ .note.sov section: Blake3 hash + Ed25519 sig baked at build β | |
| * Populated by build_monster.sh after linking. | |
| * Format: [magic:8]["BIFROST\0"] [hash:32] [sig:64] | |
| * βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .note.sov, "a", %note | |
| 4 | |
| 8 /* namesz */ | |
| 96 /* descsz: 32 + 64 */ | |
| 1 /* type: NT_SOV_BIFROST */ | |
| "BIFROST\0" /* name */ | |
| .fill 96, 1, 0 /* desc: filled by build_monster.sh */ | |