diff options
author | Cédric Le Goater <clg@kaod.org> | 2018-06-06 09:33:53 +0200 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2018-06-12 10:44:36 +1000 |
commit | c8fd8373e42821984400382cd91b8bf4e7c14e3b (patch) | |
tree | 429581c1c7425f21eb676092f9348b971513471a /gdbstub.c | |
parent | 3431bdf5a3c3bd732f78b0433471c2b1cb373564 (diff) |
target/ppc: extend eieio for POWER9
POWER9 introduced a new variant of the eieio instruction using bit 6
as a hint to tell the CPU it is a store-forwarding barrier.
The usage of this eieio extension was recently added in Linux 4.17
which activated the "support for a store forwarding barrier at kernel
entry/exit".
Unfortunately, it is not possible to insert this new eieio instruction
without considerable change in ppc_tr_translate_insn(). So instead we
loosen the QEMU eieio instruction mask and modify the gen_eieio()
helper to test for bit6. On non-POWER9 CPUs, the bit6 is just ignored
but a warning is emitted as this is not an instruction software should
be using.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'gdbstub.c')
0 files changed, 0 insertions, 0 deletions