coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
bootblock.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <arch/mmu.h>
4 #include <bootblock_common.h>
5 #include <symbols.h>
6 
8 {
9  mmu_init();
10 
11  /* Everything below DRAM is device memory */
13  /* Set a dummy value for DRAM. ramstage should update the mapping. */
15 
16  mmu_config_range(_ttb, REGION_SIZE(ttb), MA_MEM | MA_S | MA_RW);
17  mmu_config_range(_bootblock, REGION_SIZE(bootblock), MA_MEM | MA_S | MA_RW);
19  mmu_config_range(_ramstage, REGION_SIZE(ramstage), MA_MEM | MA_S | MA_RW);
20 
21  mmu_config_range(_bl31, REGION_SIZE(bl31), MA_MEM | MA_S | MA_RW);
22 
23  mmu_enable();
24 }
void mmu_enable(void)
Definition: mmu.c:293
#define MA_DEV
Definition: mmu.h:14
#define MA_MEM
Definition: mmu.h:13
#define MA_S
Definition: mmu.h:18
#define MA_RW
Definition: mmu.h:22
void mmu_config_range(u32 start_mb, u32 size_mb, enum dcache_policy policy)
Definition: mmu.c:221
void mmu_init(void)
Definition: mmu.c:242
#define GiB
Definition: helpers.h:77
u8 _dram[]
#define REGION_SIZE(name)
Definition: symbols.h:10
__weak void bootblock_mainboard_init(void)
Definition: bootblock.c:19
static void romstage(void)
Definition: romstage.c:24
unsigned long uintptr_t
Definition: stdint.h:21