Index | Thread | Search

From:
Hans-Jörg Höxer <hshoexer@genua.de>
Subject:
psp(4): use wbinvd_on_all_cpus_acked()
To:
<tech@openbsd.org>
Date:
Mon, 4 Nov 2024 17:02:47 +0100

Download raw body.

Thread
Hi,

and now actually use wbinvd_on_all_cpus_acked().

Take care,
HJ.
----------------------------------------------------------------------
commit a825d52e5929f501ada8f8053f2ca2339b9c6d4c
Author: Hans-Joerg Hoexer <hshoexer@genua.de>
Date:   Mon Nov 4 16:11:36 2024 +0100

    psp(4): use wbinvd_on_all_cpus_acked

diff --git a/sys/dev/ic/psp.c b/sys/dev/ic/psp.c
index fe869cdea87..82b7f7f1abe 100644
--- a/sys/dev/ic/psp.c
+++ b/sys/dev/ic/psp.c
@@ -263,7 +263,7 @@ psp_init(struct psp_softc *sc, struct psp_init *uinit)
 	if (ret != 0)
 		return (EIO);
 
-	wbinvd_on_all_cpus();
+	wbinvd_on_all_cpus_acked();
 
 	sc->sc_flags |= PSPF_INITIALIZED;
 
@@ -342,7 +342,7 @@ psp_shutdown(struct psp_softc *sc)
 		return (EIO);
 
 	/* wbinvd right after SHUTDOWN */
-	wbinvd_on_all_cpus();
+	wbinvd_on_all_cpus_acked();
 
 	/* release TMR */
 	bus_dmamap_unload(sc->sc_dmat, sc->sc_tmr_map);
@@ -382,7 +382,7 @@ psp_df_flush(struct psp_softc *sc)
 {
 	int			 ret;
 
-	wbinvd_on_all_cpus();
+	wbinvd_on_all_cpus_acked();
 
 	ret = ccp_docmd(sc, PSP_CMD_DF_FLUSH, 0x0);
 
@@ -482,7 +482,7 @@ psp_launch_update_data(struct psp_softc *sc,
 	ludata->handle = ulud->handle;
 
 	/* Drain caches before we encrypt memory. */
-	wbinvd_on_all_cpus();
+	wbinvd_on_all_cpus_acked();
 
 	/*
 	 * Launch update one physical page at a time.  We could