extracted tlb specific code to tlb.h; extracted xsave cpuid leaf function to base cpuid class

This commit is contained in:
Stanislav Shwartsman 2015-09-21 13:16:17 +00:00
parent 2232dd23d6
commit be4b73c6d2
30 changed files with 291 additions and 649 deletions

View File

@ -117,7 +117,7 @@ dbg_main.o: dbg_main.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/gui.h ../instrument/stubs/instrument.h ../param_names.h \
../cpu/cpu.h ../cpu/cpuid.h ../cpu/crregs.h ../cpu/descriptor.h \
../cpu/instr.h ../cpu/ia_opcodes.h ../cpu/lazy_flags.h ../cpu/icache.h \
../cpu/apic.h ../cpu/i387.h ../cpu/fpu/softfloat.h ../cpu/fpu/tag_w.h \
../cpu/tlb.h ../cpu/apic.h ../cpu/i387.h ../cpu/fpu/softfloat.h ../cpu/fpu/tag_w.h \
../cpu/fpu/status_w.h ../cpu/fpu/control_w.h ../cpu/xmm.h ../cpu/vmx.h \
../iodev/iodev.h ../plugin.h ../extplugin.h
linux.o: linux.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -125,7 +125,7 @@ linux.o: linux.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.
../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \
../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/cpuid.h \
../cpu/crregs.h ../cpu/descriptor.h ../cpu/instr.h ../cpu/ia_opcodes.h \
../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
../cpu/lazy_flags.h ../cpu/icache.h ../cpu/tlb.h ../cpu/apic.h ../cpu/i387.h \
../cpu/fpu/softfloat.h ../cpu/fpu/tag_w.h ../cpu/fpu/status_w.h \
../cpu/fpu/control_w.h ../cpu/xmm.h ../cpu/vmx.h
symbols.o: symbols.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
@ -133,6 +133,6 @@ symbols.o: symbols.@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/cpu.h \
../cpu/cpuid.h ../cpu/crregs.h ../cpu/descriptor.h ../cpu/instr.h \
../cpu/ia_opcodes.h ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h \
../cpu/i387.h ../cpu/fpu/softfloat.h ../cpu/fpu/tag_w.h \
../cpu/ia_opcodes.h ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/tlb.h \
../cpu/apic.h ../cpu/i387.h ../cpu/fpu/softfloat.h ../cpu/fpu/tag_w.h \
../cpu/fpu/status_w.h ../cpu/fpu/control_w.h ../cpu/xmm.h ../cpu/vmx.h

View File

@ -165,201 +165,201 @@ dist-clean: clean
../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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h
access2.o: access2.@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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
../iodev/iodev.h ../plugin.h ../extplugin.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
scalar_arith.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
scalar_arith.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
scalar_arith.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
scalar_arith.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
scalar_arith.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h cpustats.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.h stack.h ../disasm/disasm.h
disasm.o: disasm.@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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
fetchdecode.h fetchdecode_x87.h fetchdecode_sse.h fetchdecode_avx.h \
fetchdecode_xop.h fetchdecode_evex.h
@ -367,14 +367,14 @@ event.o: event.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.
../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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
../iodev/iodev.h ../plugin.h ../extplugin.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.h stack.h ../param_names.h ../iodev/iodev.h ../plugin.h \
../extplugin.h
@ -382,7 +382,7 @@ fetchdecode.o: fetchdecode.@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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.h stack.h fetchdecode.h fetchdecode_x87.h fetchdecode_sse.h \
fetchdecode_avx.h fetchdecode_xop.h fetchdecode_evex.h
@ -390,7 +390,7 @@ 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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.h stack.h fetchdecode.h fetchdecode_x87.h fetchdecode_sse.h \
fetchdecode_avx.h fetchdecode_xop.h fetchdecode_evex.h
@ -398,255 +398,255 @@ flag_ctrl.o: flag_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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.h stack.h
cpuid.o: 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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h ../param_names.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.h ../param_names.h generic_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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
cpustats.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
../param_names.h generic_cpuid.h cpustats.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
../iodev/iodev.h ../plugin.h ../extplugin.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
simd_int.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
cpustats.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 access.h \
cpuid.h crregs.h descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h \
cpuid.h crregs.h descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h \
apic.h i387.h fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h \
xmm.h vmx.h svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.h stack.h
sha.o: sha.@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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.h stack.h fpu/softfloat-compare.h fpu/softfloat.h simd_pfp.h \
simd_int.h
@ -654,103 +654,103 @@ 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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
cpustats.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h \
descriptor.h instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h \
fpu/softfloat.h fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h \
svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h \
../iodev/iodev.h ../plugin.h ../extplugin.h ../param_names.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 access.h cpuid.h crregs.h descriptor.h \
instr.h ia_opcodes.h lazy_flags.h icache.h apic.h i387.h fpu/softfloat.h \
instr.h ia_opcodes.h lazy_flags.h icache.h tlb.h apic.h i387.h fpu/softfloat.h \
fpu/tag_w.h fpu/status_w.h fpu/control_w.h xmm.h vmx.h svm.h stack.h

View File

@ -296,9 +296,8 @@ BX_CPU_C::system_read_byte(bx_address laddr)
{
Bit8u data;
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = LPFOf(laddr);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us read access
// from this CPL.
@ -402,9 +401,8 @@ BX_CPU_C::system_read_qword(bx_address laddr)
void BX_CPP_AttrRegparmN(2)
BX_CPU_C::system_write_byte(bx_address laddr, Bit8u data)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
Bit32u lpf = LPFOf(laddr);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us write access
// from this CPL.
@ -477,9 +475,8 @@ BX_CPU_C::system_write_dword(bx_address laddr, Bit32u data)
Bit8u* BX_CPP_AttrRegparmN(2)
BX_CPU_C::v2h_read_byte(bx_address laddr, bx_bool user)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = LPFOf(laddr);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us read access
// from this CPL.
@ -497,9 +494,8 @@ BX_CPU_C::v2h_read_byte(bx_address laddr, bx_bool user)
Bit8u* BX_CPP_AttrRegparmN(2)
BX_CPU_C::v2h_write_byte(bx_address laddr, bx_bool user)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = LPFOf(laddr);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf)
{
// See if the TLB entry privilege level allows us write access

View File

@ -29,9 +29,8 @@
void BX_CPP_AttrRegparmN(3)
BX_CPU_C::write_linear_byte(unsigned s, bx_address laddr, Bit8u data)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = LPFOf(laddr);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us write access
// from this CPL.
@ -169,9 +168,8 @@ BX_CPU_C::write_linear_xmmword(unsigned s, bx_address laddr, const BxPackedXmmRe
void BX_CPP_AttrRegparmN(3)
BX_CPU_C::write_linear_xmmword_aligned(unsigned s, bx_address laddr, const BxPackedXmmRegister *data)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = AlignedAccessLPFOf(laddr, 15);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us write access
// from this CPL.
@ -228,9 +226,8 @@ BX_CPU_C::write_linear_ymmword(unsigned s, bx_address laddr, const BxPackedYmmRe
void BX_CPP_AttrRegparmN(3)
BX_CPU_C::write_linear_ymmword_aligned(unsigned s, bx_address laddr, const BxPackedYmmRegister *data)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = AlignedAccessLPFOf(laddr, 31);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us write access
// from this CPL.
@ -289,9 +286,8 @@ BX_CPU_C::write_linear_zmmword(unsigned s, bx_address laddr, const BxPackedZmmRe
void BX_CPP_AttrRegparmN(3)
BX_CPU_C::write_linear_zmmword_aligned(unsigned s, bx_address laddr, const BxPackedZmmRegister *data)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = AlignedAccessLPFOf(laddr, 63);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us write access
// from this CPL.
@ -326,9 +322,8 @@ BX_CPU_C::read_linear_byte(unsigned s, bx_address laddr)
{
Bit8u data;
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = LPFOf(laddr);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us read access
// from this CPL.
@ -470,9 +465,8 @@ BX_CPU_C::read_linear_xmmword(unsigned s, bx_address laddr, BxPackedXmmRegister
void BX_CPP_AttrRegparmN(3)
BX_CPU_C::read_linear_xmmword_aligned(unsigned s, bx_address laddr, BxPackedXmmRegister *data)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = AlignedAccessLPFOf(laddr, 15);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us read access
// from this CPL.
@ -525,9 +519,8 @@ BX_CPU_C::read_linear_ymmword(unsigned s, bx_address laddr, BxPackedYmmRegister
void BX_CPP_AttrRegparmN(3)
BX_CPU_C::read_linear_ymmword_aligned(unsigned s, bx_address laddr, BxPackedYmmRegister *data)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = AlignedAccessLPFOf(laddr, 31);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us read access
// from this CPL.
@ -582,9 +575,8 @@ BX_CPU_C::read_linear_zmmword(unsigned s, bx_address laddr, BxPackedZmmRegister
void BX_CPP_AttrRegparmN(3)
BX_CPU_C::read_linear_zmmword_aligned(unsigned s, bx_address laddr, BxPackedZmmRegister *data)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = AlignedAccessLPFOf(laddr, 63);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us read access
// from this CPL.
@ -621,9 +613,8 @@ BX_CPU_C::read_linear_zmmword_aligned(unsigned s, bx_address laddr, BxPackedZmmR
BX_CPU_C::read_RMW_linear_byte(unsigned s, bx_address laddr)
{
Bit8u data;
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = LPFOf(laddr);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us write access
// from this CPL.
@ -922,9 +913,8 @@ BX_CPU_C::write_RMW_linear_qword(Bit64u val64)
void BX_CPU_C::read_RMW_linear_dqword_aligned_64(unsigned s, bx_address laddr, Bit64u *hi, Bit64u *lo)
{
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
bx_address lpf = AlignedAccessLPFOf(laddr, 15);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us write access
// from this CPL.

View File

@ -94,7 +94,7 @@ avx.o: avx.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h ../simd_int.h
avx_cvt.o: avx_cvt.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -102,7 +102,7 @@ avx_cvt.o: avx_cvt.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h
avx_fma.o: avx_fma.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -110,7 +110,7 @@ avx_fma.o: avx_fma.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h ../simd_pfp.h
avx_pfp.o: avx_pfp.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -118,7 +118,7 @@ avx_pfp.o: avx_pfp.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h \
../fpu/softfloat-compare.h ../fpu/softfloat.h ../simd_pfp.h \
@ -128,7 +128,7 @@ avx2.o: avx2.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h ../simd_int.h \
../simd_compare.h
@ -137,7 +137,7 @@ avx512.o: avx512.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h ../simd_int.h \
../simd_compare.h
@ -146,7 +146,7 @@ avx512_conflict.o: avx512_conflict.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h ../simd_int.h \
../scalar_arith.h
@ -155,7 +155,7 @@ avx512_cvt.o: avx512_cvt.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h ../simd_int.h
avx512_fma.o: avx512_fma.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -163,7 +163,7 @@ avx512_fma.o: avx512_fma.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h ../simd_int.h \
../simd_pfp.h
@ -172,7 +172,7 @@ avx512_mask16.o: avx512_mask16.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h
avx512_mask32.o: avx512_mask32.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
@ -180,7 +180,7 @@ avx512_mask32.o: avx512_mask32.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h
avx512_mask64.o: avx512_mask64.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
@ -188,7 +188,7 @@ avx512_mask64.o: avx512_mask64.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h
avx512_mask8.o: avx512_mask8.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
@ -196,7 +196,7 @@ avx512_mask8.o: avx512_mask8.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h
avx512_move.o: avx512_move.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -204,7 +204,7 @@ avx512_move.o: avx512_move.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h ../simd_int.h
avx512_pfp.o: avx512_pfp.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -212,7 +212,7 @@ avx512_pfp.o: avx512_pfp.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h \
../fpu/softfloat-compare.h ../fpu/softfloat.h ../simd_int.h \
@ -222,7 +222,7 @@ avx512_rcp14.o: avx512_rcp14.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h \
../fpu/softfloat-specialize.h ../fpu/softfloat.h \
@ -232,7 +232,7 @@ avx512_rsqrt14.o: avx512_rsqrt14.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h \
../fpu/softfloat-specialize.h ../fpu/softfloat.h \
@ -242,7 +242,7 @@ gather.o: gather.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h
tbm32.o: tbm32.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -250,7 +250,7 @@ tbm32.o: tbm32.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h \
../scalar_arith.h
@ -259,7 +259,7 @@ tbm64.o: tbm64.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h \
../scalar_arith.h
@ -268,7 +268,7 @@ xop.o: xop.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h ../stack.h ../simd_int.h \
../simd_compare.h

View File

@ -599,8 +599,7 @@ void BX_CPU_C::prefetch(void)
BX_CPU_THIS_PTR clear_RF();
bx_address lpf = LPFOf(laddr);
unsigned TLB_index = BX_TLB_INDEX_OF(lpf, 0);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[TLB_index];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
Bit8u *fetchPtr = 0;
if ((tlbEntry->lpf == lpf) && (tlbEntry->accessBits & (0x10 << USER_PL)) != 0) {

View File

@ -830,61 +830,7 @@ typedef struct
#include "descriptor.h"
#include "instr.h"
#include "lazy_flags.h"
// BX_TLB_SIZE: Number of entries in TLB
// BX_TLB_INDEX_OF(lpf): This macro is passed the linear page frame
// (top 20 bits of the linear address. It must map these bits to
// one of the TLB cache slots, given the size of BX_TLB_SIZE.
// There will be a many-to-one mapping to each TLB cache slot.
// When there are collisions, the old entry is overwritten with
// one for the newest access.
#define BX_TLB_SIZE 1024
#define BX_TLB_MASK ((BX_TLB_SIZE-1) << 12)
#define BX_TLB_INDEX_OF(lpf, len) ((((unsigned)(lpf) + (len)) & BX_TLB_MASK) >> 12)
typedef bx_ptr_equiv_t bx_hostpageaddr_t;
typedef struct {
bx_address lpf; // linear page frame
bx_phy_address ppf; // physical page frame
bx_hostpageaddr_t hostPageAddr;
Bit32u accessBits;
Bit32u lpf_mask; // linear address mask of the page size
#if BX_SUPPORT_MEMTYPE
Bit32u memtype; // keep it Bit32u for alignment
#endif
Bit32u get_memtype() const {
#if BX_SUPPORT_MEMTYPE
return memtype;
#else
return BX_MEMTYPE_UC;
#endif
}
} bx_TLB_entry;
#if BX_SUPPORT_X86_64
#define LPF_MASK BX_CONST64(0xfffffffffffff000)
#else
#define LPF_MASK (0xfffff000)
#endif
#if BX_PHY_ADDRESS_LONG
#define PPF_MASK BX_CONST64(0xfffffffffffff000)
#else
#define PPF_MASK (0xfffff000)
#endif
#define LPFOf(laddr) ((laddr) & LPF_MASK)
#define PPFOf(laddr) ((laddr) & PPF_MASK)
#define AlignedAccessLPFOf(laddr, alignment_mask) \
((laddr) & (LPF_MASK | (alignment_mask)))
#define PAGE_OFFSET(laddr) ((Bit32u)(laddr) & 0xfff)
#include "tlb.h"
#include "icache.h"
// general purpose register
@ -1395,8 +1341,6 @@ public: // for now...
#endif
} TLB;
#define BX_TLB_ENTRY_OF(lpf) (&BX_CPU_THIS_PTR TLB.entry[BX_TLB_INDEX_OF((lpf), 0)])
#if BX_CPU_LEVEL >= 6
struct {
Bit64u entry[4];

View File

@ -90,7 +90,7 @@ amd_k6_2_chomper.o: amd_k6_2_chomper.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h amd_k6_2_chomper.h
athlon64_clawhammer.o: athlon64_clawhammer.@CPP_SUFFIX@ ../../bochs.h \
@ -99,7 +99,7 @@ athlon64_clawhammer.o: athlon64_clawhammer.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h athlon64_clawhammer.h \
../../cpu/cpuid.h
athlon64_venice.o: athlon64_venice.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
@ -107,7 +107,7 @@ athlon64_venice.o: athlon64_venice.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h athlon64_venice.h ../../cpu/cpuid.h
atom_n270.o: atom_n270.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -115,7 +115,7 @@ atom_n270.o: atom_n270.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../../param_names.h atom_n270.h \
../../cpu/cpuid.h
@ -124,7 +124,7 @@ core2_penryn_t9600.o: core2_penryn_t9600.@CPP_SUFFIX@ ../../bochs.h ../../config
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h ../../param_names.h core2_penryn_t9600.h \
../../cpu/cpuid.h
@ -134,7 +134,7 @@ core_duo_t2400_yonah.o: core_duo_t2400_yonah.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h ../../param_names.h \
core_duo_t2400_yonah.h ../../cpu/cpuid.h
corei5_arrandale_m520.o: corei5_arrandale_m520.@CPP_SUFFIX@ ../../bochs.h \
@ -143,7 +143,7 @@ corei5_arrandale_m520.o: corei5_arrandale_m520.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h ../../param_names.h \
corei5_arrandale_m520.h ../../cpu/cpuid.h
corei5_lynnfield_750.o: corei5_lynnfield_750.@CPP_SUFFIX@ ../../bochs.h \
@ -152,7 +152,7 @@ corei5_lynnfield_750.o: corei5_lynnfield_750.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h ../../param_names.h \
corei5_lynnfield_750.h ../../cpu/cpuid.h
broadwell_ult.o: broadwell_ult.@CPP_SUFFIX@ ../../bochs.h \
@ -161,7 +161,7 @@ broadwell_ult.o: broadwell_ult.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h ../../param_names.h \
broadwell_ult.h
corei7_haswell_4770.o: corei7_haswell_4770.@CPP_SUFFIX@ ../../bochs.h \
@ -170,7 +170,7 @@ corei7_haswell_4770.o: corei7_haswell_4770.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h ../../param_names.h \
corei7_haswell_4770.h
corei7_ivy_bridge_3770K.o: corei7_ivy_bridge_3770K.@CPP_SUFFIX@ ../../bochs.h \
@ -179,7 +179,7 @@ corei7_ivy_bridge_3770K.o: corei7_ivy_bridge_3770K.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h ../../param_names.h \
corei7_ivy_bridge_3770K.h
corei7_sandy_bridge_2600K.o: corei7_sandy_bridge_2600K.@CPP_SUFFIX@ ../../bochs.h \
@ -188,7 +188,7 @@ corei7_sandy_bridge_2600K.o: corei7_sandy_bridge_2600K.@CPP_SUFFIX@ ../../bochs.
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h ../../param_names.h \
corei7_sandy_bridge_2600K.h
p2_klamath.o: p2_klamath.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -196,7 +196,7 @@ p2_klamath.o: p2_klamath.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h p2_klamath.h ../../cpu/cpuid.h
p3_katmai.o: p3_katmai.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -204,7 +204,7 @@ p3_katmai.o: p3_katmai.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h p3_katmai.h ../../cpu/cpuid.h
p4_prescott_celeron_336.o: p4_prescott_celeron_336.@CPP_SUFFIX@ ../../bochs.h \
@ -213,7 +213,7 @@ p4_prescott_celeron_336.o: p4_prescott_celeron_336.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h p4_prescott_celeron_336.h \
../../cpu/cpuid.h
p4_willamette.o: p4_willamette.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
@ -221,7 +221,7 @@ p4_willamette.o: p4_willamette.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h p4_willamette.h ../../cpu/cpuid.h
pentium.o: pentium.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -229,7 +229,7 @@ pentium.o: pentium.@CPP_SUFFIX@ ../../bochs.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 ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h pentium.h
pentium_mmx.o: pentium_mmx.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
@ -237,7 +237,7 @@ pentium_mmx.o: pentium_mmx.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h pentium_mmx.h
zambezi.o: zambezi.@CPP_SUFFIX@ ../../bochs.h \
@ -246,7 +246,7 @@ zambezi.o: zambezi.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h zambezi.h \
../../cpu/cpuid.h
trinity_apu.o: trinity_apu.@CPP_SUFFIX@ ../../bochs.h \
@ -255,7 +255,7 @@ trinity_apu.o: trinity_apu.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h trinity_apu.h \
../../cpu/cpuid.h
phenomx3_8650_toliman.o: phenomx3_8650_toliman.@CPP_SUFFIX@ ../../bochs.h \
@ -264,7 +264,7 @@ phenomx3_8650_toliman.o: phenomx3_8650_toliman.@CPP_SUFFIX@ ../../bochs.h \
../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../access.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 \
../icache.h ../tlb.h ../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../xmm.h phenomx3_8650_toliman.h \
../../cpu/cpuid.h
turion64_tyler.o: turion64_tyler.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
@ -272,6 +272,6 @@ turion64_tyler.o: turion64_tyler.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h ../crregs.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../xmm.h turion64_tyler.h ../../cpu/cpuid.h

View File

@ -636,46 +636,7 @@ void broadwell_ult_t::get_std_cpuid_leaf_A(cpuid_function_t *leaf) const
// leaf 0x0000000C reserved //
// leaf 0x0000000D //
void broadwell_ult_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const
{
switch(subfunction) {
case 0:
// EAX - valid bits of XCR0 (lower part)
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = cpu->xcr0_suppmask;
leaf->ebx = 512+64;
if (cpu->xcr0.get_YMM())
leaf->ebx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
leaf->ecx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
leaf->edx = 0;
return;
case 1:
leaf->eax = 1; /* XSAVEOPT supported */
leaf->ebx = 0;
leaf->ecx = 0;
leaf->edx = 0;
return;
case 2: // YMM leaf
leaf->eax = XSAVE_YMM_STATE_LEN;
leaf->ebx = XSAVE_YMM_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
return;
default:
break;
}
leaf->eax = 0; // reserved
leaf->ebx = 0; // reserved
leaf->ecx = 0; // reserved
leaf->edx = 0; // reserved
}
// leaf 0x0000000D - XSAVE //
// leaf 0x80000000 //
void broadwell_ult_t::get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const

View File

@ -53,7 +53,6 @@ private:
void get_std_cpuid_leaf_6(cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_7(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_A(cpuid_function_t *leaf) const;
void get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_1(cpuid_function_t *leaf) const;

View File

@ -492,30 +492,7 @@ void core2_penryn_t9600_t::get_std_cpuid_leaf_A(cpuid_function_t *leaf) const
// leaf 0x0000000B not supported //
// leaf 0x0000000C reserved //
// leaf 0x0000000D //
void core2_penryn_t9600_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const
{
switch(subfunction) {
case 0:
// EAX - valid bits of XCR0 (lower part)
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = 3;
leaf->ebx = 512+64;
leaf->ecx = 512+64;
leaf->edx = 0;
return;
default:
break;
}
leaf->eax = 0; // reserved
leaf->ebx = 0; // reserved
leaf->ecx = 0; // reserved
leaf->edx = 0; // reserved
}
// leaf 0x0000000D - XSAVE //
// leaf 0x80000000 //
void core2_penryn_t9600_t::get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const

View File

@ -52,7 +52,6 @@ private:
void get_std_cpuid_leaf_5(cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_6(cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_A(cpuid_function_t *leaf) const;
void get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_1(cpuid_function_t *leaf) const;

View File

@ -587,46 +587,7 @@ void corei7_haswell_4770_t::get_std_cpuid_leaf_A(cpuid_function_t *leaf) const
// leaf 0x0000000C reserved //
// leaf 0x0000000D //
void corei7_haswell_4770_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const
{
switch(subfunction) {
case 0:
// EAX - valid bits of XCR0 (lower part)
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = cpu->xcr0_suppmask;
leaf->ebx = 512+64;
if (cpu->xcr0.get_YMM())
leaf->ebx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
leaf->ecx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
leaf->edx = 0;
return;
case 1:
leaf->eax = 1; /* XSAVEOPT supported */
leaf->ebx = 0;
leaf->ecx = 0;
leaf->edx = 0;
return;
case 2: // YMM leaf
leaf->eax = XSAVE_YMM_STATE_LEN;
leaf->ebx = XSAVE_YMM_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
return;
default:
break;
}
leaf->eax = 0; // reserved
leaf->ebx = 0; // reserved
leaf->ecx = 0; // reserved
leaf->edx = 0; // reserved
}
// leaf 0x0000000D - XSAVE //
// leaf 0x80000000 //
void corei7_haswell_4770_t::get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const

View File

@ -53,7 +53,6 @@ private:
void get_std_cpuid_leaf_6(cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_7(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_A(cpuid_function_t *leaf) const;
void get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_1(cpuid_function_t *leaf) const;

View File

@ -583,46 +583,7 @@ void corei7_ivy_bridge_3770k_t::get_std_cpuid_leaf_A(cpuid_function_t *leaf) con
// leaf 0x0000000C reserved //
// leaf 0x0000000D //
void corei7_ivy_bridge_3770k_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const
{
switch(subfunction) {
case 0:
// EAX - valid bits of XCR0 (lower part)
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = cpu->xcr0_suppmask;
leaf->ebx = 512+64;
if (cpu->xcr0.get_YMM())
leaf->ebx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
leaf->ecx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
leaf->edx = 0;
return;
case 1:
leaf->eax = 1; /* XSAVEOPT supported */
leaf->ebx = 0;
leaf->ecx = 0;
leaf->edx = 0;
return;
case 2: // YMM leaf
leaf->eax = XSAVE_YMM_STATE_LEN;
leaf->ebx = XSAVE_YMM_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
return;
default:
break;
}
leaf->eax = 0; // reserved
leaf->ebx = 0; // reserved
leaf->ecx = 0; // reserved
leaf->edx = 0; // reserved
}
// leaf 0x0000000D - XSAVE //
// leaf 0x80000000 //
void corei7_ivy_bridge_3770k_t::get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const

View File

@ -53,7 +53,6 @@ private:
void get_std_cpuid_leaf_6(cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_7(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_A(cpuid_function_t *leaf) const;
void get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_1(cpuid_function_t *leaf) const;

View File

@ -538,56 +538,7 @@ void corei7_sandy_bridge_2600k_t::get_std_cpuid_leaf_A(cpuid_function_t *leaf) c
// leaf 0x0000000C reserved //
// leaf 0x0000000D //
void corei7_sandy_bridge_2600k_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const
{
switch(subfunction) {
case 0:
// EAX - valid bits of XCR0 (lower part)
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = cpu->xcr0_suppmask;
leaf->ebx = 512+64;
#if BX_SUPPORT_AVX
if (cpu->xcr0.get_YMM())
leaf->ebx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
#endif
leaf->ecx = 512+64;
#if BX_SUPPORT_AVX
leaf->ecx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
#endif
leaf->edx = 0;
return;
case 1:
leaf->eax = 1; /* XSAVEOPT supported */
leaf->ebx = 0;
leaf->ecx = 0;
leaf->edx = 0;
return;
#if BX_SUPPORT_AVX
case 2: // YMM leaf
leaf->eax = XSAVE_YMM_STATE_LEN;
leaf->ebx = XSAVE_YMM_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
return;
#endif
default:
break;
}
leaf->eax = 0; // reserved
leaf->ebx = 0; // reserved
leaf->ecx = 0; // reserved
leaf->edx = 0; // reserved
}
// leaf 0x0000000D - XSAVE //
// leaf 0x80000000 //
void corei7_sandy_bridge_2600k_t::get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const

View File

@ -52,7 +52,6 @@ private:
void get_std_cpuid_leaf_5(cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_6(cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_A(cpuid_function_t *leaf) const;
void get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_1(cpuid_function_t *leaf) const;

View File

@ -427,45 +427,7 @@ void trinity_apu_t::get_std_cpuid_leaf_7(Bit32u subfunction, cpuid_function_t *l
}
}
// leaf 0x0000000D //
void trinity_apu_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const
{
switch(subfunction) {
// EAX - valid bits of XCR0 (lower part)
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = cpu->xcr0_suppmask;
leaf->ebx = 512+64;
if (cpu->xcr0.get_YMM())
leaf->ebx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
leaf->ecx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
leaf->edx = 0;
return;
case 1:
leaf->eax = 0; /* XSAVEOPT not supported */
leaf->ebx = 0;
leaf->ecx = 0;
leaf->edx = 0;
return;
case 2: // YMM leaf
leaf->eax = XSAVE_YMM_STATE_LEN;
leaf->ebx = XSAVE_YMM_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
return;
default:
break;
}
leaf->eax = 0; // reserved
leaf->ebx = 0; // reserved
leaf->ecx = 0; // reserved
leaf->edx = 0; // reserved
}
// leaf 0x0000000D - XSAVE //
// leaf 0x80000000 //
void trinity_apu_t::get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const

View File

@ -52,7 +52,6 @@ private:
#endif
void get_std_cpuid_leaf_6(cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_7(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_1(cpuid_function_t *leaf) const;

View File

@ -380,45 +380,7 @@ void zambezi_t::get_std_cpuid_leaf_6(cpuid_function_t *leaf) const
leaf->edx = 0x00000000;
}
// leaf 0x0000000D //
void zambezi_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const
{
switch(subfunction) {
// EAX - valid bits of XCR0 (lower part)
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = cpu->xcr0_suppmask;
leaf->ebx = 512+64;
if (cpu->xcr0.get_YMM())
leaf->ebx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
leaf->ecx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
leaf->edx = 0;
return;
case 1:
leaf->eax = 0; /* XSAVEOPT not supported */
leaf->ebx = 0;
leaf->ecx = 0;
leaf->edx = 0;
return;
case 2: // YMM leaf
leaf->eax = XSAVE_YMM_STATE_LEN;
leaf->ebx = XSAVE_YMM_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
return;
default:
break;
}
leaf->eax = 0; // reserved
leaf->ebx = 0; // reserved
leaf->ecx = 0; // reserved
leaf->edx = 0; // reserved
}
// leaf 0x0000000D - XSAVE //
// leaf 0x80000000 //
void zambezi_t::get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const

View File

@ -51,7 +51,6 @@ private:
void get_std_cpuid_leaf_5(cpuid_function_t *leaf) const;
#endif
void get_std_cpuid_leaf_6(cpuid_function_t *leaf) const;
void get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_1(cpuid_function_t *leaf) const;

View File

@ -143,6 +143,116 @@ void bx_cpuid_t::get_std_cpuid_extended_topology_leaf(Bit32u subfunction, cpuid_
#endif
#if BX_CPU_LEVEL >= 6
void bx_cpuid_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const
{
leaf->eax = 0;
leaf->ebx = 0;
leaf->ecx = 0;
leaf->edx = 0;
if (is_cpu_extension_supported(BX_ISA_XSAVE))
{
switch(subfunction) {
case 0:
// EAX - valid bits of XCR0 (lower part)
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = cpu->xcr0_suppmask;
leaf->ebx = 512+64;
#if BX_SUPPORT_AVX
if (cpu->xcr0.get_YMM())
leaf->ebx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
#endif
#if BX_SUPPORT_EVEX
if (cpu->xcr0.get_OPMASK())
leaf->ebx = XSAVE_OPMASK_STATE_OFFSET + XSAVE_OPMASK_STATE_LEN;
if (cpu->xcr0.get_ZMM_HI256())
leaf->ebx = XSAVE_ZMM_HI256_STATE_OFFSET + XSAVE_ZMM_HI256_STATE_LEN;
if (cpu->xcr0.get_HI_ZMM())
leaf->ebx = XSAVE_HI_ZMM_STATE_OFFSET + XSAVE_HI_ZMM_STATE_LEN;
#endif
leaf->ecx = 512+64;
#if BX_SUPPORT_AVX
if (cpu->xcr0_suppmask & BX_XCR0_YMM_MASK)
leaf->ecx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
#endif
#if BX_SUPPORT_EVEX
if (cpu->xcr0_suppmask & BX_XCR0_OPMASK_MASK)
leaf->ecx = XSAVE_OPMASK_STATE_OFFSET + XSAVE_OPMASK_STATE_LEN;
if (cpu->xcr0_suppmask & BX_XCR0_ZMM_HI256_MASK)
leaf->ecx = XSAVE_ZMM_HI256_STATE_OFFSET + XSAVE_ZMM_HI256_STATE_LEN;
if (cpu->xcr0_suppmask & BX_XCR0_HI_ZMM_MASK)
leaf->ecx = XSAVE_HI_ZMM_STATE_OFFSET + XSAVE_HI_ZMM_STATE_LEN;
#endif
leaf->edx = 0;
break;
case 1:
// EAX[0] - support for the XSAVEOPT instruction
// EAX[1] - support for compaction extensions to the XSAVE feature set
// EAX[2] - support for execution of XGETBV with ECX = 1
// EAX[3] - support for XSAVES, XRSTORS, and the IA32_XSS MSR (not implemented yet)
leaf->eax = 0;
if (is_cpu_extension_supported(BX_ISA_XSAVEOPT))
leaf->eax |= 0x1;
if (is_cpu_extension_supported(BX_ISA_XSAVEC))
leaf->eax |= (1<<1) | (1<<2);
leaf->ebx = 0;
leaf->ecx = 0;
leaf->edx = 0;
break;
#if BX_SUPPORT_AVX
case 2: // YMM leaf
if (cpu->xcr0_suppmask & BX_XCR0_YMM_MASK) {
leaf->eax = XSAVE_YMM_STATE_LEN;
leaf->ebx = XSAVE_YMM_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
}
break;
#endif
case 3: // MPX leafs (BNDREGS, BNDCFG)
case 4:
break;
#if BX_SUPPORT_EVEX
case 5: // OPMASK leaf
if (cpu->xcr0_suppmask & BX_XCR0_OPMASK_MASK) {
leaf->eax = XSAVE_OPMASK_STATE_LEN;
leaf->ebx = XSAVE_OPMASK_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
}
break;
case 6: // ZMM Hi256 leaf
if (cpu->xcr0_suppmask & BX_XCR0_ZMM_HI256_MASK) {
leaf->eax = XSAVE_ZMM_HI256_STATE_LEN;
leaf->ebx = XSAVE_ZMM_HI256_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
}
break;
case 7: // HI_ZMM leaf
if (cpu->xcr0_suppmask & BX_XCR0_HI_ZMM_MASK) {
leaf->eax = XSAVE_HI_ZMM_STATE_LEN;
leaf->ebx = XSAVE_HI_ZMM_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
}
break;
#endif
}
}
}
#endif
void bx_cpuid_t::get_leaf_0(unsigned max_leaf, const char *vendor_string, cpuid_function_t *leaf) const
{
// EAX: highest function understood by CPUID

View File

@ -194,6 +194,10 @@ protected:
void get_std_cpuid_extended_topology_leaf(Bit32u subfunction, cpuid_function_t *leaf) const;
#endif
#if BX_CPU_LEVEL >= 6
void get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const;
#endif
BX_CPP_INLINE void get_reserved_leaf(cpuid_function_t *leaf) const
{
leaf->eax = 0;

View File

@ -82,7 +82,7 @@ ferr.o: ferr.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h \
../crregs.h ../descriptor.h ../instr.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../xmm.h ../vmx.h ../stack.h softfloat-specialize.h \
@ -98,7 +98,7 @@ fpu_arith.o: fpu_arith.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h \
../crregs.h ../descriptor.h ../instr.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../xmm.h ../vmx.h ../stack.h softfloatx80.h \
@ -109,7 +109,7 @@ fpu.o: fpu.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h \
../crregs.h ../descriptor.h ../instr.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../xmm.h ../vmx.h ../stack.h ../../iodev/iodev.h \
@ -121,7 +121,7 @@ fpu_cmov.o: fpu_cmov.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h \
../crregs.h ../descriptor.h ../instr.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../xmm.h ../vmx.h ../stack.h
@ -131,7 +131,7 @@ fpu_compare.o: fpu_compare.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h \
../crregs.h ../descriptor.h ../instr.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../xmm.h ../vmx.h ../stack.h softfloatx80.h \
@ -142,7 +142,7 @@ fpu_const.o: fpu_const.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h \
../crregs.h ../descriptor.h ../instr.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../xmm.h ../vmx.h ../stack.h softfloatx80.h \
@ -153,7 +153,7 @@ fpu_load_store.o: fpu_load_store.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h \
../crregs.h ../descriptor.h ../instr.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../xmm.h ../vmx.h ../stack.h softfloatx80.h \
@ -164,7 +164,7 @@ fpu_misc.o: fpu_misc.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h \
../crregs.h ../descriptor.h ../instr.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../xmm.h ../vmx.h ../stack.h softfloatx80.h \
@ -175,7 +175,7 @@ fpu_trans.o: fpu_trans.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
../../instrument/stubs/instrument.h ../cpu.h ../access.h ../cpuid.h \
../crregs.h ../descriptor.h ../instr.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h \
../ia_opcodes.h ../lazy_flags.h ../icache.h ../tlb.h \
../apic.h ../i387.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../xmm.h ../vmx.h ../stack.h softfloatx80.h \

View File

@ -350,110 +350,7 @@ void bx_generic_cpuid_t::get_std_cpuid_leaf_A(cpuid_function_t *leaf) const
// leaf 0x0000000C - reserved //
// leaf 0x0000000D //
void bx_generic_cpuid_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const
{
leaf->eax = 0;
leaf->ebx = 0;
leaf->ecx = 0;
leaf->edx = 0;
if (BX_CPUID_SUPPORT_ISA_EXTENSION(BX_ISA_XSAVE))
{
switch(subfunction) {
case 0:
// EAX - valid bits of XCR0 (lower part)
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = cpu->xcr0_suppmask;
leaf->ebx = 512+64;
#if BX_SUPPORT_AVX
if (cpu->xcr0.get_YMM())
leaf->ebx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
#endif
#if BX_SUPPORT_EVEX
if (cpu->xcr0.get_OPMASK())
leaf->ebx = XSAVE_OPMASK_STATE_OFFSET + XSAVE_OPMASK_STATE_LEN;
if (cpu->xcr0.get_ZMM_HI256())
leaf->ebx = XSAVE_ZMM_HI256_STATE_OFFSET + XSAVE_ZMM_HI256_STATE_LEN;
if (cpu->xcr0.get_HI_ZMM())
leaf->ebx = XSAVE_HI_ZMM_STATE_OFFSET + XSAVE_HI_ZMM_STATE_LEN;
#endif
leaf->ecx = 512+64;
#if BX_SUPPORT_AVX
if (cpu->xcr0_suppmask & BX_XCR0_YMM_MASK)
leaf->ecx = XSAVE_YMM_STATE_OFFSET + XSAVE_YMM_STATE_LEN;
#endif
#if BX_SUPPORT_EVEX
if (cpu->xcr0_suppmask & BX_XCR0_OPMASK_MASK)
leaf->ecx = XSAVE_OPMASK_STATE_OFFSET + XSAVE_OPMASK_STATE_LEN;
if (cpu->xcr0_suppmask & BX_XCR0_ZMM_HI256_MASK)
leaf->ecx = XSAVE_ZMM_HI256_STATE_OFFSET + XSAVE_ZMM_HI256_STATE_LEN;
if (cpu->xcr0_suppmask & BX_XCR0_HI_ZMM_MASK)
leaf->ecx = XSAVE_HI_ZMM_STATE_OFFSET + XSAVE_HI_ZMM_STATE_LEN;
#endif
leaf->edx = 0;
break;
case 1:
// EAX[0] - support for the XSAVEOPT instruction
// EAX[1] - support for compaction extensions to the XSAVE feature set
// EAX[2] - support for execution of XGETBV with ECX = 1
// EAX[3] - support for XSAVES, XRSTORS, and the IA32_XSS MSR
leaf->eax = 0;
if (BX_CPUID_SUPPORT_ISA_EXTENSION(BX_ISA_XSAVEOPT))
leaf->eax |= 0x1;
if (BX_CPUID_SUPPORT_ISA_EXTENSION(BX_ISA_XSAVEC))
leaf->eax |= (1<<1) | (1<<2);
leaf->ebx = 0;
leaf->ecx = 0;
leaf->edx = 0;
break;
#if BX_SUPPORT_AVX
case 2: // YMM leaf
if (cpu->xcr0_suppmask & BX_XCR0_YMM_MASK) {
leaf->eax = XSAVE_YMM_STATE_LEN;
leaf->ebx = XSAVE_YMM_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
}
break;
#endif
#if BX_SUPPORT_EVEX
case 5: // OPMASK leaf
if (cpu->xcr0_suppmask & BX_XCR0_OPMASK_MASK) {
leaf->eax = XSAVE_OPMASK_STATE_LEN;
leaf->ebx = XSAVE_OPMASK_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
}
break;
case 6: // ZMM Hi256 leaf
if (cpu->xcr0_suppmask & BX_XCR0_ZMM_HI256_MASK) {
leaf->eax = XSAVE_ZMM_HI256_STATE_LEN;
leaf->ebx = XSAVE_ZMM_HI256_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
}
break;
case 7: // HI_ZMM leaf
if (cpu->xcr0_suppmask & BX_XCR0_HI_ZMM_MASK) {
leaf->eax = XSAVE_HI_ZMM_STATE_LEN;
leaf->ebx = XSAVE_HI_ZMM_STATE_OFFSET;
leaf->ecx = 0;
leaf->edx = 0;
}
break;
#endif
}
}
}
// leaf 0x0000000D - XSAVE //
// leaf 0x80000000 //
void bx_generic_cpuid_t::get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const

View File

@ -75,7 +75,6 @@ private:
void get_std_cpuid_leaf_6(cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_7(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_std_cpuid_leaf_A(cpuid_function_t *leaf) const;
void get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const;
void get_ext_cpuid_leaf_1(cpuid_function_t *leaf) const;

View File

@ -225,12 +225,6 @@
// - Processor running at CPL=0,1,2 maps to U/S=0
// Processor running at CPL=3 maps to U/S=1
#if BX_SUPPORT_X86_64
#define BX_INVALID_TLB_ENTRY BX_CONST64(0xffffffffffffffff)
#else
#define BX_INVALID_TLB_ENTRY 0xffffffff
#endif
// bit [11] of the TLB lpf used for TLB_NoHostPtr valid indication
#define TLB_LPFOf(laddr) AlignedAccessLPFOf(laddr, 0x7ff)
@ -352,9 +346,8 @@ void BX_CPU_C::TLB_flush(void)
invalidate_stack_cache();
for (unsigned n=0; n<BX_TLB_SIZE; n++) {
BX_CPU_THIS_PTR TLB.entry[n].lpf = BX_INVALID_TLB_ENTRY;
BX_CPU_THIS_PTR TLB.entry[n].accessBits = 0;
for (unsigned n=0; n < BX_TLB_SIZE; n++) {
BX_CPU_THIS_PTR TLB.entry[n].invalidate();
}
#if BX_CPU_LEVEL >= 5
@ -383,8 +376,7 @@ void BX_CPU_C::TLB_flushNonGlobal(void)
for (unsigned n=0; n<BX_TLB_SIZE; n++) {
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[n];
if (!(tlbEntry->accessBits & TLB_GlobalPage)) {
tlbEntry->lpf = BX_INVALID_TLB_ENTRY;
tlbEntry->accessBits = 0;
tlbEntry->invalidate();
}
else {
lpf_mask |= tlbEntry->lpf_mask;
@ -421,8 +413,7 @@ void BX_CPU_C::TLB_invlpg(bx_address laddr)
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[n];
bx_address entry_lpf_mask = tlbEntry->lpf_mask;
if ((laddr & ~entry_lpf_mask) == (tlbEntry->lpf & ~entry_lpf_mask)) {
tlbEntry->lpf = BX_INVALID_TLB_ENTRY;
tlbEntry->accessBits = 0;
tlbEntry->invalidate();
}
else {
lpf_mask |= entry_lpf_mask;
@ -435,12 +426,10 @@ void BX_CPU_C::TLB_invlpg(bx_address laddr)
else
#endif
{
unsigned TLB_index = BX_TLB_INDEX_OF(laddr, 0);
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
bx_address lpf = LPFOf(laddr);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[TLB_index];
if (TLB_LPFOf(tlbEntry->lpf) == lpf) {
tlbEntry->lpf = BX_INVALID_TLB_ENTRY;
tlbEntry->accessBits = 0;
tlbEntry->invalidate();
}
}
@ -1959,19 +1948,6 @@ bx_bool BX_CPU_C::dbg_xlate_linear2phy(bx_address laddr, bx_phy_address *phy, bx
else {
bx_phy_address pt_address = BX_CPU_THIS_PTR cr3 & BX_CR3_PAGING_MASK;
// see if page is in the TLB first
if (! verbose) {
bx_address lpf = LPFOf(laddr);
unsigned TLB_index = BX_TLB_INDEX_OF(lpf, 0);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[TLB_index];
if (TLB_LPFOf(tlbEntry->lpf) == lpf) {
paddress = tlbEntry->ppf | PAGE_OFFSET(laddr);
*phy = paddress;
return 1;
}
}
#if BX_CPU_LEVEL >= 6
if (BX_CPU_THIS_PTR cr4.get_PAE()) {
Bit64u offset_mask = BX_CONST64(0x0000ffffffffffff);

View File

@ -107,9 +107,8 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::stackPrefetch(bx_address offset, unsigned
}
}
unsigned tlbIndex = BX_TLB_INDEX_OF(laddr, 0);
Bit64u lpf = LPFOf(laddr);
bx_TLB_entry *tlbEntry = &BX_CPU_THIS_PTR TLB.entry[tlbIndex];
bx_TLB_entry *tlbEntry = BX_TLB_ENTRY_OF(laddr);
if (tlbEntry->lpf == lpf) {
// See if the TLB entry privilege level allows us write access from this CPL
// Assuming that we always can read if write access is OK

View File

@ -72,7 +72,7 @@ memory.o: memory.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../gui/paramtree.h ../memory/memory.h ../pc_system.h ../gui/gui.h \
../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/cpuid.h \
../cpu/crregs.h ../cpu/descriptor.h ../cpu/instr.h ../cpu/ia_opcodes.h \
../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
../cpu/lazy_flags.h ../cpu/icache.h ../cpu/tlb.h ../cpu/apic.h ../cpu/i387.h \
../cpu/fpu/softfloat.h ../cpu/fpu/tag_w.h ../cpu/fpu/status_w.h \
../cpu/fpu/control_w.h ../cpu/xmm.h ../cpu/vmx.h ../iodev/iodev.h \
../plugin.h ../extplugin.h ../param_names.h
@ -81,7 +81,7 @@ misc_mem.o: misc_mem.@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 ../param_names.h \
../cpu/cpu.h ../cpu/cpuid.h ../cpu/crregs.h ../cpu/descriptor.h \
../cpu/instr.h ../cpu/ia_opcodes.h ../cpu/lazy_flags.h ../cpu/icache.h \
../cpu/instr.h ../cpu/ia_opcodes.h ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/tlb.h \
../cpu/apic.h ../cpu/i387.h ../cpu/fpu/softfloat.h ../cpu/fpu/tag_w.h \
../cpu/fpu/status_w.h ../cpu/fpu/control_w.h ../cpu/xmm.h ../cpu/vmx.h \
../iodev/iodev.h ../plugin.h ../extplugin.h