2017-01-03 11:01:51 +00:00
|
|
|
/*
|
2018-02-12 12:36:17 +00:00
|
|
|
* Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
|
2017-01-03 11:01:51 +00:00
|
|
|
*
|
2017-05-03 09:38:09 +01:00
|
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
2017-01-03 11:01:51 +00:00
|
|
|
*/
|
|
|
|
|
2018-10-25 17:11:02 +01:00
|
|
|
#ifndef ERRATA_REPORT_H
|
|
|
|
#define ERRATA_REPORT_H
|
2017-01-03 11:01:51 +00:00
|
|
|
|
2019-07-09 21:49:11 +01:00
|
|
|
#ifndef __ASSEMBLER__
|
2017-01-03 11:01:51 +00:00
|
|
|
|
|
|
|
#include <arch.h>
|
|
|
|
#include <arch_helpers.h>
|
2018-12-14 00:18:21 +00:00
|
|
|
#include <lib/spinlock.h>
|
|
|
|
#include <lib/utils_def.h>
|
2017-01-03 11:01:51 +00:00
|
|
|
|
|
|
|
#if DEBUG
|
|
|
|
void print_errata_status(void);
|
|
|
|
#else
|
|
|
|
static inline void print_errata_status(void) {}
|
|
|
|
#endif
|
|
|
|
|
2018-02-12 12:36:17 +00:00
|
|
|
void errata_print_msg(unsigned int status, const char *cpu, const char *id);
|
|
|
|
int errata_needs_reporting(spinlock_t *lock, uint32_t *reported);
|
|
|
|
|
2019-07-09 21:49:11 +01:00
|
|
|
#endif /* __ASSEMBLER__ */
|
2017-01-03 11:01:51 +00:00
|
|
|
|
|
|
|
/* Errata status */
|
|
|
|
#define ERRATA_NOT_APPLIES 0
|
|
|
|
#define ERRATA_APPLIES 1
|
|
|
|
#define ERRATA_MISSING 2
|
|
|
|
|
2020-10-07 21:08:01 +01:00
|
|
|
/* Macro to get CPU revision code for checking errata version compatibility. */
|
|
|
|
#define CPU_REV(r, p) ((r << 4) | p)
|
|
|
|
|
2018-10-25 17:11:02 +01:00
|
|
|
#endif /* ERRATA_REPORT_H */
|