include/bootstate.h: Fail compilation on invalid bootstate hooks
No BS_ON_EXIT hooks are run on BS_PAYLOAD_BOOT or BS_OS_RESUME, so don't allow these hooks. Change-Id: I318165f0bd510aed3138d3612dd3e264901aba96 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/72708 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Benjamin Doron <benjamin.doron00@gmail.com> Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
This commit is contained in:
parent
897d63a840
commit
9ce7935b49
|
@ -188,7 +188,11 @@ struct boot_state_init_entry {
|
||||||
}; \
|
}; \
|
||||||
static struct boot_state_init_entry * \
|
static struct boot_state_init_entry * \
|
||||||
bsie_ ## func_ ##_## state_ ##_## when_ BOOT_STATE_INIT_ATTR = \
|
bsie_ ## func_ ##_## state_ ##_## when_ BOOT_STATE_INIT_ATTR = \
|
||||||
&func_ ##_## state_ ##_## when_;
|
&func_ ##_## state_ ##_## when_; \
|
||||||
|
_Static_assert(!(state_ == BS_PAYLOAD_BOOT && when_ == BS_ON_EXIT), \
|
||||||
|
"Invalid bootstate hook"); \
|
||||||
|
_Static_assert(!(state_ == BS_OS_RESUME && when_ == BS_ON_EXIT), \
|
||||||
|
"Invalid bootstate hook");
|
||||||
|
|
||||||
/* Hook per arch when coreboot is exiting to payload or ACPI OS resume. It's
|
/* Hook per arch when coreboot is exiting to payload or ACPI OS resume. It's
|
||||||
* the very last thing done before the transition. */
|
* the very last thing done before the transition. */
|
||||||
|
|
Loading…
Reference in New Issue