News for hackers. Stuff that matters.
Re:ARM64 CPUs speculatively execute instructions after ERET by mdriley on Wednesday December 18, 2019 @02:29PM (#21828366)
An actual speculation barrier (SB) instruction was added in later releases of ARMv8.0:

- https://cpu.fyi/d/047#G6.11222648

- https://cpu.fyi/d/047#E9.CHDHDDBE

along with the Consumption of Speculative Data Barrier (CSDB): https://cpu.fyi/d/047#G9.10257993

But, as noted elsewhere in this thread, the canonical choice in most systems is DSB/ISB. Just one or the other isn't sufficient because they synchronize different things.

The canonical barriers on other platforms are LFENCE (x86) and SYNC (PowerPC).

For more references, see:

- https://github.com/google/safeside/blob/5fb6f00f/demos/asm/m...

- https://github.com/google/safeside/blob/5fb6f00f/demos/asm/m...

- https://github.com/google/safeside/blob/5fb6f00f/demos/asm/m...

[disclosure: I work on the Safeside project and wrote cpu.fyi as a side project]

Re:ARM64 CPUs speculatively execute instructions after ERET by saagarjha on Wednesday December 18, 2019 @03:16PM (#21828943)
Unrelated question: are you using PDF.js to render those?
Re:ARM64 CPUs speculatively execute instructions after ERET by mdriley on Wednesday December 18, 2019 @03:19PM (#21828976)
I am. The goal was to create permalinks to specific sections of CPU reference PDFs.

https://github.com/mmdriley/cpu.fyi

Re:ARM64 CPUs speculatively execute instructions after ERET by saagarjha on Wednesday December 18, 2019 @03:29PM (#21829083)
And it does that quite well. Thanks for this!