coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
mtrr_fixme.c File Reference
#include <arch/romstage.h>
#include <cbmem.h>
#include <console/console.h>
#include <commonlib/helpers.h>
#include <cpu/amd/mtrr.h>
#include <cpu/cpu.h>
#include <cpu/x86/msr.h>
#include <cpu/x86/mtrr.h>
#include <northbridge/amd/agesa/agesa_helper.h>
Include dependency graph for mtrr_fixme.c:

Go to the source code of this file.

Functions

static void set_range_uc (u32 base, u32 size)
 
void fixup_cbmem_to_UC (int s3resume)
 
void recover_postcar_frame (struct postcar_frame *pcf, int s3resume)
 

Function Documentation

◆ fixup_cbmem_to_UC()

void fixup_cbmem_to_UC ( int  s3resume)

Definition at line 36 of file mtrr_fixme.c.

References ALIGN_UP, cbmem_top(), MiB, and set_range_uc().

Referenced by romstage_main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ recover_postcar_frame()

void recover_postcar_frame ( struct postcar_frame pcf,
int  s3resume 
)

Definition at line 54 of file mtrr_fixme.c.

References ALIGN_DOWN, base, cbmem_top(), postcar_frame::ctx, mask, var_mtrr_context::max_var_mtrrs, MiB, MTRR_PHYS_BASE, MTRR_PHYS_MASK, MTRR_PHYS_MASK_VALID, MTRR_TYPE_UNCACHEABLE, MTRR_TYPE_WRBACK, postcar_frame_add_mtrr(), rdmsr(), and type.

Referenced by romstage_main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_range_uc()

static void set_range_uc ( u32  base,
u32  size 
)
static

Definition at line 13 of file mtrr_fixme.c.

References base, cpu_phys_address_size(), die(), get_var_mtrr_count(), msr_struct::hi, msr_struct::lo, MTRR_PHYS_BASE, MTRR_PHYS_MASK, MTRR_PHYS_MASK_VALID, MTRR_TYPE_UNCACHEABLE, rdmsr(), and wrmsr().

Referenced by fixup_cbmem_to_UC().

Here is the call graph for this function:
Here is the caller graph for this function: