git: cf8bf3edf8ee - stable/13 - powerpc/aim: Update timebase directly on resume instead of through platform
Brandon Bergren
bdragon at FreeBSD.org
Tue Apr 20 04:18:08 UTC 2021
The branch stable/13 has been updated by bdragon:
URL: https://cgit.FreeBSD.org/src/commit/?id=cf8bf3edf8ee41bcd21336e197a6195d4d455ea9
commit cf8bf3edf8ee41bcd21336e197a6195d4d455ea9
Author: Justin Hibbits <jhibbits at FreeBSD.org>
AuthorDate: 2021-03-31 16:54:27 +0000
Commit: Brandon Bergren <bdragon at FreeBSD.org>
CommitDate: 2021-04-20 04:13:56 +0000
powerpc/aim: Update timebase directly on resume instead of through platform
This only works on single-CPU G4 systems, and more work is needed for
dual-CPU systems. That said, platform sleep does not work, and this is
currently only used for PMU-based CPU speed change.
The elimination of the platform_smp_timebase_sync() call is so that the
timebase sync rendezvous can be enhanced to perform better
synchronization, which requires a full rendezvous. This would be
impossible to do on this single-threaded run.
(cherry picked from commit 921716186f121a2f6a27178cb302415f37412a79)
---
sys/powerpc/aim/aim_machdep.c | 3 ++-
sys/powerpc/aim/mp_cpudep.c | 3 ---
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/sys/powerpc/aim/aim_machdep.c b/sys/powerpc/aim/aim_machdep.c
index b09089069c28..784207e9a70d 100644
--- a/sys/powerpc/aim/aim_machdep.c
+++ b/sys/powerpc/aim/aim_machdep.c
@@ -768,7 +768,8 @@ mpc745x_sleep()
while (1)
mtmsr(msr);
}
- platform_smp_timebase_sync(timebase, 0);
+ /* XXX: The mttb() means this *only* works on single-CPU systems. */
+ mttb(timebase);
PCPU_SET(curthread, curthread);
PCPU_SET(curpcb, curthread->td_pcb);
pmap_activate(curthread);
diff --git a/sys/powerpc/aim/mp_cpudep.c b/sys/powerpc/aim/mp_cpudep.c
index b5931786f8f7..33aae520c4b2 100644
--- a/sys/powerpc/aim/mp_cpudep.c
+++ b/sys/powerpc/aim/mp_cpudep.c
@@ -311,9 +311,6 @@ cpudep_ap_setup()
vers = mfpvr() >> 16;
- /* The following is needed for restoring from sleep. */
- platform_smp_timebase_sync(0, 1);
-
switch(vers) {
case IBM970:
case IBM970FX:
More information about the dev-commits-src-branches
mailing list