diff --git a/bochs/cpu/Makefile.in b/bochs/cpu/Makefile.in index bcb398f0f..570f563ee 100644 --- a/bochs/cpu/Makefile.in +++ b/bochs/cpu/Makefile.in @@ -173,227 +173,227 @@ dist-clean: clean ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h access32.o: access32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h access64.o: access64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h access.o: access.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h aes.o: aes.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h apic.o: apic.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ ../iodev/iodev.h ../plugin.h ../extplugin.h ../ltdl.h ../param_names.h arith16.o: arith16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h arith32.o: arith32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h arith64.o: arith64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h arith8.o: arith8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h avx2.o: avx2.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h avx.o: avx.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h avx_fma.o: avx_fma.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h avx_pfp.o: avx_pfp.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h bcd.o: bcd.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h bit16.o: bit16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h bit32.o: bit32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h bit64.o: bit64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h bit.o: bit.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h bmi32.o: bmi32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h bmi64.o: bmi64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h call_far.o: call_far.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h cpu.o: cpu.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h crc32.o: crc32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h crregs.o: crregs.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h ctrl_xfer16.o: ctrl_xfer16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h ctrl_xfer32.o: ctrl_xfer32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h ctrl_xfer64.o: ctrl_xfer64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h ctrl_xfer_pro.o: ctrl_xfer_pro.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h data_xfer16.o: data_xfer16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h data_xfer32.o: data_xfer32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h data_xfer64.o: data_xfer64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h data_xfer8.o: data_xfer8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h debugstuff.o: debugstuff.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ ../disasm/disasm.h event.o: event.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ ../iodev/iodev.h ../plugin.h ../extplugin.h ../ltdl.h ../param_names.h exception.o: exception.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ ../param_names.h ../iodev/iodev.h ../plugin.h ../extplugin.h ../ltdl.h fetchdecode64.o: fetchdecode64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ fetchdecode.h fetchdecode_x87.h fetchdecode_sse.h fetchdecode_avx.h \ fetchdecode_xop.h fetchdecode.o: fetchdecode.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ @@ -401,7 +401,7 @@ fetchdecode.o: fetchdecode.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ fetchdecode.h fetchdecode_x87.h fetchdecode_sse.h fetchdecode_avx.h \ fetchdecode_xop.h flag_ctrl.o: flag_ctrl.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ @@ -409,350 +409,350 @@ flag_ctrl.o: flag_ctrl.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h flag_ctrl_pro.o: flag_ctrl_pro.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h fpu_emu.o: fpu_emu.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h gather.o: gather.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h generic_cpuid.o: generic_cpuid.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h \ + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \ ../param_names.h generic_cpuid.h ../cpu/cpuid.h icache.o: icache.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ ../param_names.h init.o: init.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ ../param_names.h generic_cpuid.h ../cpu/cpuid.h io.o: io.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ ../iodev/iodev.h ../plugin.h ../extplugin.h ../ltdl.h ../param_names.h iret.o: iret.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h jmp_far.o: jmp_far.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h load.o: load.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h logical16.o: logical16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h logical32.o: logical32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h logical64.o: logical64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h logical8.o: logical8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h mmx.o: mmx.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h msr.o: msr.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h mult16.o: mult16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h mult32.o: mult32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h mult64.o: mult64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h mult8.o: mult8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h paging.o: paging.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h proc_ctrl.o: proc_ctrl.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h ../param_names.h cpu.h \ cpuid.h crregs.h descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h \ apic.h i387.h fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h \ - xmm.h stack.h + xmm.h vmx.h stack.h protect_ctrl.o: protect_ctrl.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h resolver.o: resolver.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h ret_far.o: ret_far.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h segment_ctrl.o: segment_ctrl.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h segment_ctrl_pro.o: segment_ctrl_pro.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h shift16.o: shift16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h shift32.o: shift32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h shift64.o: shift64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h shift8.o: shift8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h smm.o: smm.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h smm.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h smm.h soft_int.o: soft_int.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h sse.o: sse.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h simd_int.h \ + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h simd_int.h \ simd_compare.h sse_move.o: sse_move.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ simd_int.h sse_pfp.o: sse_pfp.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ fpu/softfloat-compare.h fpu/softfloat.h simd_pfp.h sse_rcp.o: sse_rcp.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ fpu/softfloat-specialize.h fpu/softfloat.h sse_string.o: sse_string.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h stack16.o: stack16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h stack32.o: stack32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h stack64.o: stack64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h stack.o: stack.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h string.o: string.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h svm.o: svm.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h tasking.o: tasking.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \ ../bx_debug/debug.h ../config.h ../osdep.h ../gui/siminterface.h \ ../cpudb.h ../gui/paramtree.h ../memory/memory.h ../pc_system.h \ ../gui/gui.h ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h \ descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \ - fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h tbm32.o: tbm32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h tbm64.o: tbm64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h vapic.o: vapic.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h vm8086.o: vm8086.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h vmcs.o: vmcs.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h vmexit.o: vmexit.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h vmfunc.o: vmfunc.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h vmx.o: vmx.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h \ + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h \ ../iodev/iodev.h ../plugin.h ../extplugin.h ../ltdl.h ../param_names.h xop.o: xop.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h xsave.o: xsave.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h rdrand.o: rdrand.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \ ../config.h ../osdep.h ../gui/siminterface.h ../cpudb.h \ ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \ ../instrument/stubs/instrument.h cpu.h cpuid.h crregs.h descriptor.h \ instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \ - fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h stack.h + fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h stack.h diff --git a/bochs/cpu/cpu.h b/bochs/cpu/cpu.h index 6dc45e5ff..9347212cd 100644 --- a/bochs/cpu/cpu.h +++ b/bochs/cpu/cpu.h @@ -1100,12 +1100,17 @@ public: // for now... * or if not related to current instruction, * 0 if current CS:IP caused exception */ -#define BX_ACTIVITY_STATE_ACTIVE (0) -#define BX_ACTIVITY_STATE_HLT (1) -#define BX_ACTIVITY_STATE_SHUTDOWN (2) -#define BX_ACTIVITY_STATE_WAIT_FOR_SIPI (3) -#define BX_ACTIVITY_STATE_MWAIT (4) -#define BX_ACTIVITY_STATE_MWAIT_IF (5) + enum CPU_Activity_State { + BX_ACTIVITY_STATE_ACTIVE = 0, + BX_ACTIVITY_STATE_HLT, + BX_ACTIVITY_STATE_SHUTDOWN, + BX_ACTIVITY_STATE_WAIT_FOR_SIPI, + BX_ACTIVITY_STATE_MWAIT, + BX_ACTIVITY_STATE_MWAIT_IF + }; + +#define BX_VMX_LAST_ACTIVITY_STATE (BX_ACTIVITY_STATE_WAIT_FOR_SIPI) + unsigned activity_state; #define BX_EVENT_NMI (1 << 0) @@ -4056,6 +4061,7 @@ public: // for now... BX_SMF void reset(unsigned source); BX_SMF void shutdown(void); + BX_SMF void enter_sleep_state(unsigned state); BX_SMF void handleCpuModeChange(void); BX_SMF void handleCpuContextChange(void); BX_SMF void handleInterruptMaskChange(void); diff --git a/bochs/cpu/event.cc b/bochs/cpu/event.cc index 57d991275..296cebcb7 100644 --- a/bochs/cpu/event.cc +++ b/bochs/cpu/event.cc @@ -386,6 +386,10 @@ bx_bool BX_CPU_C::interrupts_inhibited(unsigned mask) void BX_CPU_C::deliver_SIPI(unsigned vector) { if (BX_CPU_THIS_PTR activity_state == BX_ACTIVITY_STATE_WAIT_FOR_SIPI) { +#if BX_SUPPORT_VMX + if (BX_CPU_THIS_PTR in_vmx_guest) + VMexit(VMX_VMEXIT_SIPI, vector); +#endif BX_CPU_THIS_PTR activity_state = BX_ACTIVITY_STATE_ACTIVE; RIP = 0; load_seg_reg(&BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS], vector*0x100); @@ -393,7 +397,7 @@ void BX_CPU_C::deliver_SIPI(unsigned vector) BX_INFO(("CPU %d started up at %04X:%08X by APIC", BX_CPU_THIS_PTR bx_cpuid, vector*0x100, EIP)); } else { - BX_INFO(("CPU %d started up by APIC, but was not halted at the time", BX_CPU_THIS_PTR bx_cpuid)); + BX_INFO(("CPU %d started up by APIC, but was not halted at that time", BX_CPU_THIS_PTR bx_cpuid)); } } diff --git a/bochs/cpu/init.cc b/bochs/cpu/init.cc index eede086db..561242b1d 100644 --- a/bochs/cpu/init.cc +++ b/bochs/cpu/init.cc @@ -909,15 +909,13 @@ void BX_CPU_C::reset(unsigned source) int apic_id = lapic.get_id(); if (BX_BOOTSTRAP_PROCESSOR == apic_id) { // boot normally - BX_CPU_THIS_PTR msr.apicbase |= 0x0100; /* set bit 8 BSP */ + BX_CPU_THIS_PTR msr.apicbase |= 0x100; /* set bit 8 BSP */ BX_INFO(("CPU[%d] is the bootstrap processor", apic_id)); } else { // it's an application processor, halt until IPI is heard. - BX_CPU_THIS_PTR msr.apicbase &= ~0x0100; /* clear bit 8 BSP */ + BX_CPU_THIS_PTR msr.apicbase &= ~0x100; /* clear bit 8 BSP */ BX_INFO(("CPU[%d] is an application processor. Halting until SIPI.", apic_id)); - activity_state = BX_ACTIVITY_STATE_WAIT_FOR_SIPI; - mask_event(BX_EVENT_INIT | BX_EVENT_SMI | BX_EVENT_NMI); - async_event = 1; + enter_sleep_state(BX_ACTIVITY_STATE_WAIT_FOR_SIPI); } #endif diff --git a/bochs/cpu/proc_ctrl.cc b/bochs/cpu/proc_ctrl.cc index e39a45616..d3ae04e62 100644 --- a/bochs/cpu/proc_ctrl.cc +++ b/bochs/cpu/proc_ctrl.cc @@ -109,16 +109,42 @@ void BX_CPU_C::shutdown(void) } #endif - BX_PANIC(("Entering to shutdown state still not implemented")); + enter_sleep_state(BX_ACTIVITY_STATE_SHUTDOWN); - BX_CPU_THIS_PTR clear_IF(); + longjmp(BX_CPU_THIS_PTR jmp_buf_env, 1); // go back to main decode loop +} + +void BX_CPU_C::enter_sleep_state(unsigned state) +{ + switch(state) { + case BX_ACTIVITY_STATE_ACTIVE: + BX_ASSERT(0); // should not be used for entering active CPU state + break; + + case BX_ACTIVITY_STATE_HLT: + break; + + case BX_ACTIVITY_STATE_WAIT_FOR_SIPI: + mask_event(BX_EVENT_INIT | BX_EVENT_SMI | BX_EVENT_NMI); // FIXME: all events should be masked + // fall through - mask interrupts as well + + case BX_ACTIVITY_STATE_SHUTDOWN: + BX_CPU_THIS_PTR clear_IF(); // masking interrupts + break; + + case BX_ACTIVITY_STATE_MWAIT: + case BX_ACTIVITY_STATE_MWAIT_IF: + break; + + default: + BX_PANIC(("enter_sleep_state: unknown state %d", state)); + } // artificial trap bit, why use another variable. - BX_CPU_THIS_PTR activity_state = BX_ACTIVITY_STATE_HLT; + BX_CPU_THIS_PTR activity_state = state; BX_CPU_THIS_PTR async_event = 1; // so processor knows to check - // Execution of this instruction completes. The processor - // will remain in a halt state until one of the above conditions - // is met. + // Execution completes. The processor will remain in a sleep + // state until one of the wakeup conditions is met. BX_INSTR_HLT(BX_CPU_ID); @@ -129,8 +155,6 @@ void BX_CPU_C::shutdown(void) #if BX_USE_IDLE_HACK bx_gui->sim_is_idle(); #endif - - longjmp(BX_CPU_THIS_PTR jmp_buf_env, 1); // go back to main decode loop } BX_INSF_TYPE BX_CPP_AttrRegparmN(1) BX_CPU_C::HLT(bxInstruction_c *i) @@ -161,27 +185,11 @@ BX_INSF_TYPE BX_CPP_AttrRegparmN(1) BX_CPU_C::HLT(bxInstruction_c *i) #endif // stops instruction execution and places the processor in a - // HALT state. An enabled interrupt, NMI, or reset will resume - // execution. If interrupt (including NMI) is used to resume + // HALT state. An enabled interrupt, NMI, or reset will resume + // execution. If interrupt (including NMI) is used to resume // execution after HLT, the saved CS:eIP points to instruction // following HLT. - - // artificial trap bit, why use another variable. - BX_CPU_THIS_PTR activity_state = BX_ACTIVITY_STATE_HLT; - BX_CPU_THIS_PTR async_event = 1; // so processor knows to check - // Execution of this instruction completes. The processor - // will remain in a halt state until one of the above conditions - // is met. - - BX_INSTR_HLT(BX_CPU_ID); - -#if BX_DEBUGGER - bx_dbg_halt(BX_CPU_ID); -#endif - -#if BX_USE_IDLE_HACK - bx_gui->sim_is_idle(); -#endif + enter_sleep_state(BX_ACTIVITY_STATE_HLT); BX_NEXT_TRACE(i); } @@ -770,6 +778,7 @@ BX_INSF_TYPE BX_CPP_AttrRegparmN(1) BX_CPU_C::MWAIT(bxInstruction_c *i) // the execution. Any far control transfer between MONITOR and MWAIT // resets the monitoring logic. + Bit32u new_state = BX_ACTIVITY_STATE_MWAIT; if (ECX & 1) { #if BX_SUPPORT_VMX // When "interrupt window exiting" VMX control is set MWAIT instruction @@ -780,26 +789,12 @@ BX_INSF_TYPE BX_CPP_AttrRegparmN(1) BX_CPU_C::MWAIT(bxInstruction_c *i) } } #endif - BX_CPU_THIS_PTR activity_state = BX_ACTIVITY_STATE_MWAIT_IF; + new_state = BX_ACTIVITY_STATE_MWAIT_IF; } - else { - BX_CPU_THIS_PTR activity_state = BX_ACTIVITY_STATE_MWAIT; - } - - BX_CPU_THIS_PTR async_event = 1; // so processor knows to check - // Execution of this instruction completes. The processor - // will remain in a optimized state until one of the above - // conditions is met. BX_INSTR_MWAIT(BX_CPU_ID, BX_CPU_THIS_PTR monitor.monitor_addr, CACHE_LINE_SIZE, ECX); -#if BX_USE_IDLE_HACK - bx_gui->sim_is_idle(); -#endif - -#if BX_DEBUGGER - bx_dbg_halt(BX_CPU_ID); -#endif + enter_sleep_state(new_state); #endif BX_NEXT_TRACE(i); diff --git a/bochs/cpu/todo b/bochs/cpu/todo index ea204e679..7af2ad6f4 100644 --- a/bochs/cpu/todo +++ b/bochs/cpu/todo @@ -45,7 +45,6 @@ TODO (know issues in CPU model): [!] VMX: - Dual-monitor treatment of SMIs and SMM not implemented yet - - VMENTER to not-active state not supported yet - Posted Interrupts Processing is not implemented yet - MTF is not implemented yet diff --git a/bochs/cpu/vmx.cc b/bochs/cpu/vmx.cc index d5497d448..706499b57 100644 --- a/bochs/cpu/vmx.cc +++ b/bochs/cpu/vmx.cc @@ -1683,7 +1683,7 @@ Bit32u BX_CPU_C::VMenterLoadCheckGuestState(Bit64u *qualification) return VMX_VMEXIT_VMENTRY_FAILURE_GUEST_STATE; } - if (guest.activity_state == BX_VMX_STATE_HLT) { + if (guest.activity_state == BX_ACTIVITY_STATE_HLT) { if (guest.sregs[BX_SEG_REG_SS].cache.dpl != 0) { BX_ERROR(("VMENTER FAIL: VMCS guest HLT state with SS.DPL=%d", guest.sregs[BX_SEG_REG_SS].cache.dpl)); return VMX_VMEXIT_VMENTRY_FAILURE_GUEST_STATE; @@ -1696,6 +1696,13 @@ Bit32u BX_CPU_C::VMenterLoadCheckGuestState(Bit64u *qualification) return VMX_VMEXIT_VMENTRY_FAILURE_GUEST_STATE; } + if (guest.interruptibility_state & 0x3) { + if (guest.activity_state != BX_ACTIVITY_STATE_ACTIVE) { + BX_ERROR(("VMENTER FAIL: VMCS guest interruptibility state broken when entering non active CPU state %d", guest.activity_state)); + return VMX_VMEXIT_VMENTRY_FAILURE_GUEST_STATE; + } + } + if ((guest.interruptibility_state & BX_VMX_INTERRUPTS_BLOCKED_BY_STI) && (guest.interruptibility_state & BX_VMX_INTERRUPTS_BLOCKED_BY_MOV_SS)) { @@ -1713,13 +1720,13 @@ Bit32u BX_CPU_C::VMenterLoadCheckGuestState(Bit64u *qualification) if (VMENTRY_INJECTING_EVENT(vm->vmentry_interr_info)) { unsigned event_type = (vm->vmentry_interr_info >> 8) & 7; if (event_type == BX_EXTERNAL_INTERRUPT) { - if ((guest.interruptibility_state & 3) != 0 || (guest.rflags & EFlagsIFMask) == 0) { + if ((guest.interruptibility_state & 0x3) != 0 || (guest.rflags & EFlagsIFMask) == 0) { BX_ERROR(("VMENTER FAIL: VMCS guest interrupts blocked when injecting external interrupt")); return VMX_VMEXIT_VMENTRY_FAILURE_GUEST_STATE; } } if (event_type == BX_NMI) { - if ((guest.interruptibility_state & 3) != 0) { + if ((guest.interruptibility_state & 0x3) != 0) { BX_ERROR(("VMENTER FAIL: VMCS guest interrupts blocked when injecting NMI")); return VMX_VMEXIT_VMENTRY_FAILURE_GUEST_STATE; } @@ -1731,6 +1738,11 @@ Bit32u BX_CPU_C::VMenterLoadCheckGuestState(Bit64u *qualification) BX_ERROR(("VMENTER FAIL: VMCS SMM guest should block SMI")); return VMX_VMEXIT_VMENTRY_FAILURE_GUEST_STATE; } + + if (guest.activity_state == BX_ACTIVITY_STATE_WAIT_FOR_SIPI) { + BX_ERROR(("VMENTER FAIL: The activity state must not indicate the wait-for-SIPI state if entering to SMM guest")); + return VMX_VMEXIT_VMENTRY_FAILURE_GUEST_STATE; + } } if (guest.interruptibility_state & BX_VMX_INTERRUPTS_BLOCKED_SMI_BLOCKED) { @@ -1900,13 +1912,11 @@ Bit32u BX_CPU_C::VMenterLoadCheckGuestState(Bit64u *qualification) mask_event(BX_EVENT_NMI); } - if (vm->vmexec_ctrls2 & VMX_VM_EXEC_CTRL2_NMI_WINDOW_EXITING) { + if (vm->vmexec_ctrls2 & VMX_VM_EXEC_CTRL2_NMI_WINDOW_EXITING) signal_event(BX_EVENT_VMX_VIRTUAL_NMI); - } - if (vm->vmexec_ctrls2 & VMX_VM_EXEC_CTRL2_INTERRUPT_WINDOW_VMEXIT) { + if (vm->vmexec_ctrls2 & VMX_VM_EXEC_CTRL2_INTERRUPT_WINDOW_VMEXIT) signal_event(BX_EVENT_VMX_INTERRUPT_WINDOW_EXITING); - } handleCpuContextChange(); @@ -1916,6 +1926,9 @@ Bit32u BX_CPU_C::VMenterLoadCheckGuestState(Bit64u *qualification) BX_INSTR_TLB_CNTRL(BX_CPU_ID, BX_INSTR_CONTEXT_SWITCH, 0); + if (guest.activity_state) + enter_sleep_state(guest.activity_state); + return VMXERR_NO_ERROR; } @@ -2145,6 +2158,12 @@ void BX_CPU_C::VMexitSaveGuestState(void) Bit32u tmpDR6 = BX_CPU_THIS_PTR debug_trap & 0x0000400f; if (tmpDR6 & 0xf) tmpDR6 |= (1 << 12); VMwrite_natural(VMCS_GUEST_PENDING_DBG_EXCEPTIONS, tmpDR6); + + // effectively wakeup from MWAIT state on VMEXIT + if (BX_CPU_THIS_PTR activity_state >= BX_VMX_LAST_ACTIVITY_STATE) + VMwrite32(VMCS_32BIT_GUEST_ACTIVITY_STATE, BX_ACTIVITY_STATE_ACTIVE); + else + VMwrite32(VMCS_32BIT_GUEST_ACTIVITY_STATE, BX_CPU_THIS_PTR activity_state); Bit32u interruptibility_state = 0; if (interrupts_inhibited(BX_INHIBIT_INTERRUPTS)) { @@ -2366,6 +2385,8 @@ void BX_CPU_C::VMexitLoadHostState(void) // Update lazy flags state setEFlagsOSZAPC(0); + BX_CPU_THIS_PTR activity_state = BX_ACTIVITY_STATE_ACTIVE; + handleCpuContextChange(); #if BX_SUPPORT_MONITOR_MWAIT @@ -2969,7 +2990,7 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::vmwrite(unsigned encoding, Bit64u val_64) else if(width == VMCS_FIELD_WIDTH_32BIT) { // the real hardware write access rights rotated if (encoding >= VMCS_32BIT_GUEST_ES_ACCESS_RIGHTS && encoding <= VMCS_32BIT_GUEST_TR_ACCESS_RIGHTS) - VMwrite16(encoding, vmx_from_ar_byte_wr(val_32)); + VMwrite32(encoding, vmx_from_ar_byte_wr(val_32)); else VMwrite32(encoding, val_32); } @@ -3025,7 +3046,7 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::vmwrite_shadow(unsigned encoding, Bit64u v else if(width == VMCS_FIELD_WIDTH_32BIT) { // the real hardware write access rights rotated if (encoding >= VMCS_32BIT_GUEST_ES_ACCESS_RIGHTS && encoding <= VMCS_32BIT_GUEST_TR_ACCESS_RIGHTS) - VMwrite16_Shadow(encoding, vmx_from_ar_byte_wr(val_32)); + VMwrite32_Shadow(encoding, vmx_from_ar_byte_wr(val_32)); else VMwrite32_Shadow(encoding, val_32); } diff --git a/bochs/cpu/vmx.h b/bochs/cpu/vmx.h index bde167a62..ba1e936f6 100644 --- a/bochs/cpu/vmx.h +++ b/bochs/cpu/vmx.h @@ -764,14 +764,6 @@ typedef struct bx_VMCS } VMCS_CACHE; -enum VMX_Activity_State { - BX_VMX_ACTIVE_STATE = 0, - BX_VMX_STATE_HLT, - BX_VMX_STATE_SHUTDOWN, - BX_VMX_STATE_WAIT_FOR_SIPI, - BX_VMX_LAST_ACTIVITY_STATE -}; - #define PIN_VMEXIT(ctrl) (BX_CPU_THIS_PTR vmcs.vmexec_ctrls1 & (ctrl)) #define VMEXIT(ctrl) (BX_CPU_THIS_PTR vmcs.vmexec_ctrls2 & (ctrl)) @@ -962,6 +954,8 @@ enum VMX_Activity_State { #define VMX_MISC_STORE_LMA_TO_X86_64_GUEST_VMENTRY_CONTROL (0) #endif +#define VMX_SUPPORT_VMENTER_TO_NON_ACTIVE_STATE ((1<<6) | (1<<7) | (1<<8)) + #define VMX_MISC_SUPPORT_VMWRITE_READ_ONLY_FIELDS (1<<29) //Rate to increase VMX preemtion timer @@ -969,6 +963,7 @@ enum VMX_Activity_State { #define VMX_MSR_MISC (VMX_MISC_PREEMPTION_TIMER_RATE | \ VMX_MISC_STORE_LMA_TO_X86_64_GUEST_VMENTRY_CONTROL | \ + VMX_SUPPORT_VMENTER_TO_NON_ACTIVE_STATE | \ (VMX_CR3_TARGET_MAX_CNT << 16) | \ (BX_SUPPORT_VMX_EXTENSION(BX_VMX_VMCS_SHADOWING) ? VMX_MISC_SUPPORT_VMWRITE_READ_ONLY_FIELDS : 0))