/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2022, Oracle and/or its affiliates. */ #ifndef ASM_KTEXT_H #define ASM_KTEXT_H #include #include #ifdef CONFIG_REPLICATE_KTEXT void ktext_replication_init(void); void ktext_replication_write(void *addr, void *data, size_t size); void __kprobes ktext_replication_patch(u32 *tp, __le32 insn); void ktext_replication_patch_alternative(__le32 *src, int nr_inst); void ktext_replication_set_swapper_pgd(pgd_t *pgdp, pgd_t pgd); void ktext_replication_init_tramp(void); void create_kernel_nid_map(pgd_t *pgdp, void *ktext); extern const char ktext_nid[32]; #else static inline void ktext_replication_init(void) { } static inline void ktext_replication_write(void *addr, void *data, size_t size) { } static inline void __kprobes ktext_replication_patch(u32 *tp, __le32 insn) { } static inline void ktext_replication_patch_alternative(__le32 *src, int nr_inst) { } static inline void ktext_replication_set_swapper_pgd(pgd_t *pgdp, pgd_t pgd) { } static inline void ktext_replication_init_tramp(void) { } #endif #endif