blob: d0faaeefb3b777576e4532483cfb7ff4c3362255 [file] [log] [blame]
// SPDX-License-Identifier: Apache-2.0
/* Copyright 2020 IBM Corp. */
#ifndef __RAS_H
#define __RAS_H
#include <compiler.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <errno.h>
#include <bitutils.h>
#include <types.h>
#include <ccan/container_of/container_of.h>
#include <ccan/list/list.h>
#include <ccan/short_types/short_types.h>
#include <ccan/build_assert/build_assert.h>
#include <ccan/array_size/array_size.h>
#include <ccan/endian/endian.h>
#include <ccan/str/str.h>
#include <processor.h>
#define MCE_NO_ERROR 0x0001
#define MCE_UNKNOWN 0x0002
#define MCE_INSNFETCH 0x0004
#define MCE_LOADSTORE 0x0008
#define MCE_TABLE_WALK 0x0010
#define MCE_IMPRECISE 0x0020
#define MCE_MEMORY_ERROR 0x0040
#define MCE_SLB_ERROR 0x0080
#define MCE_ERAT_ERROR 0x0100
#define MCE_TLB_ERROR 0x0200
#define MCE_TLBIE_ERROR 0x0400
#define MCE_INVOLVED_EA 0x0800
#define MCE_INVOLVED_PA 0x1000
void decode_mce(uint64_t srr0, uint64_t srr1,
uint32_t dsisr, uint64_t dar,
uint64_t *type, const char **error_str,
uint64_t *address);
#endif /* __RAS_H */