mirror of
https://github.com/luxfi/corona.git
synced 2026-09-24 00:25:54 +00:00
- proofs/easycrypt/: 13 EC files mirroring Pulsar layout, admit budget 0/0 statically pinned by scripts/checks/ec-admits.sh
- proofs/lean-easycrypt-bridge.md: 5-axiom Lean ↔ EC bridge (lagrange_inverse_eval, threshold_partial_response_identity, reconstruct_linear, shamir_correct, add_share_zeroR)
- jasmin/{lib,rlwe,threshold}/: round1/round2/combine .jazz with #ct annotations
- ct/dudect/: Verify + Combine harness (arm64 + x86_64 build tags)
- scripts/check-high-assurance.sh + scripts/checks/{ec-admits,ec-regressions,ec-refinement-scaffold,ec-compile,jasmin,extraction}.sh + check-lean-bridge.sh
- AXIOM-INVENTORY: residual axioms enumerated with closure pathways
- CRYPTOGRAPHER-SIGN-OFF: APPROVED WITH ROADMAP GATES; GATE-1+2+3a CLOSED; GATE-3b (dudect 10⁹ pinned CPU) + GATE-4 (external audit) + GATE-5 (Jasmin extraction filling out byte-walk) roadmap v0.8.0
Tier label: Tier A full closure scaffold landed; matches Pulsar v1.0.7 posture (admit 0/0 + Lean bridges + Jasmin + dudect harness wired). The submission-grade dudect run + external audit are v0.8.0 audit-track items.
51 lines
1.1 KiB
C
51 lines
1.1 KiB
C
/*
|
|
* Copyright (C) 2025-2026, Lux Industries Inc. All rights reserved.
|
|
* See the file LICENSE for licensing terms.
|
|
*
|
|
* dudect_compat.h -- minimal x86-intrinsic compatibility shim for
|
|
* AArch64 hosts.
|
|
*
|
|
* Mirrors ~/work/lux/pulsar/ct/dudect/dudect_compat.h byte-equal at
|
|
* the AArch64 path (the upstream dudect.h hardcodes x86 intrinsics for
|
|
* cycle counting; this shim supplies AArch64 equivalents).
|
|
*/
|
|
|
|
#ifndef DUDECT_COMPAT_H
|
|
#define DUDECT_COMPAT_H
|
|
|
|
#if defined(__aarch64__)
|
|
|
|
#include <stdint.h>
|
|
|
|
#define _EMMINTRIN_H_INCLUDED
|
|
#define __EMMINTRIN_H
|
|
#define _IMMINTRIN_H_INCLUDED
|
|
#define _X86INTRIN_H_INCLUDED
|
|
#define __X86INTRIN_H
|
|
|
|
static inline void _mm_mfence(void) {
|
|
__asm__ __volatile__("dsb sy" ::: "memory");
|
|
}
|
|
|
|
#if defined(__APPLE__)
|
|
|
|
#include <mach/mach_time.h>
|
|
|
|
static inline uint64_t __rdtsc(void) {
|
|
return mach_absolute_time();
|
|
}
|
|
|
|
#else /* Linux / *BSD on AArch64 */
|
|
|
|
static inline uint64_t __rdtsc(void) {
|
|
uint64_t v;
|
|
__asm__ __volatile__("isb; mrs %0, cntvct_el0" : "=r" (v));
|
|
return v;
|
|
}
|
|
|
|
#endif /* __APPLE__ */
|
|
|
|
#endif /* __aarch64__ */
|
|
|
|
#endif /* DUDECT_COMPAT_H */
|