blob: 1f0bb58aaa700dc74ac05f5baf56ac41cf04c206 [file] [log] [blame]
Angel Pons118a9c72020-04-02 23:48:34 +02001/* SPDX-License-Identifier: GPL-2.0-only */
2/* This file is part of the coreboot project. */
Elyes HAOUASe9a01302018-10-26 15:06:33 +02003
Aaron Durbindf3a1092013-03-13 12:41:44 -05004#include <cbmem.h>
Aaron Durbin0dff57d2015-03-05 21:18:33 -06005#include <bootstate.h>
Kyösti Mälkki4fbac462015-01-07 04:48:43 +02006#include <symbols.h>
Aaron Durbindf3a1092013-03-13 12:41:44 -05007
Aaron Durbin41607a42015-06-09 13:54:10 -05008void cbmem_run_init_hooks(int is_recovery)
Kyösti Mälkki823edda2014-12-18 18:30:29 +02009{
Lee Leahy73402172017-03-10 15:23:24 -080010 cbmem_init_hook_t *init_hook_ptr =
11 (cbmem_init_hook_t *)&_cbmem_init_hooks;
12 cbmem_init_hook_t *einit_hook_ptr =
13 (cbmem_init_hook_t *)&_ecbmem_init_hooks;
Kyösti Mälkki4d107502014-12-19 10:17:46 +020014
Julius Werner7e0dea62019-02-20 18:39:22 -080015 if (REGION_SIZE(cbmem_init_hooks) == 0)
Kyösti Mälkki4fbac462015-01-07 04:48:43 +020016 return;
17
18 while (init_hook_ptr != einit_hook_ptr) {
Aaron Durbin41607a42015-06-09 13:54:10 -050019 (*init_hook_ptr)(is_recovery);
Kyösti Mälkki4fbac462015-01-07 04:48:43 +020020 init_hook_ptr++;
21 }
Kyösti Mälkki823edda2014-12-18 18:30:29 +020022}