aboutsummaryrefslogtreecommitdiff
path: root/hw/chiptod.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/chiptod.c')
-rw-r--r--hw/chiptod.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/hw/chiptod.c b/hw/chiptod.c
index a160e5a..f6ef9a4 100644
--- a/hw/chiptod.c
+++ b/hw/chiptod.c
@@ -1505,8 +1505,9 @@ bool tfmr_clear_core_errors(uint64_t tfmr)
* 1 <= Successfully recovered from errors
* -1 <= No errors found. Errors are already been fixed.
*/
-int chiptod_recover_tb_errors(uint64_t tfmr, bool *out_resynced)
+int chiptod_recover_tb_errors(bool *out_resynced)
{
+ uint64_t tfmr;
int rc = -1;
*out_resynced = false;
@@ -1516,6 +1517,9 @@ int chiptod_recover_tb_errors(uint64_t tfmr, bool *out_resynced)
lock(&chiptod_lock);
+ /* Get fresh copy of TFMR */
+ tfmr = mfspr(SPR_TFMR);
+
/*
* Check for TB errors.
* On Sync check error, bit 44 of TFMR is set. Check for it and