coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
legacy_save_state.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
#ifndef __X86_LEGACY_SAVE_STATE_H__
4
#define __X86_LEGACY_SAVE_STATE_H__
5
6
#include <types.h>
7
8
/* Legacy x86 SMM State-Save Area
9
* starts @ 0x7e00
10
*/
11
#define SMM_LEGACY_ARCH_OFFSET 0x7e00
12
13
typedef
struct
{
14
u8
reserved0[248];
15
u32
smbase;
16
u32
smm_revision
;
17
u16
io_restart;
18
u16
autohalt_restart;
19
u8
reserved1[132];
20
u32
gdtbase
;
21
u8
reserved2[8];
22
u32
idtbase
;
23
u8
reserved3[16];
24
u32
es
;
25
u32
cs
;
26
u32
ss
;
27
u32
ds
;
28
u32
fs
;
29
u32
gs
;
30
u32
ldtbase
;
31
u32
tr
;
32
u32
dr7
;
33
u32
dr6
;
34
u32
eax
;
35
u32
ecx
;
36
u32
edx
;
37
u32
ebx
;
38
u32
esp
;
39
u32
ebp
;
40
u32
esi
;
41
u32
edi
;
42
u32
eip
;
43
u32
eflags
;
44
u32
cr3
;
45
u32
cr0
;
46
}
__packed
legacy_smm_state_save_area_t;
47
48
#endif
smm_revision
uint32_t smm_revision(void)
Definition:
smihandler.c:109
u32
uint32_t u32
Definition:
stdint.h:51
u16
uint16_t u16
Definition:
stdint.h:48
u8
uint8_t u8
Definition:
stdint.h:45
__packed
Definition:
x86.c:23
__packed::ebp
u32 ebp
Definition:
legacy_save_state.h:39
__packed::esp
u32 esp
Definition:
legacy_save_state.h:38
__packed::ecx
u32 ecx
Definition:
legacy_save_state.h:35
__packed::edx
u32 edx
Definition:
legacy_save_state.h:36
__packed::fs
u32 fs
Definition:
legacy_save_state.h:28
__packed::ldtbase
u32 ldtbase
Definition:
legacy_save_state.h:30
__packed::ebx
u32 ebx
Definition:
legacy_save_state.h:37
__packed::esi
u32 esi
Definition:
legacy_save_state.h:40
__packed::gs
u32 gs
Definition:
legacy_save_state.h:29
__packed::gdtbase
u32 gdtbase
Definition:
legacy_save_state.h:20
__packed::edi
u32 edi
Definition:
legacy_save_state.h:41
__packed::eflags
u32 eflags
Definition:
legacy_save_state.h:43
__packed::eax
u32 eax
Definition:
legacy_save_state.h:34
__packed::idtbase
u32 idtbase
Definition:
legacy_save_state.h:22
__packed::ds
u32 ds
Definition:
legacy_save_state.h:27
__packed::dr7
u32 dr7
Definition:
legacy_save_state.h:32
__packed::cr3
u32 cr3
Definition:
legacy_save_state.h:44
__packed::cs
u32 cs
Definition:
legacy_save_state.h:25
__packed::tr
u32 tr
Definition:
legacy_save_state.h:31
__packed::cr0
u32 cr0
Definition:
legacy_save_state.h:45
__packed::es
u32 es
Definition:
legacy_save_state.h:24
__packed::ss
u32 ss
Definition:
legacy_save_state.h:26
__packed::dr6
u32 dr6
Definition:
legacy_save_state.h:33
__packed::eip
u32 eip
Definition:
legacy_save_state.h:42
src
include
cpu
x86
legacy_save_state.h
Generated by
1.9.1