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__ */ 26