[RFC v1 7/9] kho: decouple radix tree compatibility from global KHO version
Pasha Tatashin
pasha.tatashin at soleen.com
Thu Jun 4 20:32:33 PDT 2026
Decouple the kho radix tree compatibility version from the global
KHO compatibility version KHO_FDT_COMPATIBLE.
Define the independent compatibility version "radix-v1" for the radix
tree KHO_RADIX_COMPATIBLE in radix_tree.h.
Integrate KHO_RADIX_COMPATIBLE into the composite root compatibility
string KHO_FDT_COMPATIBLE.
Additionally, document the new KHO Compatibility ABI under the
Documentation/core-api/kho/abi.rst section.
Signed-off-by: Pasha Tatashin <pasha.tatashin at soleen.com>
---
Documentation/core-api/kho/abi.rst | 5 +++++
include/linux/kho/abi/kexec_handover.h | 10 ++++++----
include/linux/kho/abi/radix_tree.h | 4 +++-
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/Documentation/core-api/kho/abi.rst b/Documentation/core-api/kho/abi.rst
index b61363679829..6acdb7c85239 100644
--- a/Documentation/core-api/kho/abi.rst
+++ b/Documentation/core-api/kho/abi.rst
@@ -10,6 +10,11 @@ Core Kexec Handover ABI
.. kernel-doc:: include/linux/kho/abi/kexec_handover.h
:doc: Kexec Handover ABI
+KHO Compatibility ABI
+=====================
+
+.. kernel-doc:: include/linux/kho/abi/compat.h
+
vmalloc preservation ABI
========================
diff --git a/include/linux/kho/abi/kexec_handover.h b/include/linux/kho/abi/kexec_handover.h
index c893b5045078..49ac4b47cc3d 100644
--- a/include/linux/kho/abi/kexec_handover.h
+++ b/include/linux/kho/abi/kexec_handover.h
@@ -8,9 +8,8 @@
#ifndef _LINUX_KHO_ABI_KEXEC_HANDOVER_H
#define _LINUX_KHO_ABI_KEXEC_HANDOVER_H
-#include <linux/types.h>
-
-#include <asm/page.h>
+#include <linux/kho/abi/compat.h>
+#include <linux/kho/abi/radix_tree.h>
/**
* DOC: Kexec Handover ABI
@@ -85,7 +84,10 @@
*/
/* The compatible string for the KHO FDT root node. */
-#define KHO_FDT_COMPATIBLE "kho-v4"
+#define KHO_FDT_COMPAT_BASE "kho-v4"
+#define KHO_FDT_COMPATIBLE \
+ KHO_FDT_COMPAT_BASE \
+ KHO_SUB_COMPAT(KHO_RADIX_COMPATIBLE)
/* The FDT property for the preserved memory map. */
#define KHO_FDT_MEMORY_MAP_PROP_NAME "preserved-memory-map"
diff --git a/include/linux/kho/abi/radix_tree.h b/include/linux/kho/abi/radix_tree.h
index f4cc5c02f37a..89cd7eb4a91d 100644
--- a/include/linux/kho/abi/radix_tree.h
+++ b/include/linux/kho/abi/radix_tree.h
@@ -20,7 +20,7 @@
* This interface is a contract. Any modification to the structure fields,
* compatible strings, or the layout of the serialization structures defined
* here constitutes a breaking change. Such changes require incrementing the
- * version number in the `KHO_FDT_COMPATIBLE` string to prevent a new kernel
+ * version number in the `KHO_RADIX_COMPATIBLE` string to prevent a new kernel
* from misinterpreting data from an old kernel.
*
* Changes are allowed provided the compatibility version is incremented;
@@ -94,6 +94,8 @@
* 4KB.
*/
+#define KHO_RADIX_COMPATIBLE "radix-v1"
+
/*
* Defines constants for the KHO radix tree structure, used to track preserved
* memory. These constants govern the indexing, sizing, and depth of the tree.
--
2.53.0
More information about the kexec
mailing list