Implement Cyrix SMM mode.

This commit is contained in:
SarahW 2020-11-08 20:46:42 +00:00
commit c0bc163eaf
9 changed files with 690 additions and 109 deletions

View file

@ -39,7 +39,7 @@ typedef union
typedef struct
{
uint32_t base;
uint32_t limit;
uint32_t limit, limit_raw;
uint8_t access, access2;
uint16_t seg;
uint32_t limit_low, limit_high;
@ -325,4 +325,20 @@ void x86_smi_trigger(void);
void x86_smi_enter(void);
void x86_smi_leave(void);
void cyrix_load_seg_descriptor(uint32_t addr, x86seg *seg);
void cyrix_write_seg_descriptor(uint32_t addr, x86seg *seg);
#define SMHR_VALID (1 << 0)
#define SMHR_ADDR_MASK (0xfffffffc)
struct
{
struct
{
uint32_t base;
uint64_t size;
} arr[8];
uint32_t smhr;
} cyrix;
#endif