summaryrefslogtreecommitdiffstats
path: root/src/soc/amd/common/block/include/amdblocks/smm.h
blob: 4a44203ba9fbf84907b2396c5679d97a93231670 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* SPDX-License-Identifier: GPL-2.0-only */

#ifndef _AMDBLOCKS_SMM_H_
#define _AMDBLOCKS_SMM_H_

#include <cpu/x86/msr.h>
#include <types.h>

struct smm_relocation_params {
	msr_t tseg_base;
	msr_t tseg_mask;
};

void get_smm_info(uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size);
void smm_relocation_handler(int cpu, uintptr_t curr_smbase, uintptr_t staggered_smbase);
void *get_smi_source_handler(int source);
void handle_smi_gsmi(void);
void handle_smi_store(void);
void clear_tvalid(void);
/* See SMITYPE_* for list possible of events. GEVENTS are handled with mainboard_smi_gpi. */
void mainboard_handle_smi(int event);

#endif