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 <[email protected]> --- 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

