host.S (d527353e4bceae6d59606ad21ad00916401d22ad) | host.S (5c92a7643b14a5bc93bac6e2af5f9010e284b584) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) 2020 - Google Inc 4 * Author: Andrew Scull <ascull@google.com> 5 */ 6 7#include <linux/linkage.h> 8 --- 65 unchanged lines hidden (view full) --- 74 * void __noreturn __hyp_do_panic(struct kvm_cpu_context *host_ctxt, u64 spsr, 75 * u64 elr, u64 par); 76 */ 77SYM_FUNC_START(__hyp_do_panic) 78 /* Prepare and exit to the host's panic funciton. */ 79 mov lr, #(PSR_F_BIT | PSR_I_BIT | PSR_A_BIT | PSR_D_BIT |\ 80 PSR_MODE_EL1h) 81 msr spsr_el2, lr | 1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) 2020 - Google Inc 4 * Author: Andrew Scull <ascull@google.com> 5 */ 6 7#include <linux/linkage.h> 8 --- 65 unchanged lines hidden (view full) --- 74 * void __noreturn __hyp_do_panic(struct kvm_cpu_context *host_ctxt, u64 spsr, 75 * u64 elr, u64 par); 76 */ 77SYM_FUNC_START(__hyp_do_panic) 78 /* Prepare and exit to the host's panic funciton. */ 79 mov lr, #(PSR_F_BIT | PSR_I_BIT | PSR_A_BIT | PSR_D_BIT |\ 80 PSR_MODE_EL1h) 81 msr spsr_el2, lr |
82 ldr lr, =panic | 82 ldr lr, =nvhe_hyp_panic_handler |
83 hyp_kimg_va lr, x6 84 msr elr_el2, lr 85 86 mov x29, x0 87 | 83 hyp_kimg_va lr, x6 84 msr elr_el2, lr 85 86 mov x29, x0 87 |
88 /* Load the format string into x0 and arguments into x1-7 */ 89 ldr x0, =__hyp_panic_string 90 hyp_kimg_va x0, x6 | 88 /* Load the panic arguments into x0-7 */ 89 mrs x0, esr_el2 90 get_vcpu_ptr x4, x5 91 mrs x5, far_el2 92 mrs x6, hpfar_el2 93 mov x7, xzr // Unused argument |
91 | 94 |
92 /* Load the format arguments into x1-7. */ 93 mov x6, x3 94 get_vcpu_ptr x7, x3 95 mrs x3, esr_el2 96 mrs x4, far_el2 97 mrs x5, hpfar_el2 98 | |
99 /* Enter the host, conditionally restoring the host context. */ 100 cbz x29, __host_enter_without_restoring 101 b __host_enter_for_panic 102SYM_FUNC_END(__hyp_do_panic) 103 104.macro host_el1_sync_vect 105 .align 7 106.L__vect_start\@: --- 125 unchanged lines hidden --- | 95 /* Enter the host, conditionally restoring the host context. */ 96 cbz x29, __host_enter_without_restoring 97 b __host_enter_for_panic 98SYM_FUNC_END(__hyp_do_panic) 99 100.macro host_el1_sync_vect 101 .align 7 102.L__vect_start\@: --- 125 unchanged lines hidden --- |