summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/i386/i386.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/i386/i386.h')
-rw-r--r--src/devices/cpu/i386/i386.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/devices/cpu/i386/i386.h b/src/devices/cpu/i386/i386.h
index 42eed546f41..4a691f9a1e7 100644
--- a/src/devices/cpu/i386/i386.h
+++ b/src/devices/cpu/i386/i386.h
@@ -72,6 +72,10 @@ protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
virtual int get_mode() const override;
+ // cpu-specific system management mode routines
+ virtual void enter_smm();
+ virtual void leave_smm();
+
// routines for opcodes whose operation can vary between cpu models
// default implementations usually just log an error message
virtual void opcode_cpuid();
@@ -1504,7 +1508,6 @@ protected:
void i386_postload();
void i386_common_init();
void build_opcode_table(uint32_t features);
- void pentium_smi();
void zero_state();
void i386_set_a20_line(int state);
@@ -1644,6 +1647,8 @@ protected:
virtual void cache_clean() override;
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void enter_smm() override;
+ virtual void leave_smm() override;
virtual u8 mem_pr8(offs_t address) override { return opcode_read_cache<u8, NATIVE_ENDIAN_VALUE_LE_BE(0, 3)>(address); }
virtual u16 mem_pr16(offs_t address) override { return opcode_read_cache<u16, NATIVE_ENDIAN_VALUE_LE_BE(0, 2)>(address); }