xref: /aosp_15_r20/external/coreboot/src/soc/intel/common/block/cse/cse_sync_payload.c (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <cbmem.h>
4 #include <console/console.h>
5 #include <intelblocks/cse.h>
6 #include <intelblocks/cse_lite.h>
7 
preram_create_cbmem_cse_info_for_payload(int is_recovery)8 static void preram_create_cbmem_cse_info_for_payload(int is_recovery)
9 {
10 	/*
11 	 * CBMEM_ID_CSE_INFO will be used by the payload to -
12 	 * 1. Keep ISH firmware version on consecutive boots.
13 	 * 2. Track state of PSR data during CSE downgrade operation.
14 	 */
15 	void *temp = cbmem_add(CBMEM_ID_CSE_INFO, sizeof(struct cse_specific_info));
16 	if (!temp)
17 		printk(BIOS_ERR, "cse_lite: Couldn't create CBMEM_ID_CSE_INFO\n");
18 
19 	/*
20 	 * CBMEM_ID_CSE_BP_INFO will be used by the payload to keep CSE
21 	 * boot partition information on consecutive boots.
22 	 */
23 	temp = cbmem_add(CBMEM_ID_CSE_BP_INFO, sizeof(struct get_bp_info_rsp));
24 	if (!temp)
25 		printk(BIOS_ERR, "cse_lite: Couldn't create CBMEM_ID_CSE_BP_INFO\n");
26 }
27 
28 CBMEM_CREATION_HOOK(preram_create_cbmem_cse_info_for_payload);
29