1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (C) 2018 - Arm Ltd */
3
4 #ifndef __ARM64_KVM_RAS_H__
5 #define __ARM64_KVM_RAS_H__
6
7 #include <linux/acpi.h>
8 #include <linux/errno.h>
9 #include <linux/types.h>
10
11 #include <asm/acpi.h>
12
13 /*
14 * Was this synchronous external abort a RAS notification?
15 * Returns '0' for errors handled by some RAS subsystem, or -ENOENT.
16 */
17 static inline int kvm_handle_guest_sea(phys_addr_t addr, unsigned int esr)
18 {
19 /* apei_claim_sea(NULL) expects to mask interrupts itself */
20 lockdep_assert_irqs_enabled();
21
22 return apei_claim_sea(NULL);
23 }
24
25 #endif /* __ARM64_KVM_RAS_H__ */