host.S (472fc011ccd30f05e0b39d71064777d39dd11cac) host.S (7db21530479f071ee0e0a4d5fcf5e6bc6c0352ba)
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

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

70.L__vect_end\@:
71.if ((.L__vect_end\@ - .L__vect_start\@) > 0x80)
72 .error "host_el1_sync_vect larger than vector entry"
73.endif
74.endm
75
76.macro invalid_host_vect
77 .align 7
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

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

70.L__vect_end\@:
71.if ((.L__vect_end\@ - .L__vect_start\@) > 0x80)
72 .error "host_el1_sync_vect larger than vector entry"
73.endif
74.endm
75
76.macro invalid_host_vect
77 .align 7
78 /* If a guest is loaded, panic out of it. */
79 stp x0, x1, [sp, #-16]!
80 get_loaded_vcpu x0, x1
81 cbnz x0, __guest_exit_panic
82 add sp, sp, #16
78 b hyp_panic
79.endm
80
81/*
82 * The host vector does not use an ESB instruction in order to avoid consuming
83 * SErrors that should only be consumed by the host. Guest entry is deferred by
84 * __guest_enter if there are any pending asynchronous exceptions so hyp will
85 * always return to the host without having consumerd host SErrors.

--- 27 unchanged lines hidden ---
83 b hyp_panic
84.endm
85
86/*
87 * The host vector does not use an ESB instruction in order to avoid consuming
88 * SErrors that should only be consumed by the host. Guest entry is deferred by
89 * __guest_enter if there are any pending asynchronous exceptions so hyp will
90 * always return to the host without having consumerd host SErrors.

--- 27 unchanged lines hidden ---