On 2018-08-02 2:40 PM, Jeff Law wrote:
It's been eons.   I think there's enough building blocks on the PA to
mount a spectre v1 attack.  They've got branch prediction with varying
degress of speculative execution, caches and user accessable cycle timers.
Yes.

There's varying degrees of out of order execution all the way back in
the PA7xxx processors (hit-under-miss) to full o-o-o execution in the
PA8xxx series (including the PA8900 that's in the rp3440).
However, as far as I know, loads and stores are always ordered.

I suspect that given enough time we could figure out why the test didn't
indicate spectre v1 vulnerability on your system and twiddle it, but
given it's a dead processor, I doubt it's worth the effort.
Spectre output looks like this:
dave@mx3210:~/meltdown$ ./spectre
Reading 40 bytes:
Reading at malicious_x = 0xffffef10... Unclear: 0xFE='?' score=999    (second best: 0xFC score=999) Reading at malicious_x = 0xffffef11... Unclear: 0xFC='?' score=999    (second best: 0xFB score=999) Reading at malicious_x = 0xffffef12... Unclear: 0xFE='?' score=999    (second best: 0xFC score=999)

I don't think there's a suitable barrier.  The sync instruction seems like overkill.

So, I'm going to install attached change after testing is complete.

Dave

--
John David Anglin  dave.ang...@bell.net

Index: config/pa/pa.c
===================================================================
--- config/pa/pa.c      (revision 263228)
+++ config/pa/pa.c      (working copy)
@@ -428,6 +428,9 @@
 #undef TARGET_STARTING_FRAME_OFFSET
 #define TARGET_STARTING_FRAME_OFFSET pa_starting_frame_offset
 
+#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
+#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
+
 struct gcc_target targetm = TARGET_INITIALIZER;
 
 /* Parse the -mfixed-range= option string.  */

Reply via email to