summaryrefslogtreecommitdiff
path: root/kernel/kexec_handover_debug.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2025-11-21 08:55:08 +1000
committerDave Airlie <airlied@redhat.com>2025-11-21 08:55:08 +1000
commitce0478b02ed29465c1de3d03c3eea721355f9d2d (patch)
tree79a94d382aa793b762cd974f97fdfa575f603639 /kernel/kexec_handover_debug.c
parentf0ded972d37150f9f889de75c9eecc5cb0730013 (diff)
parent6a23ae0a96a600d1d12557add110e0bb6e32730c (diff)
Merge tag 'v6.18-rc6' into drm-next
Linux 6.18-rc6 Backmerge in order to merge msm next Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'kernel/kexec_handover_debug.c')
-rw-r--r--kernel/kexec_handover_debug.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/kernel/kexec_handover_debug.c b/kernel/kexec_handover_debug.c
new file mode 100644
index 000000000000..6efb696f5426
--- /dev/null
+++ b/kernel/kexec_handover_debug.c
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * kexec_handover_debug.c - kexec handover optional debug functionality
+ * Copyright (C) 2025 Google LLC, Pasha Tatashin <pasha.tatashin@soleen.com>
+ */
+
+#define pr_fmt(fmt) "KHO: " fmt
+
+#include "kexec_handover_internal.h"
+
+bool kho_scratch_overlap(phys_addr_t phys, size_t size)
+{
+ phys_addr_t scratch_start, scratch_end;
+ unsigned int i;
+
+ for (i = 0; i < kho_scratch_cnt; i++) {
+ scratch_start = kho_scratch[i].addr;
+ scratch_end = kho_scratch[i].addr + kho_scratch[i].size;
+
+ if (phys < scratch_end && (phys + size) > scratch_start)
+ return true;
+ }
+
+ return false;
+}