Here is test #9 (#8 is the same as #4 from my previous tests. And not of much help since Disco-updates QEMU (v=1:3.1+dfsg-2ubuntu3.3) does not have cap-ibs=workaround):
So my interpretation of the results is that the Disco kernel is indeed to blame for cap-ibs=workaround not working with QEMU 1:3.1+dfsg-2ubuntu3.4 and a DD 2.3 machine.
Here is test #9 (#8 is the same as #4 from my previous tests. And not of much help since Disco-updates QEMU (v=1:3. 1+dfsg- 2ubuntu3. 3) does not have cap-ibs= workaround) :
*** 9- Bionic-proposed kernel + Disco-proposed QEMU 2ubuntu3. 4)
$ uname -r; qemu-system-ppc64 --version | head -n 1
4.15.0-60-generic
QEMU emulator version 3.1.0 (Debian 1:3.1+dfsg-
$ dmesg | grep count-cache
[ 0.000000] count-cache-flush: hardware assisted flush sequence enabled
$ qemu-system-ppc64 -machine pseries,? 2>&1 | grep "\|ibs\|ccf" fixed-ccd, fixed-na)) assist= bool (Count Cache Flush Assist via HW Instruction)
cap-ibs=string (Indirect Branch Speculation (broken, workaround, fixed-ibs,
cap-ccf-
- cap-ibs=broken
$ dmesg | grep count-cache
[ 0.000000] count-cache-flush: software flush disabled.
- cap-ibs=workaround
$ dmesg | grep count-cache
[ 0.000000] count-cache-flush: full software flush sequence enabled.
- cap-ibs=fixed-ccd
qemu-system-ppc64: Requested safe indirect branch capability level not supported by kvm, try cap-ibs=workaround
- cap-ibs=fixed-ibs
qemu-system-ppc64: Requested safe indirect branch capability level not supported by kvm, try cap-ibs=workaround
- cap-ccf-assist=off
$ dmesg | grep count-cache
[ 0.000000] count-cache-flush: software flush disabled.
- cap-ccf-assist=on
$ dmesg | grep count-cache
[ 0.000000] count-cache-flush: software flush disabled.
- cap-ibs= workaround, cap-ccf- assist= on
$ dmesg | grep count-cache
[ 0.000000] count-cache-flush: hardware assisted flush sequence enabled
- cap-ibs= workaround, cap-ccf- assist= off
$ dmesg | grep count-cache
[ 0.000000] count-cache-flush: full software flush sequence enabled.
So my interpretation of the results is that the Disco kernel is indeed to blame for cap-ibs=workaround not working with QEMU 1:3.1+dfsg- 2ubuntu3. 4 and a DD 2.3 machine.