From 936150c05957ff6ab99047f70695417aff1cfb29 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Wed, 7 Feb 2018 20:12:45 -0800 Subject: Add commentary about LR/SC forward-progress guarantee --- src/a.tex | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/a.tex') diff --git a/src/a.tex b/src/a.tex index c0e466b..e4eb185 100644 --- a/src/a.tex +++ b/src/a.tex @@ -202,6 +202,11 @@ that can be spent in the sequence. Floating-point operations and integer multiply/divide were disallowed to simplify the operating system's emulation of these instructions on implementations lacking appropriate hardware support. + +Although software is not forbidden from using LR/SC sequences that do not meet +the forward-progress constraints, portable software must detect the case that +the sequence repeatedly fails, then fall back to an alternate code sequence +that does not run afoul of the forward-progress constraints. \end{commentary} An implementation can reserve an arbitrary subset of the memory space -- cgit v1.1