image-vars.h (9aebdea494b5d2d5fe0ba54d71e9d6c5acfe76b4) image-vars.h (c04dd455eb311d2d289c9d81d080eaf11a06cebf)
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Linker script variables to be set after section resolution, as
4 * ld.lld does not like variables assigned before SECTIONS is processed.
5 */
6#ifndef __ARM64_KERNEL_IMAGE_VARS_H
7#define __ARM64_KERNEL_IMAGE_VARS_H
8

--- 49 unchanged lines hidden (view full) ---

58 * separate it from the kernel proper. The following symbols are legally
59 * accessed by it, therefore provide aliases to make them linkable.
60 * Do not include symbols which may not be safely accessed under hypervisor
61 * memory mappings.
62 */
63
64#define KVM_NVHE_ALIAS(sym) __kvm_nvhe_##sym = sym;
65
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Linker script variables to be set after section resolution, as
4 * ld.lld does not like variables assigned before SECTIONS is processed.
5 */
6#ifndef __ARM64_KERNEL_IMAGE_VARS_H
7#define __ARM64_KERNEL_IMAGE_VARS_H
8

--- 49 unchanged lines hidden (view full) ---

58 * separate it from the kernel proper. The following symbols are legally
59 * accessed by it, therefore provide aliases to make them linkable.
60 * Do not include symbols which may not be safely accessed under hypervisor
61 * memory mappings.
62 */
63
64#define KVM_NVHE_ALIAS(sym) __kvm_nvhe_##sym = sym;
65
66/* Symbols defined in aarch32.c (not yet compiled with nVHE build rules). */
67KVM_NVHE_ALIAS(kvm_skip_instr32);
68
69/* Symbols defined in entry.S (not yet compiled with nVHE build rules). */
70KVM_NVHE_ALIAS(__guest_enter);
71KVM_NVHE_ALIAS(__guest_exit);
72KVM_NVHE_ALIAS(abort_guest_exit_end);
73KVM_NVHE_ALIAS(abort_guest_exit_start);
74
75/* Symbols defined in fpsimd.S (not yet compiled with nVHE build rules). */
76KVM_NVHE_ALIAS(__fpsimd_restore_state);
77KVM_NVHE_ALIAS(__fpsimd_save_state);
78
79/* Symbols defined in vgic-v2-cpuif-proxy.c (not yet compiled with nVHE build rules). */
80KVM_NVHE_ALIAS(__vgic_v2_perform_cpuif_access);
81
82/* Symbols defined in vgic-v3-sr.c (not yet compiled with nVHE build rules). */
83KVM_NVHE_ALIAS(__vgic_v3_activate_traps);
84KVM_NVHE_ALIAS(__vgic_v3_deactivate_traps);
85KVM_NVHE_ALIAS(__vgic_v3_get_ich_vtr_el2);
86KVM_NVHE_ALIAS(__vgic_v3_init_lrs);
87KVM_NVHE_ALIAS(__vgic_v3_perform_cpuif_access);
88KVM_NVHE_ALIAS(__vgic_v3_read_vmcr);
89KVM_NVHE_ALIAS(__vgic_v3_restore_aprs);
90KVM_NVHE_ALIAS(__vgic_v3_restore_state);
91KVM_NVHE_ALIAS(__vgic_v3_save_aprs);
92KVM_NVHE_ALIAS(__vgic_v3_save_state);
93KVM_NVHE_ALIAS(__vgic_v3_write_vmcr);
94
95/* Alternative callbacks for init-time patching of nVHE hyp code. */
96KVM_NVHE_ALIAS(arm64_enable_wa2_handling);
97KVM_NVHE_ALIAS(kvm_patch_vector_branch);
98KVM_NVHE_ALIAS(kvm_update_va_mask);
99
100/* Global kernel state accessed by nVHE hyp code. */
101KVM_NVHE_ALIAS(arm64_ssbd_callback_required);
102KVM_NVHE_ALIAS(kvm_host_data);

--- 35 unchanged lines hidden ---
66/* Alternative callbacks for init-time patching of nVHE hyp code. */
67KVM_NVHE_ALIAS(arm64_enable_wa2_handling);
68KVM_NVHE_ALIAS(kvm_patch_vector_branch);
69KVM_NVHE_ALIAS(kvm_update_va_mask);
70
71/* Global kernel state accessed by nVHE hyp code. */
72KVM_NVHE_ALIAS(arm64_ssbd_callback_required);
73KVM_NVHE_ALIAS(kvm_host_data);

--- 35 unchanged lines hidden ---