What's Today

Hacker News Front Page · joelsiks ·

When ldaxr Doesn't Work: Exclusive Accesses and Cacheability on AArch64

Al implementar un bloqueo giratorio con `ldaxr` y `stxr` para un sistema operativo AArch64, el autor encontró que `ldaxr` provocaba un Data Abort en una Raspberry Pi 5, aunque el código funcionaba en QEMU. Las pruebas apuntan a que, en esa configuración del Cortex-A76, las operaciones exclusivas sobre memoria compartible requieren que la caché esté habilitada mediante `SCTLR.C` y que la región use atributos Write-Back; QEMU no modela este aspecto de la caché. El autor plantea que la dependencia podría estar relacionada con el uso de la lógica de coherencia de caché para implementar el monitor exclusivo global, aunque lo presenta como una explicación probable, no confirmada.

Why a load exclusive (ldaxr) raised a Data Abort on real Raspberry Pi 5 hardware but not in QEMU, and what cacheability has to do with AArch64 exclusive accesses.

Leer la nota completa en joelsiks.com →