blob: 0f0f10596ccb218cb0d527867f3ad07ea46ae58a [file] [log] [blame]
Jayanth Dodderi Chidanand9461a892022-01-17 18:57:17 +00001/*
2 * Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef FEAT_DETECT_H
8#define FEAT_DETECT_H
9
10#include <arch_features.h>
11#include <common/debug.h>
12
13/* Function Prototypes */
14void detect_arch_features(void);
15
16/* Macro Definitions */
17#define FEAT_STATE_1 1
18#define FEAT_STATE_2 2
19#define feat_detect_panic(a, b) ((a) ? (void)0 : feature_panic(b))
20
21/*******************************************************************************
22 * Function : feature_panic
23 * Customised panic module with error logging mechanism to list the feature
24 * not supported by the PE.
25 ******************************************************************************/
26static inline void feature_panic(char *feat_name)
27{
28 ERROR("FEAT_%s not supported by the PE\n", feat_name);
29 panic();
30}
31
32#endif /* FEAT_DETECT_H */