complier.h: add __noreturn and use it in code base

Add a __noreturn macro that wraps __attribute__((noreturn)) and replace
current users with the macro.

Change-Id: Iddd0728cf79678c3d1c1f7e7946c27375a644a7d
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/28505
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Aaron Durbin
2018-09-05 09:37:11 -06:00
committed by Patrick Georgi
parent 261d626669
commit 0370bcf40c
11 changed files with 25 additions and 22 deletions

View File

@@ -1,14 +1,16 @@
#ifndef RESET_H
#define RESET_H
#include <compiler.h>
/* Generic reset functions. Call from code that wants to trigger a reset. */
/* Super-hard reset specific to some Intel SoCs. */
__attribute__((noreturn)) void global_reset(void);
__noreturn void global_reset(void);
/* Full board reset. Resets SoC and most/all board components (e.g. DRAM). */
__attribute__((noreturn)) void hard_reset(void);
__noreturn void hard_reset(void);
/* Board reset. Resets SoC some board components (e.g. TPM but not DRAM). */
__attribute__((noreturn)) void soft_reset(void);
__noreturn void soft_reset(void);
/* Reset implementations. Implement these in SoC or mainboard code. Implement
at least hard_reset() if possible, others fall back to it if necessary. */