|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [mini-os master] time: unbind VIRQ_TIMER across kexec
commit c91a493dba0ff9f2ef16375c08c37670724e1468
Author: Juergen Gross <jgross@xxxxxxxx>
AuthorDate: Wed Jul 9 16:42:06 2025 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Jul 9 16:42:06 2025 +0200
time: unbind VIRQ_TIMER across kexec
Deactivate the VIRQ_TIMER event when doing kexec() in order to be
able to set it up again in the new kernel.
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
Reviewed-by: Jason Andryuk <jason.andryuk@xxxxxxx>
---
arch/x86/time.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/x86/time.c b/arch/x86/time.c
index 52916e1..3a2a1d2 100644
--- a/arch/x86/time.c
+++ b/arch/x86/time.c
@@ -36,6 +36,7 @@
#include <mini-os/types.h>
#include <mini-os/hypervisor.h>
#include <mini-os/events.h>
+#include <mini-os/kexec.h>
#include <mini-os/time.h>
#include <mini-os/lib.h>
@@ -193,3 +194,16 @@ void fini_time(void)
HYPERVISOR_set_timer_op(0);
unbind_evtchn(port);
}
+
+#ifdef CONFIG_KEXEC
+static int unbind_virq_timer(bool undo)
+{
+ if ( undo )
+ init_time();
+ else
+ fini_time();
+
+ return 0;
+}
+kexec_call(unbind_virq_timer);
+#endif
--
generated by git-patchbot for /home/xen/git/mini-os.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |