target/ppc: Add ppc_store_lpcr() helper
commit5ad553154d1137fbee9ec92b991e52123fa9bcd8
authorDavid Gibson <david@gibson.dropbear.id.au>
Thu, 5 Apr 2018 06:43:59 +0000 (5 16:43 +1000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Fri, 4 May 2018 01:15:19 +0000 (4 11:15 +1000)
treecd74bf5ce41c3d2b0e4ca4061d60d0d23a697362
parent090052aa08dbc774e55bc71a3058f24c8959586d
target/ppc: Add ppc_store_lpcr() helper

There are some fields in the cpu state which need to be updated when the
LPCR register is changed, which is done by ppc_hash64_update_rmls() and
ppc_hash64_update_vrma().  Code which alters env->spr[SPR_LPCR] needs to
call them afterwards to make sure the state is up to date.

That's easy to get wrong.  The normal way of dealing with sitautions like
that is to use a helper which both updates the basic register value and the
derived state.

So, do that.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Greg Kurz <groug@kaod.org>
target/ppc/mmu-hash64.c
target/ppc/mmu-hash64.h
target/ppc/translate_init.c