3 #ifndef __INTEL_SMM_RELOC_H__
4 #define __INTEL_SMM_RELOC_H__
49 void smm_info(
uintptr_t *perm_smbase,
size_t *perm_smsize,
size_t *smm_save_state_size);
54 #define MSR_PRMRR_PHYS_BASE 0x1f4
55 #define MSR_PRMRR_PHYS_MASK 0x1f5
56 #define MSR_UNCORE_PRMRR_PHYS_BASE 0x2f4
57 #define MSR_UNCORE_PRMRR_PHYS_MASK 0x2f5
78 "Writing UNCORE_PRMRR. base = 0x%08x, mask=0x%08x\n",
#define printk(level,...)
static __always_inline void wrmsr(unsigned int index, msr_t msr)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
void smm_relocation_handler(int cpu, uintptr_t curr_smbase, uintptr_t staggered_smbase)
void smm_initialize(void)
#define MSR_UNCORE_PRMRR_PHYS_BASE
#define MSR_PRMRR_PHYS_BASE
#define MSR_UNCORE_PRMRR_PHYS_MASK
bool cpu_has_alternative_smrr(void)
static void write_uncore_prmrr(struct smm_relocation_params *relo_params)
void smm_southbridge_clear_state(void)
void smm_info(uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size)
struct smm_relocation_params smm_reloc_params
#define MSR_PRMRR_PHYS_MASK
static void write_prmrr(struct smm_relocation_params *relo_params)
static void write_smrr(struct smm_relocation_params *relo_params)
void northbridge_write_smram(u8 smram)
struct ied_header __packed
int smm_save_state_in_msrs
#define IA32_SMRR_PHYS_MASK
#define IA32_SMRR_PHYS_BASE