summaryrefslogtreecommitdiffstats
path: root/include/hw/ppc/spapr.h
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt2019-04-11 10:00:01 +0200
committerDavid Gibson2019-04-26 03:37:57 +0200
commita2dd4e83e76ba9c0d432145059dd9e2b2a096e2b (patch)
tree97554cc89ba0383a59e949cde23cddfefb409027 /include/hw/ppc/spapr.h
parentppc/spapr: Use proper HPTE accessors for H_READ (diff)
downloadqemu-a2dd4e83e76ba9c0d432145059dd9e2b2a096e2b.tar.gz
qemu-a2dd4e83e76ba9c0d432145059dd9e2b2a096e2b.tar.xz
qemu-a2dd4e83e76ba9c0d432145059dd9e2b2a096e2b.zip
ppc/hash64: Rework R and C bit updates
With MT-TCG, we are now running translation in a racy way, thus we need to mimic hardware when it comes to updating the R and C bits, by doing byte stores. The current "store_hpte" abstraction is ill suited for this, we replace it with two separate callbacks for setting R and C. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20190411080004.8690-4-clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'include/hw/ppc/spapr.h')
-rw-r--r--include/hw/ppc/spapr.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
index 9331f5e0b9..7e32f309c2 100644
--- a/include/hw/ppc/spapr.h
+++ b/include/hw/ppc/spapr.h
@@ -784,6 +784,8 @@ void spapr_reallocate_hpt(SpaprMachineState *spapr, int shift,
Error **errp);
void spapr_clear_pending_events(SpaprMachineState *spapr);
int spapr_max_server_number(SpaprMachineState *spapr);
+void spapr_store_hpte(PowerPCCPU *cpu, hwaddr ptex,
+ uint64_t pte0, uint64_t pte1);
/* DRC callbacks. */
void spapr_core_release(DeviceState *dev);