coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
chipset.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <bl_uapp/bl_syscall_public.h>
4 #include <console/console.h>
5 #include <psp_verstage.h>
6 
7 uint32_t update_psp_bios_dir(uint32_t *psp_dir_offset, uint32_t *bios_dir_offset)
8 {
9  return svc_update_psp_bios_dir(psp_dir_offset, bios_dir_offset);
10 }
11 
13 {
14  return svc_save_uapp_data(address, size);
15 }
16 
18 {
19  return ef_table->bios3_entry;
20 }
21 
22 int platform_set_sha_op(enum vb2_hash_algorithm hash_alg,
23  struct sha_generic_data *sha_op)
24 {
25  if (hash_alg == VB2_HASH_SHA256) {
26  sha_op->SHAType = SHA_TYPE_256;
27  sha_op->DigestLen = 32;
28  } else if (hash_alg == VB2_HASH_SHA384) {
29  sha_op->SHAType = SHA_TYPE_384;
30  sha_op->DigestLen = 48;
31  } else {
32  return -1;
33  }
34  return 0;
35 }
36 
37 void platform_report_mode(int developer_mode_enabled)
38 {
39  printk(BIOS_INFO, "Reporting %s mode\n",
40  developer_mode_enabled ? "Developer" : "Production");
41  if (developer_mode_enabled)
42  svc_set_platform_boot_mode(CHROME_BOOK_BOOT_MODE_DEVELOPER);
43  else
44  svc_set_platform_boot_mode(CHROME_BOOK_BOOT_MODE_PRODUCTION);
45 }
void platform_report_mode(int developer_mode_enabled)
Definition: chipset.c:37
int platform_set_sha_op(enum vb2_hash_algorithm hash_alg, struct sha_generic_data *sha_op)
Definition: chipset.c:22
uint32_t update_psp_bios_dir(uint32_t *psp_dir_offset, uint32_t *bios_dir_offset)
Definition: chipset.c:7
uint32_t save_uapp_data(void *address, uint32_t size)
Definition: chipset.c:12
uint32_t get_bios_dir_addr(struct embedded_firmware *ef_table)
Definition: chipset.c:17
uint32_t svc_update_psp_bios_dir(uint32_t *psp_dir_offset, uint32_t *bios_dir_offset)
Definition: svc.c:84
uint32_t svc_set_platform_boot_mode(enum chrome_platform_boot_mode boot_mode)
Definition: svc.c:137
uint32_t svc_save_uapp_data(void *address, uint32_t size)
Definition: svc.c:93
#define printk(level,...)
Definition: stdlib.h:16
uint64_t address
Definition: fw_cfg_if.h:0
#define BIOS_INFO
BIOS_INFO - Expected events.
Definition: loglevel.h:113
unsigned int uint32_t
Definition: stdint.h:14
uint32_t bios3_entry
Definition: psp_efs.h:46
static struct sha_generic_data sha_op
Definition: vboot_crypto.c:14