1*e38f65d3SPasha Tatashin // SPDX-License-Identifier: GPL-2.0-only 2*e38f65d3SPasha Tatashin /* 3*e38f65d3SPasha Tatashin * kexec_handover_debug.c - kexec handover optional debug functionality 4*e38f65d3SPasha Tatashin * Copyright (C) 2025 Google LLC, Pasha Tatashin <pasha.tatashin@soleen.com> 5*e38f65d3SPasha Tatashin */ 6*e38f65d3SPasha Tatashin 7*e38f65d3SPasha Tatashin #define pr_fmt(fmt) "KHO: " fmt 8*e38f65d3SPasha Tatashin 9*e38f65d3SPasha Tatashin #include "kexec_handover_internal.h" 10*e38f65d3SPasha Tatashin kho_scratch_overlap(phys_addr_t phys,size_t size)11*e38f65d3SPasha Tatashinbool kho_scratch_overlap(phys_addr_t phys, size_t size) 12*e38f65d3SPasha Tatashin { 13*e38f65d3SPasha Tatashin phys_addr_t scratch_start, scratch_end; 14*e38f65d3SPasha Tatashin unsigned int i; 15*e38f65d3SPasha Tatashin 16*e38f65d3SPasha Tatashin for (i = 0; i < kho_scratch_cnt; i++) { 17*e38f65d3SPasha Tatashin scratch_start = kho_scratch[i].addr; 18*e38f65d3SPasha Tatashin scratch_end = kho_scratch[i].addr + kho_scratch[i].size; 19*e38f65d3SPasha Tatashin 20*e38f65d3SPasha Tatashin if (phys < scratch_end && (phys + size) > scratch_start) 21*e38f65d3SPasha Tatashin return true; 22*e38f65d3SPasha Tatashin } 23*e38f65d3SPasha Tatashin 24*e38f65d3SPasha Tatashin return false; 25*e38f65d3SPasha Tatashin } 26