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 */
17static inline int kvm_handle_guest_sea(phys_addr_t addr, u64 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