diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2020-09-03 20:02:03 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2020-09-03 20:02:03 +0000 |
commit | b456ece07ad4529acead24e126023468a96efab0 (patch) | |
tree | d086105b9ecd63e6ec948cf9db3c728df9a1f993 /sys/arch | |
parent | c900de3182d6d269438563b8a7643886737132a2 (diff) |
Sprinkle some more eieio(); seems to avoid triggering the KASSERT(new > old).
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/powerpc64/dev/xive.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/arch/powerpc64/dev/xive.c b/sys/arch/powerpc64/dev/xive.c index 0271b605f17..b6796f3addd 100644 --- a/sys/arch/powerpc64/dev/xive.c +++ b/sys/arch/powerpc64/dev/xive.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xive.c,v 1.11 2020/08/30 19:07:00 kettenis Exp $ */ +/* $OpenBSD: xive.c,v 1.12 2020/09/03 20:02:02 kettenis Exp $ */ /* * Copyright (c) 2020 Mark Kettenis <kettenis@openbsd.org> * @@ -232,6 +232,7 @@ xive_attach(struct device *parent, struct device *self, void *aux) /* Synchronize hardware state to software state. */ xive_write_1(sc, XIVE_TM_CPPR_HV, xive_prio(curcpu()->ci_cpl)); + eieio(); } int @@ -355,8 +356,10 @@ xive_setipl(int new) msr = intr_disable(); ci->ci_cpl = new; - if (newprio != oldprio) + if (newprio != oldprio) { xive_write_1(sc, XIVE_TM_CPPR_HV, newprio); + eieio(); + } intr_restore(msr); } @@ -431,7 +434,6 @@ xive_hvi(struct trapframe *frame) ci->ci_cpl = old; xive_write_1(sc, XIVE_TM_CPPR_HV, xive_prio(old)); - eieio(); } } |