host.S (a787bdaff83a085288b6fc607afb4bb648da3cc9) | host.S (68b824e428c5fb5c3dc5ef80b1543e767534b58e) |
---|---|
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 --- 101 unchanged lines hidden (view full) --- 110 * Compute the idmap address of __kvm_handle_stub_hvc and 111 * jump there. Since we use kimage_voffset, do not use the 112 * HYP VA for __kvm_handle_stub_hvc, but the kernel VA instead 113 * (by loading it from the constant pool). 114 * 115 * Preserve x0-x4, which may contain stub parameters. 116 */ 117 ldr x5, =__kvm_handle_stub_hvc | 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 --- 101 unchanged lines hidden (view full) --- 110 * Compute the idmap address of __kvm_handle_stub_hvc and 111 * jump there. Since we use kimage_voffset, do not use the 112 * HYP VA for __kvm_handle_stub_hvc, but the kernel VA instead 113 * (by loading it from the constant pool). 114 * 115 * Preserve x0-x4, which may contain stub parameters. 116 */ 117 ldr x5, =__kvm_handle_stub_hvc |
118 ldr_l x6, kimage_voffset 119 120 /* x5 = __pa(x5) */ 121 sub x5, x5, x6 | 118 kimg_pa x5, x6 |
122 br x5 123.L__vect_end\@: 124.if ((.L__vect_end\@ - .L__vect_start\@) > 0x80) 125 .error "host_el1_sync_vect larger than vector entry" 126.endif 127.endm 128 129.macro invalid_host_el2_vect --- 56 unchanged lines hidden --- | 119 br x5 120.L__vect_end\@: 121.if ((.L__vect_end\@ - .L__vect_start\@) > 0x80) 122 .error "host_el1_sync_vect larger than vector entry" 123.endif 124.endm 125 126.macro invalid_host_el2_vect --- 56 unchanged lines hidden --- |