Comment 5 for bug 1822870

Revision history for this message
bugproxy (bugproxy) wrote : tarball of patches to fix dd 2.3 spectre issues

------- Comment on attachment From <email address hidden> 2019-04-10 06:26 EDT-------

This is the set of patches listed above plus:
2b57ecd0208f KVM: PPC: Book3S: Add count cache flush parameters to kvmppc_get_cpu_char()

That one is needed for qemu. There aren't any earlier patches that are needed.

I tested this out:
mranweil@ltc-wspoon5:~$ dmesg |grep count-cache-flush
[ 0.000000] count-cache-flush: hardware assisted flush sequence enabled
mranweil@ltc-wspoon5:~$ grep -H . /sys/devices/system/cpu/vulnerabilities/spectre_v2
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Software count cache flush (hardware acceleratd)
mranweil@ltc-wspoon5:~$

6:mon> di $_switch 20
c00000000000db00 7c0802a6 mflr r0
c00000000000db04 f8010010 std r0,16(r1)
c00000000000db08 f821fe31 stdu r1,-464(r1)
c00000000000db0c f9c100e0 std r14,224(r1)
c00000000000db10 f9e100e8 std r15,232(r1)
c00000000000db14 fa0100f0 std r16,240(r1)
c00000000000db18 fa2100f8 std r17,248(r1)
c00000000000db1c fa410100 std r18,256(r1)
c00000000000db20 fa610108 std r19,264(r1)
c00000000000db24 fa810110 std r20,272(r1)
c00000000000db28 faa10118 std r21,280(r1)
c00000000000db2c fac10120 std r22,288(r1)
c00000000000db30 fae10128 std r23,296(r1)
c00000000000db34 fb010130 std r24,304(r1)
c00000000000db38 fb210138 std r25,312(r1)
c00000000000db3c fb410140 std r26,320(r1)
c00000000000db40 fb610148 std r27,328(r1)
c00000000000db44 fb810150 std r28,336(r1)
c00000000000db48 fba10158 std r29,344(r1)
c00000000000db4c fbc10160 std r30,352(r1)
c00000000000db50 fbe10168 std r31,360(r1)
c00000000000db54 f8010170 std r0,368(r1)
c00000000000db58 7ee00026 mfcr r23
c00000000000db5c fae101a0 std r23,416(r1)
c00000000000db60 f8230000 std r1,0(r3)
c00000000000db64 4bffdb1d bl c00000000000b680 # flush_count_cache+0x0/0x2480
c00000000000db68 3cc06000 lis r6,24576
c00000000000db6c 7d40322c dcbt 0,r6,10
c00000000000db70 38c4f4d0 addi r6,r4,-2864
c00000000000db74 f8cd0260 std r6,608(r13)
c00000000000db78 e9040000 ld r8,0(r4)
c00000000000db7c 48000064 b c00000000000dbe0 # _switch+0xe0/0x180
6:mon> di $flush_count_cache 4d
c00000000000b680 7d2802a6 mflr r9
c00000000000b684 48000005 bl c00000000000b688 # flush_count_cache+0x8/0x2480
 ...
c00000000000b784 4800001c b c00000000000b7a0 # flush_count_cache+0x120/0x2480
c00000000000b788 60000000 nop
 ...
c00000000000b7a0 7d2803a6 mtlr r9
c00000000000b7a4 39207fff li r9,32767
c00000000000b7a8 7d2903a6 mtctr r9
c00000000000b7ac 4c400420 bcctr- 2,lt
c00000000000b7b0 4e800020 blr
6:mon>