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 --- |