coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
lockdown.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <device/mmio.h>
4 #include <intelblocks/cfg.h>
5 #include <intelblocks/pmclib.h>
6 #include <intelpch/lockdown.h>
7 #include <soc/pm.h>
8 
9 static void pmc_lockdown_config(void)
10 {
11  uint8_t *pmcbase;
12  u32 pmsyncreg;
13 
14  /* PMSYNC */
15  pmcbase = pmc_mmio_regs();
16  pmsyncreg = read32(pmcbase + PMSYNC_TPR_CFG);
17  pmsyncreg |= PMSYNC_LOCK;
18  write32(pmcbase + PMSYNC_TPR_CFG, pmsyncreg);
19 
20  /* Make sure payload/OS can't trigger global reset */
22 }
23 
24 void soc_lockdown_config(int chipset_lockdown)
25 {
26  /* PMC lock down configuration */
28 }
uint8_t * pmc_mmio_regs(void)
Definition: pmutil.c:142
static void write32(void *addr, uint32_t val)
Definition: mmio.h:40
static uint32_t read32(const void *addr)
Definition: mmio.h:22
#define PMSYNC_TPR_CFG
Definition: pmc.h:103
#define PMSYNC_LOCK
Definition: pmc.h:81
void soc_lockdown_config(int chipset_lockdown)
Definition: lockdown.c:50
void pmc_global_reset_disable_and_lock(void)
static void pmc_lockdown_config(void)
Definition: lockdown.c:9
uint32_t u32
Definition: stdint.h:51
unsigned char uint8_t
Definition: stdint.h:8