Full Code of lubomyr/bochs for AI

master 8e0b9abcd81c cached
748 files
16.2 MB
4.3M tokens
4493 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (17,081K chars total). Download the full file to get everything.
Repository: lubomyr/bochs
Branch: master
Commit: 8e0b9abcd81c
Files: 748
Total size: 16.2 MB

Directory structure:
gitextract_9ij8sc69/

├── .bochsrc
├── .conf.amigaos
├── .conf.everything
├── .conf.linux
├── .conf.macos
├── .conf.macosx
├── .conf.nothing
├── .conf.sparc
├── .conf.win32-cygwin
├── .conf.win32-vcpp
├── .conf.win64-cross-mingw32
├── .conf.win64-vcpp
├── CHANGES
├── COPYING
├── LICENSE
├── Makefile.in
├── PARAM_TREE.txt
├── README
├── README-wxWidgets
├── TESTFORM.txt
├── TODO
├── aclocal.m4
├── bios/
│   ├── BIOS-bochs-latest
│   ├── BIOS-bochs-legacy
│   ├── Makefile.in
│   ├── SeaBIOS-README
│   ├── SeaVGABIOS-README
│   ├── VGABIOS-elpin-2.40
│   ├── VGABIOS-elpin-LICENSE
│   ├── VGABIOS-lgpl-README
│   ├── VGABIOS-lgpl-latest
│   ├── VGABIOS-lgpl-latest-banshee
│   ├── VGABIOS-lgpl-latest-cirrus
│   ├── VGABIOS-lgpl-latest-cirrus-debug
│   ├── VGABIOS-lgpl-latest-debug
│   ├── acpi-dsdt.dsl
│   ├── acpi-dsdt.hex
│   ├── apmbios.S
│   ├── bios.bin-1.13.0
│   ├── bios_usage
│   ├── biossums.c
│   ├── makesym.perl
│   ├── notes
│   ├── rombios.c
│   ├── rombios.h
│   ├── rombios32.c
│   ├── rombios32.ld
│   ├── rombios32start.S
│   ├── usage.cc
│   └── vgabios-cirrus.bin-1.13.0
├── bochs.h
├── build/
│   ├── android/
│   │   ├── How_to_Build.txt
│   │   ├── bochs/
│   │   │   ├── AndroidAppSettings.cfg
│   │   │   └── AndroidBuild.sh
│   │   ├── build-all.sh
│   │   ├── build-core.sh
│   │   └── build-ui.sh
│   ├── batch-build.perl
│   ├── linux/
│   │   ├── README.linux-binary
│   │   └── bochs-dlx.in
│   ├── macos/
│   │   ├── CWPro3_project.sit
│   │   ├── bochs.rsrc
│   │   └── macos_defines.h
│   ├── macosx/
│   │   ├── Info.plist.in
│   │   ├── README.macosx-binary
│   │   ├── bochs-icn.icns
│   │   ├── bochs.applescript
│   │   ├── bochs.r
│   │   ├── diskimage.pl
│   │   ├── make-dmg.sh
│   │   ├── pbdevelopment.plist
│   │   ├── script.data
│   │   └── script.r
│   ├── makeall.sh
│   ├── redhat/
│   │   ├── NOTES
│   │   ├── bochs.rpmspec.template
│   │   └── make-rpm
│   └── win32/
│       ├── README.win32-binary
│       ├── bochs.manifest
│       ├── cc2cpp
│       ├── cpp2cc
│       ├── diffcc2cpp
│       └── nsis/
│           ├── Makefile.in
│           └── bochs.nsi.in
├── bx_debug/
│   ├── Makefile.in
│   ├── dbg_breakpoints.cc
│   ├── dbg_main.cc
│   ├── debug.h
│   ├── lexer.c
│   ├── lexer.l
│   ├── linux.cc
│   ├── make-syscalls-linux.pl
│   ├── parser.cc
│   ├── parser.h
│   ├── parser.y
│   ├── symbols.cc
│   └── syscalls-linux.h
├── bxdisasm.cc
├── bxthread.cc
├── bxthread.h
├── bxversion.h.in
├── bxversion.rc.in
├── config.cc
├── config.guess
├── config.h.in
├── config.sub
├── configure
├── configure.in
├── cpu/
│   ├── 3dnow.cc
│   ├── Makefile.in
│   ├── access.cc
│   ├── access.h
│   ├── access2.cc
│   ├── aes.cc
│   ├── apic.cc
│   ├── apic.h
│   ├── arith16.cc
│   ├── arith32.cc
│   ├── arith64.cc
│   ├── arith8.cc
│   ├── avx/
│   │   ├── Makefile.in
│   │   ├── avx.cc
│   │   ├── avx2.cc
│   │   ├── avx512.cc
│   │   ├── avx512_bitalg.cc
│   │   ├── avx512_broadcast.cc
│   │   ├── avx512_cvt.cc
│   │   ├── avx512_fma.cc
│   │   ├── avx512_mask16.cc
│   │   ├── avx512_mask32.cc
│   │   ├── avx512_mask64.cc
│   │   ├── avx512_mask8.cc
│   │   ├── avx512_move.cc
│   │   ├── avx512_pfp.cc
│   │   ├── avx512_rcp14.cc
│   │   ├── avx512_rsqrt14.cc
│   │   ├── avx_cvt.cc
│   │   ├── avx_fma.cc
│   │   ├── avx_pfp.cc
│   │   ├── gather.cc
│   │   ├── tbm32.cc
│   │   ├── tbm64.cc
│   │   ├── vnni.cc
│   │   └── xop.cc
│   ├── bcd.cc
│   ├── bit.cc
│   ├── bit16.cc
│   ├── bit32.cc
│   ├── bit64.cc
│   ├── bmi32.cc
│   ├── bmi64.cc
│   ├── call_far.cc
│   ├── cet.cc
│   ├── cpu.cc
│   ├── cpu.h
│   ├── cpudb/
│   │   ├── Makefile.in
│   │   ├── amd/
│   │   │   ├── amd_k6_2_chomper.cc
│   │   │   ├── amd_k6_2_chomper.h
│   │   │   ├── amd_k6_2_chomper.txt
│   │   │   ├── athlon64_clawhammer.cc
│   │   │   ├── athlon64_clawhammer.h
│   │   │   ├── athlon64_clawhammer.txt
│   │   │   ├── athlon64_venice.cc
│   │   │   ├── athlon64_venice.h
│   │   │   ├── athlon64_venice.txt
│   │   │   ├── phenomx3_8650_toliman.cc
│   │   │   ├── phenomx3_8650_toliman.h
│   │   │   ├── phenomx3_8650_toliman.txt
│   │   │   ├── ryzen.cc
│   │   │   ├── ryzen.h
│   │   │   ├── ryzen.txt
│   │   │   ├── trinity_apu.cc
│   │   │   ├── trinity_apu.h
│   │   │   ├── trinity_apu.txt
│   │   │   ├── turion64_tyler.cc
│   │   │   ├── turion64_tyler.h
│   │   │   ├── turion64_tyler.txt
│   │   │   ├── zambezi.cc
│   │   │   ├── zambezi.h
│   │   │   └── zambezi.txt
│   │   └── intel/
│   │       ├── atom_n270.cc
│   │       ├── atom_n270.h
│   │       ├── atom_n270.txt
│   │       ├── broadwell_ult.cc
│   │       ├── broadwell_ult.h
│   │       ├── broadwell_ult.txt
│   │       ├── core2_penryn_t9600.cc
│   │       ├── core2_penryn_t9600.h
│   │       ├── core2_penryn_t9600.txt
│   │       ├── core_duo_t2400_yonah.cc
│   │       ├── core_duo_t2400_yonah.h
│   │       ├── core_duo_t2400_yonah.txt
│   │       ├── corei3_cnl.cc
│   │       ├── corei3_cnl.h
│   │       ├── corei3_cnl.txt
│   │       ├── corei5_arrandale_m520.cc
│   │       ├── corei5_arrandale_m520.h
│   │       ├── corei5_arrandale_m520.txt
│   │       ├── corei5_lynnfield_750.cc
│   │       ├── corei5_lynnfield_750.h
│   │       ├── corei5_lynnfield_750.txt
│   │       ├── corei7_haswell_4770.cc
│   │       ├── corei7_haswell_4770.h
│   │       ├── corei7_haswell_4770.txt
│   │       ├── corei7_icelake-u.cc
│   │       ├── corei7_icelake-u.h
│   │       ├── corei7_icelake-u.txt
│   │       ├── corei7_ivy_bridge_3770K.cc
│   │       ├── corei7_ivy_bridge_3770K.h
│   │       ├── corei7_ivy_bridge_3770K.txt
│   │       ├── corei7_sandy_bridge_2600K.cc
│   │       ├── corei7_sandy_bridge_2600K.h
│   │       ├── corei7_sandy_bridge_2600K.txt
│   │       ├── corei7_skylake-x.cc
│   │       ├── corei7_skylake-x.h
│   │       ├── corei7_skylake-x.txt
│   │       ├── p2_klamath.cc
│   │       ├── p2_klamath.h
│   │       ├── p2_klamath.txt
│   │       ├── p3_katmai.cc
│   │       ├── p3_katmai.h
│   │       ├── p3_katmai.txt
│   │       ├── p4_prescott_celeron_336.cc
│   │       ├── p4_prescott_celeron_336.h
│   │       ├── p4_prescott_celeron_336.txt
│   │       ├── p4_willamette.cc
│   │       ├── p4_willamette.h
│   │       ├── p4_willamette.txt
│   │       ├── pentium.cc
│   │       ├── pentium.h
│   │       ├── pentium.txt
│   │       ├── pentium_mmx.cc
│   │       ├── pentium_mmx.h
│   │       ├── pentium_mmx.txt
│   │       ├── tigerlake.cc
│   │       ├── tigerlake.h
│   │       └── tigerlake.txt
│   ├── cpuid.cc
│   ├── cpuid.h
│   ├── cpustats.h
│   ├── crc32.cc
│   ├── crregs.cc
│   ├── crregs.h
│   ├── ctrl_xfer16.cc
│   ├── ctrl_xfer32.cc
│   ├── ctrl_xfer64.cc
│   ├── ctrl_xfer_pro.cc
│   ├── data_xfer16.cc
│   ├── data_xfer32.cc
│   ├── data_xfer64.cc
│   ├── data_xfer8.cc
│   ├── debugstuff.cc
│   ├── decoder/
│   │   ├── decoder.h
│   │   ├── disasm.cc
│   │   ├── fetchdecode.h
│   │   ├── fetchdecode32.cc
│   │   ├── fetchdecode64.cc
│   │   ├── fetchdecode_avx.h
│   │   ├── fetchdecode_evex.h
│   │   ├── fetchdecode_opmap.h
│   │   ├── fetchdecode_opmap_0f38.h
│   │   ├── fetchdecode_opmap_0f3a.h
│   │   ├── fetchdecode_x87.h
│   │   ├── fetchdecode_xop.h
│   │   ├── ia_opcodes.def
│   │   ├── ia_opcodes.h
│   │   └── instr.h
│   ├── descriptor.h
│   ├── event.cc
│   ├── exception.cc
│   ├── faststring.cc
│   ├── flag_ctrl.cc
│   ├── flag_ctrl_pro.cc
│   ├── fpu/
│   │   ├── Makefile.in
│   │   ├── control_w.h
│   │   ├── f2xm1.cc
│   │   ├── ferr.cc
│   │   ├── fpatan.cc
│   │   ├── fprem.cc
│   │   ├── fpu.cc
│   │   ├── fpu_arith.cc
│   │   ├── fpu_cmov.cc
│   │   ├── fpu_compare.cc
│   │   ├── fpu_const.cc
│   │   ├── fpu_constant.h
│   │   ├── fpu_load_store.cc
│   │   ├── fpu_misc.cc
│   │   ├── fpu_trans.cc
│   │   ├── fsincos.cc
│   │   ├── fyl2x.cc
│   │   ├── poly.cc
│   │   ├── softfloat-compare.h
│   │   ├── softfloat-macros.h
│   │   ├── softfloat-muladd.cc
│   │   ├── softfloat-round-pack.cc
│   │   ├── softfloat-round-pack.h
│   │   ├── softfloat-specialize.cc
│   │   ├── softfloat-specialize.h
│   │   ├── softfloat.cc
│   │   ├── softfloat.h
│   │   ├── softfloat16.cc
│   │   ├── softfloatx80.cc
│   │   ├── softfloatx80.h
│   │   ├── status_w.h
│   │   ├── tag_w.h
│   │   └── todo
│   ├── fpu_emu.cc
│   ├── generic_cpuid.cc
│   ├── generic_cpuid.h
│   ├── gf2.cc
│   ├── i387.h
│   ├── icache.cc
│   ├── icache.h
│   ├── init.cc
│   ├── io.cc
│   ├── iret.cc
│   ├── jmp_far.cc
│   ├── lazy_flags.h
│   ├── load.cc
│   ├── logical16.cc
│   ├── logical32.cc
│   ├── logical64.cc
│   ├── logical8.cc
│   ├── mmx.cc
│   ├── msr.cc
│   ├── msr.h
│   ├── mult16.cc
│   ├── mult32.cc
│   ├── mult64.cc
│   ├── mult8.cc
│   ├── mwait.cc
│   ├── paging.cc
│   ├── proc_ctrl.cc
│   ├── protect_ctrl.cc
│   ├── rdrand.cc
│   ├── ret_far.cc
│   ├── scalar_arith.h
│   ├── segment_ctrl.cc
│   ├── segment_ctrl_pro.cc
│   ├── sha.cc
│   ├── shift16.cc
│   ├── shift32.cc
│   ├── shift64.cc
│   ├── shift8.cc
│   ├── simd_compare.h
│   ├── simd_int.h
│   ├── simd_pfp.h
│   ├── smm.cc
│   ├── smm.h
│   ├── soft_int.cc
│   ├── sse.cc
│   ├── sse_move.cc
│   ├── sse_pfp.cc
│   ├── sse_rcp.cc
│   ├── sse_string.cc
│   ├── stack.cc
│   ├── stack.h
│   ├── stack16.cc
│   ├── stack32.cc
│   ├── stack64.cc
│   ├── string.cc
│   ├── svm.cc
│   ├── svm.h
│   ├── tasking.cc
│   ├── tlb.h
│   ├── todo
│   ├── vapic.cc
│   ├── vm8086.cc
│   ├── vmcs.cc
│   ├── vmexit.cc
│   ├── vmfunc.cc
│   ├── vmx.cc
│   ├── vmx.h
│   ├── wide_int.cc
│   ├── wide_int.h
│   ├── xmm.h
│   └── xsave.cc
├── cpudb.h
├── crc.cc
├── doc/
│   ├── docbook/
│   │   ├── Makefile.in
│   │   ├── README
│   │   ├── development/
│   │   │   └── development.dbk
│   │   ├── documentation/
│   │   │   └── documentation.dbk
│   │   ├── fixtitles.pl
│   │   ├── include/
│   │   │   ├── defs.sgm
│   │   │   └── docbook-utils.dsl
│   │   ├── index.html
│   │   ├── misc.txt
│   │   ├── outline.txt
│   │   └── user/
│   │       └── user.dbk
│   └── man/
│       ├── bochs-dlx.1
│       ├── bochs.1
│       ├── bochsrc.5
│       └── bximage.1
├── docs-html/
│   ├── 00README
│   ├── bxdebugger.html
│   ├── cpu_configurability.txt
│   ├── memory.txt
│   └── random.txt
├── extplugin.h
├── gdbstub.cc
├── gui/
│   ├── Makefile.in
│   ├── amigagui.h
│   ├── amigaos.cc
│   ├── bitmaps/
│   │   ├── cdromd.h
│   │   ├── cdromd.xpm
│   │   ├── configbutton.h
│   │   ├── configbutton.xpm
│   │   ├── copy.h
│   │   ├── copy.xpm
│   │   ├── floppya.h
│   │   ├── floppya.xpm
│   │   ├── floppyb.h
│   │   ├── floppyb.xpm
│   │   ├── mouse.h
│   │   ├── mouse.xpm
│   │   ├── paste.h
│   │   ├── paste.xpm
│   │   ├── power.h
│   │   ├── power.xpm
│   │   ├── reset.h
│   │   ├── reset.xpm
│   │   ├── saverestore.h
│   │   ├── saverestore.xpm
│   │   ├── snapshot.h
│   │   ├── snapshot.xpm
│   │   ├── userbutton.h
│   │   └── userbutton.xpm
│   ├── carbon.cc
│   ├── enh_dbg.cc
│   ├── enh_dbg.h
│   ├── font/
│   │   └── vga.bitmap.h
│   ├── gtk_enh_dbg_osdep.cc
│   ├── gui.cc
│   ├── gui.h
│   ├── icon_bochs.h
│   ├── icon_bochs.xpm
│   ├── keymap.cc
│   ├── keymap.h
│   ├── macintosh.cc
│   ├── nogui.cc
│   ├── paramtree.cc
│   ├── paramtree.h
│   ├── rfb.cc
│   ├── rfb.h
│   ├── rfbkeys.h
│   ├── scrollwin.cc
│   ├── scrollwin.h
│   ├── sdl.cc
│   ├── sdl.h
│   ├── sdl2.cc
│   ├── sdlkeys.h
│   ├── siminterface.cc
│   ├── siminterface.h
│   ├── term.cc
│   ├── textconfig.cc
│   ├── vncsrv.cc
│   ├── wenhdbg_res.h
│   ├── win32.cc
│   ├── win32_enh_dbg_osdep.cc
│   ├── win32config.cc
│   ├── win32dialog.h
│   ├── win32paramdlg.cc
│   ├── win32paramdlg.h
│   ├── win32res.h
│   ├── wx.cc
│   ├── wxdialog.cc
│   ├── wxdialog.h
│   ├── wxmain.cc
│   ├── wxmain.h
│   └── x.cc
├── host/
│   └── linux/
│       └── pcidev/
│           ├── Make.kbuild
│           ├── Makefile.in
│           ├── kernel_pcidev.h
│           └── pcidev.c
├── install-sh
├── instrument/
│   ├── example0/
│   │   ├── Makefile.in
│   │   ├── instrument.cc
│   │   └── instrument.h
│   ├── example1/
│   │   ├── Makefile.in
│   │   ├── instrument.cc
│   │   └── instrument.h
│   ├── example2/
│   │   ├── Makefile.in
│   │   ├── instrument.cc
│   │   └── instrument.h
│   ├── instrumentation.txt
│   └── stubs/
│       ├── Makefile.in
│       ├── instrument.cc
│       └── instrument.h
├── iodev/
│   ├── Makefile.in
│   ├── acpi.cc
│   ├── acpi.h
│   ├── biosdev.cc
│   ├── biosdev.h
│   ├── busmouse.cc
│   ├── busmouse.h
│   ├── cmos.cc
│   ├── cmos.h
│   ├── devices.cc
│   ├── devices.txt
│   ├── display/
│   │   ├── Makefile.in
│   │   ├── banshee.cc
│   │   ├── bitblt.h
│   │   ├── ddc.cc
│   │   ├── ddc.h
│   │   ├── svga_cirrus.cc
│   │   ├── svga_cirrus.h
│   │   ├── vga.cc
│   │   ├── vga.h
│   │   ├── vgacore.cc
│   │   ├── vgacore.h
│   │   ├── voodoo.cc
│   │   ├── voodoo.h
│   │   ├── voodoo_data.h
│   │   ├── voodoo_func.h
│   │   ├── voodoo_main.h
│   │   └── voodoo_types.h
│   ├── dma.cc
│   ├── dma.h
│   ├── extfpuirq.cc
│   ├── extfpuirq.h
│   ├── floppy.cc
│   ├── floppy.h
│   ├── gameport.cc
│   ├── gameport.h
│   ├── harddrv.cc
│   ├── harddrv.h
│   ├── hdimage/
│   │   ├── Makefile.in
│   │   ├── cdrom.cc
│   │   ├── cdrom.h
│   │   ├── cdrom_amigaos.cc
│   │   ├── cdrom_amigaos.h
│   │   ├── cdrom_misc.cc
│   │   ├── cdrom_misc.h
│   │   ├── cdrom_osx.cc
│   │   ├── cdrom_osx.h
│   │   ├── cdrom_win32.cc
│   │   ├── cdrom_win32.h
│   │   ├── hdimage.cc
│   │   ├── hdimage.cc.orig
│   │   ├── hdimage.h
│   │   ├── scsi_commands.h
│   │   ├── vbox.cc
│   │   ├── vbox.h
│   │   ├── vmware3.cc
│   │   ├── vmware3.h
│   │   ├── vmware4.cc
│   │   ├── vmware4.h
│   │   ├── vpc.cc
│   │   ├── vpc.h
│   │   ├── vvfat.cc
│   │   └── vvfat.h
│   ├── hpet.cc
│   ├── hpet.h
│   ├── ioapic.cc
│   ├── ioapic.h
│   ├── iodebug.cc
│   ├── iodebug.h
│   ├── iodev.h
│   ├── keyboard.cc
│   ├── keyboard.h
│   ├── network/
│   │   ├── Makefile.in
│   │   ├── e1000.cc
│   │   ├── e1000.h
│   │   ├── eth_fbsd.cc
│   │   ├── eth_linux.cc
│   │   ├── eth_null.cc
│   │   ├── eth_slirp.cc
│   │   ├── eth_socket.cc
│   │   ├── eth_tap.cc
│   │   ├── eth_tuntap.cc
│   │   ├── eth_vde.cc
│   │   ├── eth_vnet.cc
│   │   ├── eth_win32.cc
│   │   ├── ne2k.cc
│   │   ├── ne2k.h
│   │   ├── netmod.cc
│   │   ├── netmod.h
│   │   ├── netutil.cc
│   │   ├── netutil.h
│   │   ├── pcipnic.cc
│   │   ├── pcipnic.h
│   │   ├── pnic_api.h
│   │   └── slirp/
│   │       ├── COPYRIGHT
│   │       ├── arp_table.cc
│   │       ├── bootp.cc
│   │       ├── bootp.h
│   │       ├── cksum.cc
│   │       ├── compat.cc
│   │       ├── compat.h
│   │       ├── debug.h
│   │       ├── dnssearch.cc
│   │       ├── if.cc
│   │       ├── if.h
│   │       ├── ip.h
│   │       ├── ip_icmp.cc
│   │       ├── ip_icmp.h
│   │       ├── ip_input.cc
│   │       ├── ip_output.cc
│   │       ├── libslirp.h
│   │       ├── main.h
│   │       ├── mbuf.cc
│   │       ├── mbuf.h
│   │       ├── misc.cc
│   │       ├── misc.h
│   │       ├── sbuf.cc
│   │       ├── sbuf.h
│   │       ├── slirp.cc
│   │       ├── slirp.h
│   │       ├── slirp_config.h
│   │       ├── socket.cc
│   │       ├── socket.h
│   │       ├── tcp.h
│   │       ├── tcp_input.cc
│   │       ├── tcp_output.cc
│   │       ├── tcp_subr.cc
│   │       ├── tcp_timer.cc
│   │       ├── tcp_timer.h
│   │       ├── tcp_var.h
│   │       ├── tcpip.h
│   │       ├── tftp.cc
│   │       ├── tftp.h
│   │       ├── udp.cc
│   │       └── udp.h
│   ├── parallel.cc
│   ├── parallel.h
│   ├── pci.cc
│   ├── pci.h
│   ├── pci2isa.cc
│   ├── pci2isa.h
│   ├── pci_ide.cc
│   ├── pci_ide.h
│   ├── pcidev.cc
│   ├── pcidev.h
│   ├── pic.cc
│   ├── pic.h
│   ├── pit.cc
│   ├── pit.h
│   ├── pit82c54.cc
│   ├── pit82c54.h
│   ├── scancodes.cc
│   ├── scancodes.h
│   ├── serial.cc
│   ├── serial.h
│   ├── serial_raw.cc
│   ├── serial_raw.h
│   ├── slowdown_timer.cc
│   ├── slowdown_timer.h
│   ├── sound/
│   │   ├── Makefile.in
│   │   ├── es1370.cc
│   │   ├── es1370.h
│   │   ├── opl.cc
│   │   ├── opl.h
│   │   ├── sb16.cc
│   │   ├── sb16.h
│   │   ├── soundalsa.cc
│   │   ├── soundalsa.h
│   │   ├── sounddummy.cc
│   │   ├── soundfile.cc
│   │   ├── soundfile.h
│   │   ├── soundlow.cc
│   │   ├── soundlow.h
│   │   ├── soundmod.cc
│   │   ├── soundmod.h
│   │   ├── soundoss.cc
│   │   ├── soundoss.h
│   │   ├── soundosx.cc
│   │   ├── soundosx.h
│   │   ├── soundsdl.cc
│   │   ├── soundsdl.h
│   │   ├── soundwin.cc
│   │   └── soundwin.h
│   ├── speaker.cc
│   ├── speaker.h
│   ├── unmapped.cc
│   ├── unmapped.h
│   ├── usb/
│   │   ├── Makefile.in
│   │   ├── scsi_device.cc
│   │   ├── scsi_device.h
│   │   ├── uhci_core.cc
│   │   ├── uhci_core.h
│   │   ├── usb_common.cc
│   │   ├── usb_common.h
│   │   ├── usb_ehci.cc
│   │   ├── usb_ehci.h
│   │   ├── usb_floppy.cc
│   │   ├── usb_floppy.h
│   │   ├── usb_hid.cc
│   │   ├── usb_hid.h
│   │   ├── usb_hub.cc
│   │   ├── usb_hub.h
│   │   ├── usb_msd.cc
│   │   ├── usb_msd.h
│   │   ├── usb_ohci.cc
│   │   ├── usb_ohci.h
│   │   ├── usb_pcap.cc
│   │   ├── usb_pcap.h
│   │   ├── usb_printer.cc
│   │   ├── usb_printer.h
│   │   ├── usb_uhci.cc
│   │   ├── usb_uhci.h
│   │   ├── usb_xhci.cc
│   │   └── usb_xhci.h
│   ├── virt_timer.cc
│   └── virt_timer.h
├── logio.cc
├── logio.h
├── ltdl-bochs.h
├── ltdl.c
├── ltdlconf.h.in
├── ltmain.sh
├── main.cc
├── memory/
│   ├── Makefile.in
│   ├── memory-bochs.h
│   ├── memory.cc
│   └── misc_mem.cc
├── misc/
│   ├── Makefile.in
│   ├── bswap.h
│   ├── bxcompat.h
│   ├── bxhub.cc
│   ├── bximage.cc
│   ├── make_cmos_image.cc
│   ├── niclist.c
│   ├── sb16/
│   │   ├── sb16ctrl.c
│   │   └── sb16ctrl.example
│   ├── slirp.conf
│   ├── spoolpipe.c
│   ├── test-access-check.cc
│   └── vnet.conf
├── msrs.def
├── osdep.cc
├── osdep.h
├── param_names.h
├── patches/
│   ├── HEADER
│   ├── NOTES
│   ├── bochs-bios-win32.diff
│   ├── patch.example-override-ask
│   ├── patch.example-user-plugin
│   ├── patch.example-vdisk-dll
│   └── patch.hosttime-port
├── pc_system.cc
├── pc_system.h
├── plugin.cc
├── plugin.h
├── qemu-queue.h
├── win32_enh_dbg.rc
├── win32res.rc
└── wxbochs.rc

================================================
FILE CONTENTS
================================================

================================================
FILE: .bochsrc
================================================
# You may now use double quotes around pathnames, in case
# your pathname includes spaces.

#=======================================================================
# PLUGIN_CTRL:
# Controls the presence of optional device plugins. These plugins are loaded
# directly with this option and some of them install a config option that is
# only available when the plugin device is loaded. The value "1" means to load
# the plugin and "0" will unload it (if loaded before).
#
# These plugins will be loaded by default (if present): 'biosdev', 'extfpuirq',
# 'gameport', 'iodebug','parallel', 'serial', 'speaker' and 'unmapped'.
#
# These plugins are also supported, but they are usually loaded directly with
# their bochsrc option: 'e1000', 'es1370', 'ne2k', 'pcidev', 'pcipnic', 'sb16',
# 'usb_ehci', 'usb_ohci', 'usb_uhci', 'usb_xhci' and 'voodoo'.
#=======================================================================
#plugin_ctrl: unmapped=0, e1000=1 # unload 'unmapped' and load 'e1000'

#=======================================================================
# CONFIG_INTERFACE
#
# The configuration interface is a series of menus or dialog boxes that
# allows you to change all the settings that control Bochs's behavior.
# Depending on the platform there are up to 3 choices of configuration
# interface: a text mode version called "textconfig" and two graphical versions
# called "win32config" and "wx".  The text mode version uses stdin/stdout or
# gui console (if available / runtime config) and is always compiled in, unless
# Bochs is compiled for wx only. The choice "win32config" is only available on
# win32/win64 and it is the default on these platforms. The choice "wx" is only
# available when Bochs is compiled with wxWidgets support.  If you do not write
# a config_interface line, Bochs will choose a default for you.
#
# NOTE: if you use the "wx" configuration interface, you must also use
# the "wx" display library.
#=======================================================================
#config_interface: textconfig
#config_interface: win32config
#config_interface: wx

#=======================================================================
# DISPLAY_LIBRARY
#
# The display library is the code that displays the Bochs VGA screen.  Bochs 
# has a selection of about 10 different display library implementations for 
# different platforms.  If you run configure with multiple --with-* options, 
# the display_library command lets you choose which one you want to run with.
# If you do not write a display_library line, Bochs will choose a default for
# you.
#
# The choices are: 
#   x              use X windows interface, cross platform
#   win32          use native win32 libraries
#   carbon         use Carbon library (for MacOS X)
#   macintosh      use MacOS pre-10
#   amigaos        use native AmigaOS libraries
#   sdl            use SDL 1.2.x library, cross platform
#   sdl2           use SDL 2.x library, cross platform
#   term           text only, uses curses/ncurses library, cross platform
#   rfb            provides an interface to AT&T's VNC viewer, cross platform
#   vncsrv         use LibVNCServer for extended RFB(VNC) support
#   wx             use wxWidgets library, cross platform
#   nogui          no display at all
#
# NOTE: if you use the "wx" configuration interface, you must also use
# the "wx" display library.
#
# Specific options:
# Some display libraries now support specific options to control their
# behaviour. These options are supported by more than one display library:
#
# "cmdmode"     - call a headerbar button handler after pressing F7 (sdl, sdl2,
#                 win32, x)
# "fullscreen"  - startup in fullscreen mode (sdl, sdl2)
# "gui_debug"   - use GTK debugger gui (sdl, sdl2, x) / Win32 debugger gui (sdl,
#                 sdl2, win32)
# "hideIPS"     - disable IPS output in status bar (rfb, sdl, sdl2, term, vncsrv,
#                 win32, wx, x)
# "nokeyrepeat" - turn off host keyboard repeat (sdl, sdl2, win32, x)
# "no_gui_console" - use system console instead of builtin gui console
#                    (rfb, sdl, sdl2, vncsrv, x)
# "timeout"     - time (in seconds) to wait for client (rfb, vncsrv)
#
# See the examples below for other currently supported options.
# Setting up options without specifying display library is also supported.
#=======================================================================
#display_library: amigaos
#display_library: carbon
#display_library: macintosh
#display_library: nogui
#display_library: rfb
#display_library: sdl
#display_library: sdl2
#display_library: term
#display_library: vncsrv
# "traphotkeys" - system hotkeys not handled by host OS, but sent to guest
#                 (win32 in mouse capture and fullscreen mode: alt-tab, win,
#                 alt-space, alt-esc, ctrl-esc)
# "autoscale"   - scale small simulation window by factor 2, 4 or 8 depending
#                 on desktop window size
#display_library: win32, options="traphotkeys, autoscale"
#display_library: wx
#display_library: x

#=======================================================================
# CPU:
# This defines cpu-related parameters inside Bochs:
#
#  MODEL:
#    Selects CPU configuration to emulate from pre-defined list of all
#    supported configurations. When this option is used and the value
#    is different from 'bx_generic', the parameters of the CPUID option
#    have no effect anymore.
#
#  CPU configurations that can be selected:
# -----------------------------------------------------------------
#  pentium                    Intel Pentium (P54C)
#  pentium_mmx                Intel Pentium MMX
#  amd_k6_2_chomper           AMD-K6(tm) 3D processor (Chomper)
#  p2_klamath                 Intel Pentium II (Klamath)
#  p3_katmai                  Intel Pentium III (Katmai)
#  p4_willamette              Intel(R) Pentium(R) 4 (Willamette)
#  core_duo_t2400_yonah       Intel(R) Core(TM) Duo CPU T2400 (Yonah)
#  atom_n270                  Intel(R) Atom(TM) CPU N270
#  p4_prescott_celeron_336    Intel(R) Celeron(R) 336 (Prescott)
#  athlon64_clawhammer        AMD Athlon(tm) 64 Processor 2800+ (Clawhammer)
#  athlon64_venice            AMD Athlon(tm) 64 Processor 3000+ (Venice)
#  turion64_tyler             AMD Turion(tm) 64 X2 Mobile TL-60 (Tyler)
#  phenom_8650_toliman        AMD Phenom X3 8650 (Toliman)
#  core2_penryn_t9600         Intel Mobile Core 2 Duo T9600 (Penryn)
#  corei5_lynnfield_750       Intel(R) Core(TM) i5   750 (Lynnfield)
#  corei5_arrandale_m520      Intel(R) Core(TM) i5 M 520 (Arrandale)
#  corei7_sandy_bridge_2600k  Intel(R) Core(TM) i7-2600K (Sandy Bridge)
#  zambezi                    AMD FX(tm)-4100 Quad-Core Processor (Zambezi)
#  trinity_apu                AMD A8-5600K APU (Trinity)
#  ryzen                      AMD Ryzen 7 1700
#  corei7_ivy_bridge_3770k    Intel(R) Core(TM) i7-3770K CPU (Ivy Bridge)
#  corei7_haswell_4770        Intel(R) Core(TM) i7-4770 CPU (Haswell)
#  broadwell_ult              Intel(R) Processor 5Y70 CPU (Broadwell)
#
#  COUNT:
#    Set the number of processors:cores per processor:threads per core when
#    Bochs is compiled for SMP emulation. Bochs currently supports up to
#    14 threads (legacy APIC) or 254 threads (xAPIC or higher) running
#    simultaniosly. If Bochs is compiled without SMP support, it won't accept
#    values different from 1.
#
#  QUANTUM:
#    Maximum amount of instructions allowed to execute by processor before
#    returning control to another cpu. This option exists only in Bochs 
#    binary compiled with SMP support.
#
#  RESET_ON_TRIPLE_FAULT:
#    Reset the CPU when triple fault occur (highly recommended) rather than
#    PANIC. Remember that if you trying to continue after triple fault the 
#    simulation will be completely bogus !
#
#  CPUID_LIMIT_WINNT:
#    Determine whether to limit maximum CPUID function to 2. This mode is
#    required to workaround WinNT installation and boot issues.
#
#  MSRS:
#    Define path to user CPU Model Specific Registers (MSRs) specification.
#    See example in msrs.def.
#
#  IGNORE_BAD_MSRS:
#    Ignore MSR references that Bochs does not understand; print a warning
#    message instead of generating #GP exception. This option is enabled
#    by default but will not be available if configurable MSRs are enabled.
#
#  MWAIT_IS_NOP:
#    When this option is enabled MWAIT will not put the CPU into a sleep state.
#    This option exists only if Bochs compiled with --enable-monitor-mwait.
#
#  IPS:
#    Emulated Instructions Per Second. This is the number of IPS that bochs
#    is capable of running on your machine. You can recompile Bochs with
#    --enable-show-ips option enabled, to find your host's capability.
#    Measured IPS value will then be logged into your log file or shown
#    in the status bar (if supported by the gui).
#
#    IPS is used to calibrate many time-dependent events within the bochs 
#    simulation.  For example, changing IPS affects the frequency of VGA
#    updates, the duration of time before a key starts to autorepeat, and
#    the measurement of BogoMips and other benchmarks.
#
#  Examples:
#
#  Bochs Machine/Compiler                                 Mips
# ______________________________________________________________________
#  2.4.6 3.4Ghz Intel Core i7 2600 with Win7x64/g++ 4.5.2 85 to 95 Mips
#  2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4     50 to 55 Mips
#  2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4       38 to 43 Mips
#  2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4       21 to 25 Mips
#  2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4          12 to 15 Mips
#=======================================================================
cpu: model=core2_penryn_t9600, count=1, ips=50000000, reset_on_triple_fault=1, ignore_bad_msrs=1, msrs="msrs.def"
cpu: cpuid_limit_winnt=0

#=======================================================================
# CPUID:
#
# This defines features and functionality supported by Bochs emulated CPU.
# The option has no offect if CPU model was selected in CPU option.
#
#  MMX:
#    Select MMX instruction set support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 5.
#
#  APIC:
#    Select APIC configuration (LEGACY/XAPIC/XAPIC_EXT/X2APIC).
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 5.
#
#  SEP:
#    Select SYSENTER/SYSEXIT instruction set support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  SIMD:
#    Select SIMD instructions support.
#    Any of NONE/SSE/SSE2/SSE3/SSSE3/SSE4_1/SSE4_2/AVX/AVX2/AVX512
#    could be selected.
#
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#    The AVX choises exists only if Bochs compiled with --enable-avx option.
#
#  SSE4A:
#    Select AMD SSE4A instructions support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  MISALIGNED_SSE:
#    Select AMD Misaligned SSE mode support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  AES:
#    Select AES instruction set support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  SHA:
#    Select SHA instruction set support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  MOVBE:
#    Select MOVBE Intel(R) Atom instruction support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  ADX:
#    Select ADCX/ADOX instructions support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  XSAVE:
#    Select XSAVE extensions support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  XSAVEOPT:
#    Select XSAVEOPT instruction support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  AVX_F16C:
#    Select AVX float16 convert instructions support.
#    This option exists only if Bochs compiled with --enable-avx option.
#
#  AVX_FMA:
#    Select AVX fused multiply add (FMA) instructions support.
#    This option exists only if Bochs compiled with --enable-avx option.
#
#  BMI:
#    Select BMI1/BMI2 instructions support.
#    This option exists only if Bochs compiled with --enable-avx option.
#
#  XOP:
#    Select AMD XOP instructions support.
#    This option exists only if Bochs compiled with --enable-avx option.
#
#  FMA4:
#    Select AMD four operand FMA instructions support.
#    This option exists only if Bochs compiled with --enable-avx option.
#
#  TBM:
#    Select AMD Trailing Bit Manipulation (TBM) instructions support.
#    This option exists only if Bochs compiled with --enable-avx option.
#
#  X86-64:
#    Enable x86-64 and long mode support.
#    This option exists only if Bochs compiled with x86-64 support.
#
#  1G_PAGES:
#    Enable 1G page size support in long mode.
#    This option exists only if Bochs compiled with x86-64 support.
#
#  PCID:
#    Enable Process-Context Identifiers (PCID) support in long mode.
#    This option exists only if Bochs compiled with x86-64 support.
#
#  FSGSBASE:
#    Enable GS/GS BASE access instructions support in long mode.
#    This option exists only if Bochs compiled with x86-64 support.
#
#  SMEP:
#    Enable Supervisor Mode Execution Protection (SMEP) support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  SMAP:
#    Enable Supervisor Mode Access Prevention (SMAP) support.
#    This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
#
#  MWAIT:
#    Select MONITOR/MWAIT instructions support.
#    This option exists only if Bochs compiled with --enable-monitor-mwait.
#
#  VMX:
#    Select VMX extensions emulation support.
#    This option exists only if Bochs compiled with --enable-vmx option.
#
#  SVM:
#    Select AMD SVM (Secure Virtual Machine) extensions emulation support.
#    This option exists only if Bochs compiled with --enable-svm option.
#
#  VENDOR_STRING:
#    Set the CPUID vendor string returned by CPUID(0x0). This should be a
#    twelve-character ASCII string.  
#
#  BRAND_STRING:
#    Set the CPUID vendor string returned by CPUID(0x80000002 .. 0x80000004).  
#    This should be at most a forty-eight-character ASCII string.  
#
#  LEVEL:
#    Set emulated CPU level information returned by CPUID. Default value is
#    determined by configure option --enable-cpu-level. Currently supported
#    values are 5 (for Pentium and similar processors) and 6 (for P6 and
#    later processors).
#
#  FAMILY:
#    Set model information returned by CPUID. Default family value determined
#    by configure option --enable-cpu-level.
#
#  MODEL:
#    Set model information returned by CPUID. Default model value is 3.
#
#  STEPPING:
#    Set stepping information returned by CPUID. Default stepping value is 3.
#=======================================================================
#cpuid: x86_64=1, mmx=1, sep=1, simd=sse4_2, apic=xapic, aes=1, movbe=1, xsave=1
#cpuid: family=6, model=0x1a, stepping=5

#=======================================================================
# MEMORY
# Set the amount of physical memory you want to emulate.
#
# GUEST:
# Set amount of guest physical memory to emulate. The default is 32MB,
# the maximum amount limited only by physical address space limitations.
#
# HOST:
# Set amount of host memory you want to allocate for guest RAM emulation.
# It is possible to allocate less memory than you want to emulate in guest
# system. This will fake guest to see the non-existing memory. Once guest
# system touches new memory block it will be dynamically taken from the
# memory pool. You will be warned (by FATAL PANIC) in case guest already
# used all allocated host memory and wants more.
#
#=======================================================================
memory: guest=512, host=256

#=======================================================================
# ROMIMAGE:
# The ROM BIOS controls what the PC does when it first powers on.
# Normally, you can use a precompiled BIOS in the source or binary
# distribution called BIOS-bochs-latest. The default ROM BIOS is usually loaded
# starting at address 0xfffe0000, and it is exactly 128k long. The legacy
# version of the Bochs BIOS is usually loaded starting at address 0xffff0000,
# and it is exactly 64k long.
# You can use the environment variable $BXSHARE to specify the location
# of the BIOS.
# The usage of external large BIOS images (up to 512k) at memory top is
# now supported, but we still recommend to use the BIOS distributed with Bochs.
# The start address is optional, since it can be calculated from image size.
# The Bochs BIOS currently supports only the option "fastboot" to skip the
# boot menu delay.
#=======================================================================
romimage: file=$BXSHARE/BIOS-bochs-latest, options=fastboot
#romimage: file=$BXSHARE/bios.bin-1.13.0 # http://www.seabios.org/SeaBIOS
#romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top

#=======================================================================
# VGAROMIMAGE
# You now need to load a VGA ROM BIOS into C0000.
#=======================================================================
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
#vgaromimage: file=bios/VGABIOS-lgpl-latest-cirrus
#vgaromimage: file=$BXSHARE/vgabios-cirrus.bin-1.13.0 # http://www.seabios.org/SeaVGABIOS
#vgaromimage: file=bios/VGABIOS-elpin-2.40

#=======================================================================
# OPTROMIMAGE[1-4]:
# You may now load up to 4 optional ROM images. Be sure to use a 
# read-only area, typically between C8000 and EFFFF. These optional
# ROM images should not overwrite the rombios (located at
# F0000-FFFFF) and the videobios (located at C0000-C7FFF).
# Those ROM images will be initialized by the bios if they contain 
# the right signature (0x55AA) and a valid checksum.
# It can also be a convenient way to upload some arbitrary code/data
# in the simulation, that can be retrieved by the boot loader
#=======================================================================
#optromimage1: file=optionalrom.bin, address=0xd0000
#optromimage2: file=optionalrom.bin, address=0xd1000
#optromimage3: file=optionalrom.bin, address=0xd2000
#optromimage4: file=optionalrom.bin, address=0xd3000

#optramimage1: file=/path/file1.img, address=0x0010000
#optramimage2: file=/path/file2.img, address=0x0020000
#optramimage3: file=/path/file3.img, address=0x0030000
#optramimage4: file=/path/file4.img, address=0x0040000

#=======================================================================
# VGA:
# This defines parameters related to the VGA display
#
#   EXTENSION
#     Here you can specify the display extension to be used. With the value
#     'none' you can use standard VGA with no extension. Other supported
#     values are 'vbe' for Bochs VBE, 'cirrus' for Cirrus SVGA support and
#     'voodoo' for Voodoo Graphics support (see 'voodoo' option).
#
#   UPDATE_FREQ
#     This parameter specifies the number of display updates per second.
#     The VGA update timer by default uses the realtime engine with a value
#     of 5. This parameter can be changed at runtime.
#
#   REALTIME
#     If set to 1 (default), the VGA timer is based on realtime, otherwise it
#     is driven by the cpu and depends on the ips setting. If the host is slow
#     (low ips, update_freq) and the guest uses HLT appropriately, setting this
#     to 0 and "clock: sync=none" may improve the responsiveness of the guest
#     GUI when the guest is otherwise idle.
#
#   DDC
#     This parameter defines the behaviour of the DDC emulation that returns
#     the monitor EDID data. By default the 'builtin' values for 'Bochs Screen'
#     are used. Other choices are 'disabled' (no DDC emulation) and 'file'
#     (read monitor EDID from file / path name separated with a colon).
# Examples:
#   vga: extension=cirrus, update_freq=10, ddc=builtin
#=======================================================================
#vga: extension=vbe, update_freq=5, realtime=1, ddc=file:monitor.bin

#=======================================================================
# VOODOO:
# This defines the Voodoo Graphics emulation (experimental). Currently
# supported models are 'voodoo1', 'voodoo2', 'banshee' and 'voodoo3'. The
# Voodoo2 support is not yet complete, but almost usable. The Banshee and
# Voodoo3 support is under construction, but basically usable. The 2D/3D cards
# require an external VGA BIOS the vga extension option to be set to 'voodoo'.
# If the i440BX PCI chipset is selected, they can be assigned to AGP (slot #5).
# The gui screen update timing for all models is controlled by the related 'vga'
# options.
#
# Examples:
#   voodoo: enabled=1, model=voodoo2
#=======================================================================
#voodoo: enabled=1, model=voodoo1

#=======================================================================
# KEYBOARD:
# This defines parameters related to the emulated keyboard
#
#   TYPE:
#     Type of keyboard return by a "identify keyboard" command to the
#     keyboard controller. It must be one of "xt", "at" or "mf".
#     Defaults to "mf". It should be ok for almost everybody. A known
#     exception is french macs, that do have a "at"-like keyboard.
#
#   SERIAL_DELAY:
#     Approximate time in microseconds that it takes one character to
#     be transferred from the keyboard to controller over the serial path.
#
#   PASTE_DELAY:
#     Approximate time in microseconds between attempts to paste
#     characters to the keyboard controller. This leaves time for the
#     guest os to deal with the flow of characters.  The ideal setting
#     depends on how your operating system processes characters.  The
#     default of 100000 usec (.1 seconds) was chosen because it works 
#     consistently in Windows.
#     If your OS is losing characters during a paste, increase the paste
#     delay until it stops losing characters.
#
#   KEYMAP:
#     This enables a remap of a physical localized keyboard to a
#     virtualized us keyboard, as the PC architecture expects.
#
#   USER_SHORTCUT:
#     This defines the keyboard shortcut to be sent when you press the "user"
#     button in the headerbar. The shortcut string is a combination of maximum
#     3 key names (listed below) separated with a '-' character.
#     Valid key names:
#     "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc",
#     "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup",
#     "plus", "power", "print", "right", "scrlck", "shift", "space", "tab", "up"
#     and "win".

# Examples:
#   keyboard: type=mf, serial_delay=200, paste_delay=100000
#   keyboard: keymap=gui/keymaps/x11-pc-de.map
#   keyboard: user_shortcut=ctrl-alt-del
#=======================================================================
#keyboard: type=mf, serial_delay=250

#=======================================================================
# MOUSE:
# This defines parameters for the emulated mouse type, the initial status
# of the mouse capture and the runtime method to toggle it.
#
#  TYPE:
#  With the mouse type option you can select the type of mouse to emulate.
#  The default value is 'ps2'. The other choices are 'imps2' (wheel mouse
#  on PS/2), 'serial', 'serial_wheel', 'serial_msys' (one com port requires
#  setting 'mode=mouse') 'inport' and 'bus' (if present). To connect a mouse
#  to a USB port, see the 'usb_uhci', 'usb_ohci', 'usb_ehci' or 'usb_xhci'
#  options (requires PCI and USB support).
#
#  ENABLED:
#  The Bochs gui creates mouse "events" unless the 'enabled' option is
#  set to 0. The hardware emulation itself is not disabled by this.
#  Unless you have a particular reason for enabling the mouse by default,
#  it is recommended that you leave it off. You can also toggle the mouse
#  usage at runtime (RFB, SDL, Win32, wxWidgets and X11 - see below).
#
#  TOGGLE:
#  The default method to toggle the mouse capture at runtime is to press the
#  CTRL key and the middle mouse button ('ctrl+mbutton'). This option allows
#  to change the method to 'ctrl+f10' (like DOSBox), 'ctrl+alt' (like QEMU)
#  or 'f12'.
#
# Examples:
#   mouse: enabled=1
#   mouse: type=imps2, enabled=1
#   mouse: type=serial, enabled=1
#   mouse: enabled=0, toggle=ctrl+f10
#=======================================================================
mouse: enabled=0

#=======================================================================
# PCI:
# This defines the parameters to set up the Bochs PCI emulation:
#
#  ENABLED:
#  If Bochs is compiled with PCI support, it is enabled by default.
#
#  CHIPSET:
#  Currently the chipsets i430FX, i440FX and i440BX (limited) are supported and
#  the default is i440FX.
#
#  SLOTx:
#  It is possible to specify the devices connected to PCI slots. Up to 5 slots
#  are available. For combined PCI/ISA devices assigning to slot is mandatory
#  if the PCI model should be emulated (cirrus, ne2k and pcivga). Setting up
#  slot for PCI-only devices is also supported, but they are auto-assigned if
#  not specified (e1000, es1370, pcidev, pcipnic, usb_ehci, usb_ohci, usb_xhci,
#  voodoo). All device models except the network devices ne2k and e1000 can be
#  used only once in the slot configuration. In case of the i440BX chipset, the
#  slot #5 is the AGP slot. Currently only the 'voodoo' device can be assigned
#  to AGP.
#
#  ADVOPTS:
#  With the advanced PCI options it is possible to control the behaviour of the 
#  PCI chipset. These options can be specified as comma-separated values.
#  By default the "Bochs i440FX" chipset enables the ACPI and HPET devices, but
#  original i440FX doesn't support them. The options 'noacpi' and 'nohpet' make
#  it possible to disable them. The option 'noagp' disables the incomplete AGP
#  subsystem of the i440BX chipset.
#
# Example:
#   pci: enabled=1, chipset=i440fx, slot1=pcivga, slot2=ne2k, advopts=noacpi
#=======================================================================
pci: enabled=1, chipset=i440fx

#=======================================================================
# CLOCK:
# This defines the parameters of the clock inside Bochs:
#
#  SYNC:
#  This defines the method how to synchronize the Bochs internal time
#  with realtime. With the value 'none' the Bochs time relies on the IPS
#  value and no host time synchronization is used. The 'slowdown' method
#  sacrifices performance to preserve reproducibility while allowing host
#  time correlation. The 'realtime' method sacrifices reproducibility to
#  preserve performance and host-time correlation.
#  It is possible to enable both synchronization methods.
#
#  RTC_SYNC:
#  If this option is enabled together with the realtime synchronization,
#  the RTC runs at realtime speed. This feature is disabled by default.
#
#  TIME0:
#  Specifies the start (boot) time of the virtual machine. Use a time
#  value as returned by the time(2) system call or a string as returned
#  by the ctime(3) system call. If no time0 value is set or if time0
#  equal to 1 (special case) or if time0 equal 'local', the simulation
#  will be started at the current local host time. If time0 equal to 2
#  (special case) or if time0 equal 'utc', the simulation will be started
#  at the current utc time.
#
# Syntax:
#  clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc]
#
# Example:
#   clock: sync=none,     time0=local       # Now (localtime)
#   clock: sync=slowdown, time0=315529200   # Tue Jan  1 00:00:00 1980
#   clock: sync=none,     time0="Mon Jan  1 00:00:00 1990" # 631148400
#   clock: sync=realtime, time0=938581955   # Wed Sep 29 07:12:35 1999
#   clock: sync=realtime, time0="Sat Jan  1 00:00:00 2000" # 946681200
#   clock: sync=none,     time0=1           # Now (localtime)
#   clock: sync=none,     time0=utc         # Now (utc/gmt)
#
# Default value are sync=none, rtc_sync=0, time0=local
#=======================================================================
#clock: sync=none, time0=local

#=======================================================================
# CMOSIMAGE:
# This defines a binary image file with size 128 bytes that can be loaded into
# the CMOS RAM at startup. The rtc_init parameter controls whether initialize
# the RTC with values stored in the image. By default the time0 argument given
# to the clock option is used. With 'rtc_init=image' the image is the source
# for the initial time.
#
# Example:
#   cmosimage: file=cmos.img, rtc_init=image
#=======================================================================
#cmosimage: file=cmos.img, rtc_init=time0

#=======================================================================
# private_colormap: Request that the GUI create and use it's own
#                   non-shared colormap.  This colormap will be used
#                   when in the bochs window.  If not enabled, a
#                   shared colormap scheme may be used.  Not implemented
#                   on all GUI's.
#
# Examples:
#   private_colormap: enabled=1
#   private_colormap: enabled=0
#=======================================================================
private_colormap: enabled=0

#=======================================================================
# FLOPPYA:
# Point this to pathname of floppy image file or device
# This should be of a bootable floppy(image/device) if you're
# booting from 'a' (or 'floppy').
#
# You can set the initial status of the media to 'ejected' or 'inserted'.
#   floppya: 2_88=path, status=ejected    (2.88M 3.5"  media)
#   floppya: 1_44=path, status=inserted   (1.44M 3.5"  media)
#   floppya: 1_2=path, status=ejected     (1.2M  5.25" media)
#   floppya: 720k=path, status=inserted   (720K  3.5"  media)
#   floppya: 360k=path, status=inserted   (360K  5.25" media)
#   floppya: 320k=path, status=inserted   (320K  5.25" media)
#   floppya: 180k=path, status=inserted   (180K  5.25" media)
#   floppya: 160k=path, status=inserted   (160K  5.25" media)
#   floppya: image=path, status=inserted  (guess media type from image size)
#   floppya: 1_44=vvfat:path, status=inserted  (use directory as VFAT media)
#   floppya: type=1_44                    (1.44M 3.5" floppy drive, no media)
#
# The path should be the name of a disk image file.  On Unix, you can use a raw
# device name such as /dev/fd0 on Linux.  On win32 platforms, use drive letters
# such as a: or b: as the path.  The parameter 'image' works with image files
# only. In that case the size must match one of the supported types.
# The parameter 'type' can be used to enable the floppy drive without media
# and status specified. Usually the drive type is set up based on the media type.
# The optional parameter 'write_protected' can be used to control the media
# write protect switch. By default it is turned off.
#=======================================================================
floppya: 1_44=/dev/fd0, status=inserted
#floppya: image=../1.44, status=inserted
#floppya: 1_44=/dev/fd0H1440, status=inserted
#floppya: 1_2=../1_2, status=inserted
#floppya: 1_44=a:, status=inserted
#floppya: 1_44=a.img, status=inserted, write_protected=1
#floppya: 1_44=/dev/rfd0a, status=inserted

#=======================================================================
# FLOPPYB:
# See FLOPPYA above for syntax
#=======================================================================
#floppyb: 1_44=b:, status=inserted
#floppyb: 1_44=b.img, status=inserted

#=======================================================================
# ATA0, ATA1, ATA2, ATA3
# ATA controller for hard disks and cdroms
#
# ata[0-3]: enabled=[0|1], ioaddr1=addr, ioaddr2=addr, irq=number
# 
# These options enables up to 4 ata channels. For each channel
# the two base io addresses and the irq must be specified.
# 
# ata0 and ata1 are enabled by default with the values shown below
#
# Examples:
#   ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
#   ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
#   ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
#   ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9
#=======================================================================
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9

#=======================================================================
# ATA[0-3]-MASTER, ATA[0-3]-SLAVE
#
# This defines the type and characteristics of all attached ata devices:
#   type=       type of attached device [disk|cdrom] 
#   mode=       only valid for disks [flat|concat|dll|sparse|vmware3|vmware4]
#                                    [undoable|growing|volatile|vpc|vbox|vvfat]
#   path=       path of the image / directory
#   cylinders=  only valid for disks
#   heads=      only valid for disks
#   spt=        only valid for disks
#   status=     only valid for cdroms [inserted|ejected]
#   biosdetect= type of biosdetection [auto|cmos|none]
#   translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto]
#   model=      string returned by identify device command
#   journal=    optional filename of the redolog for undoable, volatile and vvfat disks
#
# Point this at a hard disk image file, cdrom iso file, or physical cdrom
# device.  To create a hard disk image, try running bximage.  It will help you
# choose the size and then suggest a line that works with it.
#
# In UNIX it may be possible to use a raw device as a Bochs hard disk, 
# but WE DON'T RECOMMEND IT.  In Windows there is no easy way.
#
# In windows, the drive letter + colon notation should be used for cdroms.
# Depending on versions of windows and drivers, you may only be able to 
# access the "first" cdrom in the system.  On MacOSX, use path="drive"
# to access the physical drive.
#
# The path is mandatory for hard disks. Disk geometry autodetection works with
# images created by bximage if CHS is set to 0/0/0 (cylinders are calculated
# using  heads=16 and spt=63). For other hard disk images and modes the
# cylinders, heads, and spt are mandatory. In all cases the disk size reported
# from the image must be exactly C*H*S*512.
#
# Default values are:
#   mode=flat, biosdetect=auto, translation=auto, model="Generic 1234"
#
# The biosdetect option has currently no effect on the bios
#
# Examples:
#   ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17
#   ata0-slave:  type=disk, mode=flat, path=20M.sample, cylinders=615, heads=4, spt=17
#   ata1-master: type=disk, mode=flat, path=30M.sample, cylinders=615, heads=6, spt=17
#   ata1-slave:  type=disk, mode=flat, path=46M.sample, cylinders=940, heads=6, spt=17
#   ata2-master: type=disk, mode=flat, path=62M.sample, cylinders=940, heads=8, spt=17
#   ata2-slave:  type=disk, mode=flat, path=112M.sample, cylinders=900, heads=15, spt=17
#   ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63
#   ata3-slave:  type=cdrom, path=iso.sample, status=inserted
#=======================================================================
ata0-master: type=disk, mode=flat, path="30M.sample"
#ata0-master: type=disk, mode=flat, path="30M.sample", cylinders=615, heads=6, spt=17
#ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect
#ata0-slave: type=disk, mode=vvfat, path=/bochs/images/vvfat, journal=vvfat.redolog
#ata0-slave: type=cdrom, path=D:, status=inserted
#ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted
#ata0-slave: type=cdrom, path="drive", status=inserted
#ata0-slave: type=cdrom, path=/dev/rcd0d, status=inserted 

#=======================================================================
# BOOT:
# This defines the boot sequence. Now you can specify up to 3 boot drives,
# which can be 'floppy', 'disk', 'cdrom' or 'network' (boot ROM).
# Legacy 'a' and 'c' are also supported.
# Examples:
#   boot: floppy
#   boot: cdrom, disk
#   boot: network, disk
#   boot: cdrom, floppy, disk
#=======================================================================
#boot: floppy
boot: disk

#=======================================================================
# FLOPPY_BOOTSIG_CHECK: disabled=[0|1]
# Enables or disables the 0xaa55 signature check on boot floppies
# Defaults to disabled=0
# Examples:
#   floppy_bootsig_check: disabled=0
#   floppy_bootsig_check: disabled=1
#=======================================================================
floppy_bootsig_check: disabled=0

#=======================================================================
# LOG:
# Give the path of the log file you'd like Bochs debug and misc. verbiage
# to be written to. If you don't use this option or set the filename to
# '-' the output is written to the console. If you really don't want it,
# make it "/dev/null" (Unix) or "nul" (win32). :^(
#
# Examples:
#   log: ./bochs.out
#   log: /dev/tty
#=======================================================================
#log: /dev/null
log: bochsout.txt

#=======================================================================
# LOGPREFIX:
# This handles the format of the string prepended to each log line.
# You may use those special tokens :
#   %t : 11 decimal digits timer tick
#   %i : 8 hexadecimal digits of cpu current eip (ignored in SMP configuration)
#   %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror)
#   %d : 5 characters string of the device, between brackets
# 
# Default : %t%e%d
# Examples:
#   logprefix: %t-%e-@%i-%d
#   logprefix: %i%e%d
#=======================================================================
#logprefix: %t%e%d

#=======================================================================
# LOG CONTROLS
#
# Bochs has four severity levels for event logging.
#   panic: cannot proceed.  If you choose to continue after a panic, 
#          don't be surprised if you get strange behavior or crashes.
#   error: something went wrong, but it is probably safe to continue the
#          simulation.
#   info: interesting or useful messages.
#   debug: messages useful only when debugging the code.  This may
#          spit out thousands per second.
#
# For events of each level, you can choose to exit Bochs ('fatal'), 'ask',
# 'warn', 'report' or 'ignore'. The choices 'ask' and 'warn' are not supported
# by all guis, since they should bring up a dialog box. The 'warn' dialog is
# designed to confirm errors and the 'ask' dialog is usually used for panics
# and asks the user how to proceed.
#
# It is also possible to specify the 'action' to do for each Bochs facility
# separately (e.g. crash on panics from everything except the cdrom, and only
# report those). See the 'log function' module list in the user documentation.
#
# If you are experiencing many panics, it can be helpful to change
# the panic action to report instead of fatal.  However, be aware
# that anything executed after a panic is uncharted territory and can
# cause bochs to become unstable.  The panic is a "graceful exit," so
# if you disable it you may get a spectacular disaster instead.
#=======================================================================
panic: action=ask
error: action=report
info: action=report
debug: action=ignore, pci=report # report BX_DEBUG from module 'pci'

#=======================================================================
# DEBUGGER_LOG:
# Give the path of the log file you'd like Bochs to log debugger output.
# If you really don't want it, make it /dev/null or '-'. :^(
#
# Examples:
#   debugger_log: ./debugger.out
#=======================================================================
#debugger_log: /dev/null
#debugger_log: debugger.out
debugger_log: -

#=======================================================================
# COM1, COM2, COM3, COM4:
# This defines a serial port (UART type 16550A). In the 'term' mode you can
# specify a device to use as com1. This can be a real serial line, or a pty.
# To use a pty (under X/Unix), create two windows (xterms, usually).  One of
# them will run bochs, and the other will act as com1. Find out the tty the com1
# window using the `tty' command, and use that as the `dev' parameter.
# Then do `sleep 1000000' in the com1 window to keep the shell from
# messing with things, and run bochs in the other window.  Serial I/O to
# com1 (port 0x3f8) will all go to the other window.
# In socket* and pipe* (win32 only) modes Bochs becomes either socket/named pipe
# client or server. In client mode it connects to an already running server (if
# connection fails Bochs treats com port as not connected). In server mode it
# opens socket/named pipe and waits until a client application connects to it
# before starting simulation. This mode is useful for remote debugging (e.g.
# with gdb's "target remote host:port" command or windbg's command line option
# -k com:pipe,port=\\.\pipe\pipename). Socket modes use simple TCP communication,
#  pipe modes use duplex byte mode pipes.
# Other serial modes are 'null' (no input/output), 'file' (output to a file
# specified as the 'dev' parameter and changeable at runtime), 'raw' (use the
# real serial port - partly implemented on win32), 'mouse' (standard serial
# mouse - requires mouse option setting 'type=serial', 'type=serial_wheel' or
# 'type=serial_msys').
#
# Examples:
#   com1: enabled=1, mode=null
#   com1: enabled=1, mode=mouse
#   com2: enabled=1, mode=file, dev=serial.out
#   com3: enabled=1, mode=raw, dev=com1
#   com3: enabled=1, mode=socket-client, dev=localhost:8888
#   com3: enabled=1, mode=socket-server, dev=localhost:8888
#   com4: enabled=1, mode=pipe-client, dev=\\.\pipe\mypipe
#   com4: enabled=1, mode=pipe-server, dev=\\.\pipe\mypipe
#=======================================================================
#com1: enabled=1, mode=term, dev=/dev/ttyp9


#=======================================================================
# PARPORT1, PARPORT2:
# This defines a parallel (printer) port. When turned on and an output file is
# defined the emulated printer port sends characters printed by the guest OS
# into the output file. On some platforms a device filename can be used to
# send the data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on
# win32 platforms). The output file can be changed at runtime.
#
# Examples:
#   parport1: enabled=1, file="parport.out"
#   parport2: enabled=1, file="/dev/lp0"
#   parport1: enabled=0
#=======================================================================
parport1: enabled=1, file="parport.out"

#=======================================================================
# SOUND:
# This defines the lowlevel sound driver(s) for the wave (PCM) input / output
# and the MIDI output feature and (if necessary) the devices to be used.
# It can have several of the following properties.
# All properties are in the format sound: property=value
#
# waveoutdrv:
#      This defines the driver to be used for the waveout feature.
#      Possible values are 'file' (all wave data sent to file), 'dummy' (no
#      output) and the platform-dependant drivers 'alsa', 'oss', 'osx', 'sdl'
#      and 'win'.
# waveout:
#      This defines the device to be used for wave output (if necessary) or
#      the output file for the 'file' driver.
# waveindrv:
#      This defines the driver to be used for the wavein feature.
#      Possible values are 'dummy' (recording silence) and platform-dependent
#      drivers 'alsa', 'oss', 'sdl' and 'win'.
# wavein:
#      This defines the device to be used for wave input (if necessary).
# midioutdrv:
#      This defines the driver to be used for the MIDI output feature.
#      Possible values are 'file' (all MIDI data sent to file), 'dummy' (no
#      output) and platform-dependent drivers 'alsa', 'oss', 'osx' and 'win'.
# midiout:
#      This defines the device to be used for MIDI output (if necessary).
# driver:
#      This defines the driver to be used for all sound features with one
#      property. Possible values are 'default' (platform default) and all
#      other choices described above. Overriding one or more settings with
#      the specific driver parameter is possible.
#
# Example for different drivers:
#   sound: waveoutdrv=sdl, waveindrv=alsa, midioutdrv=dummy
#=======================================================================
sound: driver=default, waveout=/dev/dsp. wavein=, midiout=

#=======================================================================
# SPEAKER:
# This defines the PC speaker output mode. In the 'sound' mode the beep
# is generated by the square wave generator which is a part of the
# lowlevel sound support. In this mode the 'volume' parameter can be used
# to set the output volume (0 - 15). The 'system' mode is only available on
# Linux and Windows. On Linux /dev/console is used for output and on Windows
# the Beep() function. The 'gui' mode forwards the beep to the related
# gui methods (currently only used by the Carbon gui).
#=======================================================================
speaker: enabled=1, mode=sound, volume=15

#=======================================================================
# SB16:
# This defines the SB16 sound emulation. It can have several of the
# following properties.
# All properties are in the format sb16: property=value
#
# enabled:
#      This optional property controls the presence of the SB16 emulation.
#      The emulation is turned on unless this property is used and set to 0.
# midimode: This parameter specifies what to do with the MIDI output.
#      0 = no output
#      1 = output to device specified with the sound option (system dependent)
#      2 = MIDI or raw data output to file (depends on file name extension)
#      3 = dual output (mode 1 and 2 at the same time)
# midifile: This is the file where the midi output is stored (midimode 2 or 3).
# wavemode: This parameter specifies what to do with the PCM output.
#      0 = no output
#      1 = output to device specified with the sound option (system dependent)
#      2 = VOC, WAV or raw data output to file (depends on file name extension)
#      3 = dual output (mode 1 and 2 at the same time)
# wavefile: This is the file where the wave output is stored (wavemode 2 or 3).
# loglevel:
#      0=no log
#      1=resource changes, midi program and bank changes
#      2=severe errors
#      3=all errors
#      4=all errors plus all port accesses
#      5=all errors and port accesses plus a lot of extra info
# log:  The file to write the sb16 emulator messages to.
# dmatimer:
#      microseconds per second for a DMA cycle.  Make it smaller to fix
#      non-continuous sound.  750000 is usually a good value.  This needs a
#      reasonably correct setting for the IPS parameter of the CPU option.
#
# Examples for output modes:
#   sb16: midimode=2, midifile="output.mid", wavemode=1 # MIDI to file
#   sb16: midimode=1, wavemode=3, wavefile="output.wav" # wave to file and device
#=======================================================================
#sb16: midimode=1, wavemode=1, loglevel=2, log=sb16.log, dmatimer=600000

#=======================================================================
# ES1370:
# This defines the ES1370 sound emulation (recording and playback - except
# DAC1+DAC2 output at the same time). The parameter 'enabled' controls the
# presence of the device. The wave and MIDI output can be sent to device, file
# or both using the parameters 'wavemode', 'wavefile', 'midimode' and
# 'midifile'. See the description of these parameters at the SB16 directive.
#
# Examples:
#   es1370: enabled=1, wavemode=1                       # use 'sound' parameters
#   es1370: enabled=1, wavemode=2, wavefile=output.voc  # send output to file
#=======================================================================
#es1370: enabled=1, wavemode=1

#=======================================================================
# ne2k: NE2000 compatible ethernet adapter
#
# Format:
# ne2k: card=CARD, enabled=1, type=TYPE, ioaddr=IOADDR, irq=IRQ, mac=MACADDR,
#       ethmod=MODULE, ethdev=DEVICE, script=SCRIPT, bootrom=BOOTROM
#
# CARD: This is the zero-based card number to configure with this ne2k config
# line. Up to 4 devices are supported now (0...3). If not specified, the
# following parameters apply to card #0.
#
# TYPE: This is the card type to emulate ("isa" or "pci"). If not specified,
# card #0 defaults to "pci" if assigned to a pci slot. For the additional cards
# the type parameter should be set up.
#
# IOADDR, IRQ: You probably won't need to change ioaddr and irq, unless there
# are IRQ conflicts. These arguments are ignored when assign the ne2k to a
# PCI slot or set the type to 'pci'.
#
# MAC: The MAC address MUST NOT match the address of any machine on the net.
# Also, the first byte must be an even number (bit 0 set means a multicast
# address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast
# address.  For the ethertap module, you must use fe:fd:00:00:00:01.  There may
# be other restrictions too.  To be safe, just use the b0:c4... address.
#
# ETHDEV: The ethdev value is the name of the network interface on your host
# platform.  On UNIX machines, you can get the name by running ifconfig.  On
# Windows machines, you must run niclist to get the name of the ethdev.
# Niclist source code is in misc/niclist.c and it is included in Windows 
# binary releases.
# The 'socket' module uses this parameter to specify the UDP port for
# receiving packets and (optional) the host to connect.
#
# SCRIPT: The script value is optional, and is the name of a script that
# is executed after bochs initialize the network interface. You can use
# this script to configure this network interface, or enable masquerading.
# This is mainly useful for the tun/tap devices that only exist during
# Bochs execution. The network interface name is supplied to the script
# as first parameter.
# The 'slirp' module uses this parameter to specify a config file for
# setting up an alternative IP configuration or additional features.
# The 'vnet' module also uses this parameter to specify a config file similar
# to slirp, but with only a few settings.
#
# BOOTROM: The bootrom value is optional, and is the name of the ROM image
# to load. Note that this feature is only implemented for the PCI version of
# the NE2000.
#
# If you don't want to make connections to any physical networks,
# you can use the following 'ethmod's to simulate a virtual network.
#   null: All packets are discarded, but logged to a few files.
#   vde:  Virtual Distributed Ethernet
#   vnet: ARP, ICMP-echo(ping), DHCP, DNS, FTP and TFTP are simulated.
#         The virtual host uses 192.168.10.1.
#         DHCP assigns 192.168.10.15 to the guest.
#         FTP/TFTP using the 'ethdev' value for the root directory.
#         TFTP doesn't overwrite files, DNS for server and client only.
# socket: Connect up to 6 Bochs instances with external program 'bxhub'
#         (simulating an ethernet hub). It provides the same services as the
#         'vnet' module and assigns IP addresses like 'slirp' (10.0.2.x).
#
#=======================================================================
# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=fbsd, ethdev=en0 #macosx
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xl0
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=win32, ethdev=MYCARD
# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0
# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=null, ethdev=eth0
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl"
# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp"
# ne2k: mac=b0:c4:20:00:00:01, ethmod=socket, ethdev=40000 # use localhost
# ne2k: mac=b0:c4:20:00:00:01, ethmod=socket, ethdev=mymachine:40000
# ne2k: mac=b0:c4:20:00:00:01, ethmod=slirp, script=slirp.conf, bootrom=ne2k_pci.rom

#=======================================================================
# pcipnic: Bochs/Etherboot pseudo-NIC
#
# Format:
# pcipnic: enabled=1, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT,
#          bootrom=BOOTROM
#
# The pseudo-NIC accepts the same syntax (for mac, ethmod, ethdev, script,
# bootrom) and supports the same networking modules as the NE2000 adapter.
#=======================================================================
#pcipnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet

#=======================================================================
# e1000: Intel(R) 82540EM Gigabit Ethernet adapter
#
# Format:
# e1000: card=CARD, enabled=1, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE,
#        script=SCRIPT, bootrom=BOOTROM
#
# The E1000 accepts the same syntax (for card, mac, ethmod, ethdev, script,
# bootrom) and supports the same networking modules as the NE2000 adapter.
# It also supports up to 4 devices selected with the card parameter.
#=======================================================================
#e1000: enabled=1, mac=52:54:00:12:34:56, ethmod=slirp, script=slirp.conf

#=======================================================================
# USB_UHCI:
# This option controls the presence of the USB root hub which is a part
# of the i440FX PCI chipset. With the portX parameter you can connect devices
# to the hub (currently supported: 'mouse', 'tablet', 'keypad', 'keyboard',
# 'disk', 'cdrom', 'floppy', 'hub' and 'printer').
#
# If you connect the mouse or tablet to one of the ports, Bochs forwards the
# mouse movement data to the USB device instead of the selected mouse type.
# When connecting the keypad to one of the ports, Bochs forwards the input of
# the numeric keypad to the USB device instead of the PS/2 keyboard. If the
# keyboard is selected, all key events are sent to the USB device.
#
# To connect a disk image as a USB hardisk you can use the 'disk' device. Use
# the 'path' option in the optionsX parameter to specify the path to the image
# separated with a colon. To use other disk image modes similar to ATA disks
# the syntax 'path:mode:filename' must be used (see below).
#
# To emulate a USB cdrom you can use the 'cdrom' device and the path to an
# ISO image or raw device name can be set with the 'path' option in the
# optionsX parameter also separated with a colon. An option to insert/eject
# media is available in the runtime configuration.
#
# To emulate a USB floppy you can use the 'floppy' device and the path to a
# floppy image can be set with the 'path' option in the optionsX parameter
# separated with a colon. To use the VVFAT image mode similar to the legacy
# floppy the syntax 'path:vvfat:directory' must be used (see below).
# An option to insert/eject media is available in the runtime configuration.
#
# The device name 'hub' connects an external hub with max. 8 ports (default: 4)
# to the root hub. To specify the number of ports you have to use the 'ports'
# option in the optionsX parameter with the value separated with a colon.
# Connecting devices to the external hub ports is only available in the runtime
# configuration.
#
# The device 'printer' emulates the HP Deskjet 920C printer. The PCL data is
# sent to a file specified in the 'file' option with the optionsX parameter.
# The current code appends the PCL code to the file if the file already existed.
# The output file can be changed at runtime.
#
# The optionsX parameter can be used to assign specific options to the device
# connected to the corresponding USB port. The option 'speed' can be used to set
# the speed reported by device ('low', 'full', 'high' or 'super'). The available
# speed choices depend on both HC and device. The option 'debug' turns on debug
# output for the device at connection time. The option 'pcap' turns on packet
# logging in PCAP format.
# For the USB 'disk' device the optionsX parameter can be used to specify an
# alternative redolog file (journal) of some image modes. For 'vvfat' mode USB
# disks the optionsX parameter can be used to specify the disk size (range
# 128M ... 128G). If the size is not specified, it defaults to 504M.
# For the USB 'floppy' device the optionsX parameter can be used to specify an
# alternative device ID to be reported. Currently only the model "teac" is
# supported (can fix hw detection in some guest OS). The USB floppy also
# accepts the parameter "write_protected" with valid values 0 and 1 to select
# the access mode (default is 0).
#=======================================================================
#usb_uhci: enabled=1
#usb_uhci: port1=mouse, port2=disk, options2="path:usbstick.img"
#usb_uhci: port1=hub, options1="ports:6, pcap:outfile.pcap"
#usb_uhci: port2=disk, options2="path:undoable:usbdisk.img, journal:u.redolog"
#usb_uhci: port2=disk, options2=""path:usbdisk2.img, sect_size:1024"
#usb_uhci: port2=disk, options2="path:vvfat:vvfat, debug, speed:full"
#usb_uhci: port2=cdrom, options2="path:image.iso"
#usb_uhci: port1=printer, options1="file:printdata.bin"
#usb_uhci: port2=floppy, options2="path:vvfat:diskette, model:teac"

#=======================================================================
# USB_OHCI:
# This option controls the presence of the USB OHCI host controller with a
# 2-port hub. The portX parameter accepts the same device types with the same
# syntax as the UHCI controller (see above). The optionsX parameter is also
# available on OHCI.
#=======================================================================
#usb_ohci: enabled=1
#usb_ohci: enabled=1, port1=printer:usbprinter.bin

#=======================================================================
# USB_EHCI:
# This option controls the presence of the USB EHCI host controller with a
# 6-port hub. The portX parameter accepts the same device types with the
# same syntax as the UHCI controller (see above). The optionsX parameter is
# also available on EHCI.
#=======================================================================
#usb_ehci: enabled=1

#=======================================================================
# USB_XHCI:
# This option controls the presence of the USB xHCI host controller with a
# 4-port hub. The portX parameter accepts the same device types with the
# same syntax as the UHCI controller (see above). The optionsX parameter is
# also available on xHCI. NOTE: port 1 and 2 are USB3 and only support
# super-speed devices, but port 3 and 4 are USB2 and support speed settings
# low, full and high.
#=======================================================================
#usb_xhci: enabled=1

#=======================================================================
# PCIDEV:
# PCI host device mapping
# WARNING: This Bochs feature is not maintained yet and may fail.
#=======================================================================
#pcidev: vendor=0x1234, device=0x5678

#=======================================================================
# GDBSTUB:
# Enable GDB stub. See user documentation for details.
# Default value is enabled=0.
# WARNING: This Bochs feature is not maintained yet and may fail.
#=======================================================================
#gdbstub: enabled=0, port=1234, text_base=0, data_base=0, bss_base=0

#=======================================================================
# MAGIC_BREAK:
# This enables the "magic breakpoint" feature when using the debugger.
# The useless cpu instruction XCHG BX, BX causes Bochs to enter the
# debugger mode. This might be useful for software development.
#
# Example:
#   magic_break: enabled=1
#=======================================================================
#magic_break: enabled=1

#=======================================================================
# DEBUG_SYMBOLS:
# This loads symbols from the specified file for use in Bochs' internal
# debugger. Symbols are loaded into global context. This is equivalent to
# issuing ldsym debugger command at start up.
#
# Example:
#   debug_symbols: file="kernel.sym"
#   debug_symbols: file="kernel.sym", offset=0x80000000
#=======================================================================
#debug_symbols: file="kernel.sym"

#print_timestamps: enabled=1

#=======================================================================
# PORT_E9_HACK:
# The 0xE9 port doesn't exists in normal ISA architecture. However, we
# define a convention here, to display on the console of the system running
# Bochs anything that is written to it. The idea is to provide debug output
# very early when writing BIOS or OS code for example, without having to
# bother with setting up a serial port or etc. Reading from port 0xE9 will
# will return 0xe9 to let you know if the feature is available.
# Leave this 0 unless you have a reason to use it.
#
# Example:
#   port_e9_hack: enabled=1
#=======================================================================
#port_e9_hack: enabled=1

#=======================================================================
# fullscreen: ONLY IMPLEMENTED ON AMIGA
#             Request that Bochs occupy the entire screen instead of a
#             window.
#
# Examples:
#   fullscreen: enabled=0
#   fullscreen: enabled=1
#=======================================================================
#fullscreen: enabled=0
#screenmode: name="sample"

#=======================================================================
# for Macintosh, use the style of pathnames in the following
# examples.
#
# vgaromimage: :bios:VGABIOS-elpin-2.40
# romimage: file=:bios:BIOS-bochs-latest, address=0xf0000
# floppya: 1_44=[fd:], status=inserted
#=======================================================================

#=======================================================================
# MEGS
# Set the number of Megabytes of physical memory you want to emulate. 
# The default is 32MB, most OS's won't need more than that.
# The maximum amount of memory supported is 2048Mb.
# The 'MEGS' option is deprecated. Use 'MEMORY' option instead.
#=======================================================================
#megs: 256
#megs: 128
#megs: 64
#megs: 32
#megs: 16
#megs: 8


================================================
FILE: .conf.amigaos
================================================
#!/bin/sh
#
# These options should work on Amiga/MorphOS
#

./configure --with-amigaos --disable-shared ${CONFIGURE_ARGS}


================================================
FILE: .conf.everything
================================================
# This script tries to turn on nearly every configure option.
# It is useful for finding compile problems, but it may turn on
# more things than you actually want.

./configure \
  --enable-smp \
  --enable-x86-64 \
  --enable-all-optimizations \
  --enable-long-phy-address \
  --enable-configurable-msrs \
  --enable-debugger \
  --enable-debugger-gui \
  --enable-fpu \
  --enable-alignment-check \
  --enable-3dnow \
  --enable-monitor-mwait \
  --enable-protection-keys \
  --enable-svm \
  --enable-vmx=2 \
  --enable-avx \
  --enable-evex \
  --enable-perfmon \
  --enable-memtype \
  --enable-x86-debugger \
  --enable-a20-pin \
  --enable-instrumentation=instrument/example1 \
  --enable-ne2000 \
  --enable-e1000 \
  --enable-pci \
  --enable-clgd54xx \
  --enable-voodoo \
  --enable-usb \
  --enable-usb-ohci \
  --enable-usb-ehci \
  --enable-usb-xhci \
  --enable-cdrom \
  --enable-sb16 \
  --enable-es1370 \
  --enable-gameport \
  --enable-busmouse \
  --enable-iodebug \
  --enable-large-ramfile \
  --enable-show-ips \
  --with-all-libs


================================================
FILE: .conf.linux
================================================
#!/bin/sh
#
# .conf.linux
#

#which_config=normal
which_config=plugins

CC="gcc"
CXX="c++"
CFLAGS="-Wall -O3 -fomit-frame-pointer -pipe"    # for speed
#CFLAGS="-Wall -g -pipe"                         # for development
CXXFLAGS="$CFLAGS"

export CC
export CXX
export CFLAGS
export CXXFLAGS


case $which_config in

  normal)

    #######################################################################
    # configuration 1 for release binary RPMs
    # Include a few standard options, speed optimizations, X11 only.
    #######################################################################
    ./configure --enable-sb16 \
                --enable-ne2000 \
                --enable-all-optimizations \
                --enable-cpu-level=6 \
                --enable-x86-64 \
                --enable-vmx=2 \
                --enable-pci \
                --enable-clgd54xx \
                --enable-voodoo \
                --enable-usb \
                --enable-usb-ohci \
                --enable-usb-ehci \
                --enable-usb-xhci \
                --enable-busmouse \
                --enable-es1370 \
                --enable-e1000 \
                --enable-show-ips \
                ${CONFIGURE_ARGS}
    ;;

  plugins)
    #######################################################################
    # configuration 2 for release binary RPMs
    # Include plugins, every possible gui.
    #######################################################################
    ./configure --enable-sb16 \
                --enable-ne2000 \
                --enable-all-optimizations \
                --enable-cpu-level=6 \
                --enable-x86-64 \
                --enable-vmx=2 \
                --enable-pci \
                --enable-clgd54xx \
                --enable-voodoo \
                --enable-usb \
                --enable-usb-ohci \
                --enable-usb-ehci \
                --enable-usb-xhci \
                --enable-busmouse \
                --enable-es1370 \
                --enable-e1000 \
                --enable-plugins \
                --enable-show-ips \
                --with-all-libs \
                ${CONFIGURE_ARGS}
    ;;

esac


================================================
FILE: .conf.macos
================================================
#!/bin/sh

# This script will run configure for a Macintosh/CodeWarrior Pro
# environment.  I actually run this on my Linux machine, but
# the generated files are for a Mac.

set echo

# These really just make ./configure happy on your Unix machine.
# They are not the options used on your Mac.
CC="gcc"
CFLAGS=""
CXX="$CC"
CXXFLAGS="$CFLAGS"

export CC
export CXX
export CFLAGS
export CXXFLAGS

./configure --target=ppc-macos \
            --enable-sb16 \
            --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-vmx=2 \
            --enable-pci \
            --enable-clgd54xx \
            --enable-voodoo \
            --enable-usb \
            --enable-usb-ohci \
            --enable-usb-ehci \
            --enable-usb-xhci \
            --enable-busmouse \
            --enable-es1370 \
            --enable-e1000 \
            --enable-plugins \
            --with-macos \
            ${CONFIGURE_ARGS}

unset echo


================================================
FILE: .conf.macosx
================================================
#!/bin/sh

# this sets up the compile for MacOS X
#
# To support plugins on macosx, you must have "dlcompat" installed.  You can
# get dlcompat by installing the fink package "dlcompat-devel".  On the SF
# compile farm, dlcompat is in /sw/include and /sw/lib, so we have added
# those paths to the environment variables.

set echo
CFLAGS="-pipe -O3 -I/sw/include -fomit-frame-pointer -finline-functions -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-labels=16 -falign-loops-max-skip=15 -falign-jumps-max-skip=15 -fprefetch-loop-arrays $CFLAGS"
CPATH="/sw/include"
CPPFLAGS=""
CXXFLAGS="$CFLAGS"
LDFLAGS="-L/sw/lib"

export CFLAGS
export CPATH
export CPPFLAGS
export CXXFLAGS
export LDFLAGS

./configure --enable-sb16 \
	    --enable-ne2000 \
	    --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-vmx=2 \
            --enable-pci \
            --enable-clgd54xx \
            --enable-voodoo \
            --enable-usb \
            --enable-usb-ohci \
            --enable-usb-ehci \
            --enable-usb-xhci \
            --enable-busmouse \
            --enable-es1370 \
            --enable-e1000 \
	    --enable-plugins \
	    ${CONFIGURE_ARGS}


================================================
FILE: .conf.nothing
================================================
#!/bin/sh
#
# These are the steps I typically use to configure and compile Bochs
# on a Win32 system with cygwin (v.20.1)
#

CC="gcc"
CXX="g++"
CFLAGS="-O3 -Wall -Wno-format"
CXXFLAGS="$CFLAGS"

export CC
export CXX
export CFLAGS
export CXXFLAGS

./configure --enable-cpu-level=3 \
            --disable-fpu \
            --disable-pci \
            --with-nogui


================================================
FILE: .conf.sparc
================================================
#!/bin/sh

#
# These are the steps I typically use to configure and compile Bochs.
#

# superSPARC w/ Solaris 2.x
set echo
CC="gcc"
CXX="g++"
#CFLAGS="-Wall -O2 -mv8 -msupersparc -mno-epilogue"
CFLAGS="-Wall -O2 -mv8 -msupersparc"
#CFLAGS="-Wall -O2 -g"
CXXFLAGS="$CFLAGS"


export CC
export CXX
export CFLAGS
export CXXFLAGS

./configure --enable-ne2000 \
	    --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-pci \
	    --enable-clgd54xx \
	    --enable-usb 

unset echo


================================================
FILE: .conf.win32-cygwin
================================================
#!/bin/sh
#
# These are the steps I typically use to configure and compile Bochs
# on a Win32 system with Cygwin (v1.7.28) or MinGW/MSYS.
#

CC="gcc"
CXX="g++"
#CFLAGS="-O3 -Wall -Wno-format -mno-cygwin" # for GCC versions < 4.7
CFLAGS="-O3 -Wall -Wno-format -mno-ms-bitfields"
CXXFLAGS="$CFLAGS"

export CC
export CXX
export CFLAGS
export CXXFLAGS

./configure --enable-sb16 \
            --enable-ne2000 \
            --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-vmx=2 \
            --enable-pci \
            --enable-clgd54xx \
            --enable-voodoo \
            --enable-usb \
            --enable-usb-ohci \
            --enable-usb-ehci \
            --enable-usb-xhci \
            --enable-busmouse \
            --enable-es1370 \
            --enable-e1000 \
            --enable-show-ips \
            --with-win32 --with-rfb --with-nogui


================================================
FILE: .conf.win32-vcpp
================================================
#!/bin/sh

set echo

./configure --target=pentium-pc-windows \
            --enable-sb16 \
            --enable-ne2000 \
            --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-vmx=2 \
            --enable-pci \
            --enable-clgd54xx \
            --enable-voodoo \
            --enable-usb \
            --enable-usb-ohci \
            --enable-usb-ehci \
            --enable-usb-xhci \
            --enable-busmouse \
            --enable-es1370 \
            --enable-e1000 \
            --enable-show-ips \
            --disable-readline \
            --without-x \
            --with-win32 --with-rfb --with-nogui

unset echo

# Fix up all makefiles so that nmake can handle them.
for i in `find . -name Makefile`; do
  echo Removing curly brackets in $i for NMAKE.
  mv $i $i.tmp
  sed -e 's/{/(/g' -e 's/}/)/g' < $i.tmp > $i
  rm -f $i.tmp
done


================================================
FILE: .conf.win64-cross-mingw32
================================================
#!/bin/sh
#
# Example script for configuring and compiling Bochs on Linux for Windows.
#

CC="x86_64-w64-mingw32-gcc"
CXX="x86_64-w64-mingw32-g++"
CFLAGS="-O3 -Wall -Wno-format -mno-ms-bitfields"
CXXFLAGS="$CFLAGS"
WINDRES="x86_64-w64-mingw32-windres"

export CC
export CXX
export CFLAGS
export CXXFLAGS
export WINDRES

./configure --host=x86_64-linux --target=x86_64-mingw32 \
            --enable-sb16 \
            --enable-ne2000 \
            --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-vmx=2 \
            --enable-pci \
            --enable-clgd54xx \
            --enable-voodoo \
            --enable-usb \
            --enable-usb-ohci \
            --enable-usb-ehci \
            --enable-usb-xhci \
            --enable-busmouse \
            --enable-es1370 \
            --enable-e1000 \
            --enable-show-ips \
            --disable-readline \
            --with-win32 --with-rfb --with-nogui \
            ${CONFIGURE_ARGS}


================================================
FILE: .conf.win64-vcpp
================================================
#!/bin/sh

set echo

./configure --target=x86_64-windows \
            --enable-sb16 \
            --enable-ne2000 \
            --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-vmx=2 \
            --enable-pci \
            --enable-clgd54xx \
            --enable-voodoo \
            --enable-usb \
            --enable-usb-ohci \
            --enable-usb-ehci \
            --enable-usb-xhci \
            --enable-busmouse \
            --enable-es1370 \
            --enable-e1000 \
            --enable-show-ips \
            --disable-readline \
            --without-x \
            --with-win32 --with-rfb --with-nogui

unset echo

# Fix up all makefiles so that nmake can handle them.
for i in `find . -name Makefile`; do
  echo Removing curly brackets in $i for NMAKE.
  mv $i $i.tmp
  sed -e 's/{/(/g' -e 's/}/)/g' < $i.tmp > $i
  rm -f $i.tmp
done


================================================
FILE: CHANGES
================================================
-------------------------------------------------------------------------
Changes in 2.7 (August 1, 2021):

Brief summary :
  - Bugfixes for CPU emulation correctness (CPUID/VMX/SVM fixes to support
    Windows Hyper-V as guest in Bochs)
  - Improvements for the plugin handling to simplify Bochs extensions
  - Added "multiple NICs" support to the NE2000 and E1000 devices
  - Added experimental FTP service for networking modules 'vnet' and 'socket'
  - Fixes and improvements for all supported Voodoo graphics adapters
  - Added USB keyboard emulation with most of the keys supported
  - GUI "cmdmode": create a headerbar event with key combo starting with F7
  - LGPL'd VGABIOS updated to version 0.8a (new VGABIOS for Voodoo Banshee)

Detailed change log :

- General
  - Improved plugins handling: all available plugins in path are detected at
    startup (including externally developed ones). These types are supported in
    Bochs configuration: config interfaces, display libraries, VGA compatile
    adapters, optional PCI/ISA devices, pluggable USB devices, disk image,
    networking and sound driver modules.
  - Save/Restore bugfixes
  - Removed legacy "load32bitOShack" feature.
  - Removed "svga" display library designed for the obsolete Linux SVGALib.

- Configure and compile
  - Added example shortcut script for cross compiling on Linux for Windows.
  - Visual Studio workspace files upgraded to VS2019 format.

- Config interface
  - The config interfaces 'textconfig' and 'win32config' are now plugins.
  - Switch config interface to 'textconfig' at runtime in case the gui doesn't
    support dialogs (rfb and vncsrv on Windows).

- CPU/CPUDB
  - Bugfixes for CPU emulation correctness (CPUID/VMX/SVM fixes to support Windows Hyper-V as guest in Bochs)
  ! CPUID: Added TigerLake CPU definition (features CET and CLWB support)

- Memory
  - Improved BIOS write support by implementing Intel(tm) flash chip emulation.

- Bochs Debugger and Instrumentation
  - Switching to new internal instruction disassembler implementation based on Bochs internal instruction decoder.
    New disassembler supporting natively all instruction extensions that Bochs is able to emulate, including AVX512*.
    Old disassembler module is outdate and was removed from the source tree.
  - Add more symbol lookups to disasm methods

- I/O Devices
  - Networking
    - Added "multiple NICs" support to the NE2000 and E1000 devices. Up to 4 devices
      per model are supported. Use the zero-based "card" parameter to specify device.
    - Added experimental FTP service for networking modules 'vnet' and 'socket'.
    - Fixes for iPXE network boot support (modules 'slirp', 'socket', 'vnet').
    - Added config file support for the 'vnet' module (similar to 'slirp').
    - Added log file support to 'bxhub' utility (networking module 'socket').
    - Packet logging in text format for the 'slirp' and 'vnet' modules controlled
      by runtime option ("pktlog" option in config).
  - VGA
    - Voodoo (all models): Now using CLUT for gamma correction in 16 bpp modes.
    - Voodoo2: Added most of the bitblt capabilities.
    - Voodoo Banshee: Added "Polygon Fill" command and 2D colorkey support.
    - Removed lfb_enabled switch from Bochs VBE code. Now banked and LFB writes
      to VRAM are always valid. Fixes GRUB bootloader menu when using Bochs VBE.
    - DDC: Added "ddc" parameter to the "vga" option to make it possible
      either to disable the DDC feature or to read the monitor EDID from file.
  - PCI (general)
    - Added config parameter to set up advanced PCI options. Now it is possible
      to disable ACPI or HPET in case the i440FX chipset is selected. For the
      i440BX chipset it is possible to disable the incomplete AGP subsystem.
  - USB
    - Added keyboard emulation with most of the keys supported.
    - Added support for USB packet logging in PCAP format.
    - Changed handling of device options in the USB port configuration
      (see bochsrc sample).
  - Sound
    - Added PC speaker volume control for the lowlevel sound support.

- GUI and display libraries
    - Added support for calling a headerbar handler after pressing F7 (enabled
      with "cmdmode" option / present in sdl, sdl2, win32 and x).
    - Added support for saving text mode snapshot in BMP format.
    - Write marker to log file by pressing "m" button (guis with "cmdmode" on).
    - X11 keymaps: added new one for Swiss-German and improved Italian map.
    - RFB / vncsrv: VGA features h/v pel panning and split screen now supported.
    - RFB: added support for the pixel format RGB332.
    - added display library option for disabling the Bochs gui console to use
      the default system console instead (rfb, sdl, sdl2, vncsrv, x).
    - win32: added display library option "autoscale" to scale a small
      simulation window by factor 2, 4 or 8 depending in desktop window size.
    - wx: fixed status bar handling to avoid segfaults and deadlocks.

- VGABIOS
  - LGPL'd VGABIOS updated to version 0.8a.
    - Added initial version of the VGABIOS for Voodoo Banshee adapters.
    - Added 'write character' support for non-VGA 8-bpp modes (Bochs VBE /
      Cirrus / Banshee). Cirrus code uses bitblt engine.
    - Fixed text output and scrolling in VGA graphics modes.
    - Some small fixes in the VBE code and several code optimizations.

- Misc
  - Added support for converting VDI images to another format with bximage.

-------------------------------------------------------------------------
Changes in 2.6.11 (January 5, 2020):

- General
  - Added 64-bit support to the NSIS installer script
  - Several fixes in the build system based on Debian patches

- CPU / CPUDB
  - Bugfixes for CPU emulation correctness
    - Many critical bugfixes for Protection Keys, AVX512*, VMX/SVM, SHA, GFNI emulation
  ! Implemented CET (Control Flow Enforcement Technology) emulation according to Intel SDM rev071

- I/O Devices
  - Added missing Cirrus SVGA bitblt feature "transparent color compare"
  - Some fixes in HPET emulation (patch by Oleg)
  - Fixed disk image lock mechanism in the USB MSD case

- BIOS / VGABIOS
  - LGPL'd VGABIOS updated to version 0.7b (Fixed VESA extension 'read EDID'
    for Bochs VBE and Cirrus)
  - Updated SeaBIOS ROM image to current version 1.13.0
  - Added SeaVGABIOS ROM image for the Cirrus adapter
  - Bochs BIOS built to work with CPU level 5 again

-------------------------------------------------------------------------
Changes in 2.6.10 (December 1, 2019):

Brief summary :
  - CPU: Bugfixes for CPU emulation correctness (critical bugfixes for PCID, ADCX/ADOX, MOVBE, AVX/AVX-512 and VMX emulation)
  - CPU: implemented AVX-512 VBMI2/VNNI/BITALG, VAES, VPCLMULQDQ / GFNI instructions emulation
  - VMX: Implement EPT-Based Sub-Page Protection
  - CPUID: Added new CPU models Skylake-X, Cannonlake and Icelake-U
  - CPUID: Implemented side-channel attack prevention reporting and corresponding MSR registers, enabled for Icelake-U
  - Added basic support for the i440BX PCI/AGP chipset.
  - Added basic Voodoo Banshee / Voodoo3 emulation support.
  - Added basic DDC support for the VGA-compatible adapters.
  - Implemented HPET emulation (ported from Qemu).

Detailed change log :

- General
  - Disabled legacy "load32bitOShack" feature.
  - Improved NSIS win32 installer script.

- CPU / CPUDB
  - Significant speedup to simulation of milti-threaded guest (patch by Luigu.B)
  - Bugfixes for CPU emulation correctness (critical bugfixes for PCID, ADCX/ADOX, MOVBE, AVX/AVX-512 and VMX emulation)
  ! x87: implemented FOPCODE and FDP deprecation features
  ! AVX-512: implemented AVX-512 VBMI2/VNNI/BITALG instructions
  ! Crypto: Implemented VAES instructions / VPCLMULQDQ / GFNI instruction
  ! VMX: Implement EPT-Based Sub-Page Protection
  ! CPUID: Added Skylake-X CPU definition (features AVX-512 support)
  ! CPUID: Added Cannonlake CPU definition (features more AVX-512 levels, UMIP, SHA, PKU support)
  ! CPUID: Added Icelake-U CPU definition (features more AVX-512 levels, UMIP, SHA, GFNI, VAES, PKU support)
  ! CPUID: Implemented SCA (Side-Channel-Attack) Prevention reporting and corresponding MSR registers, enabled for Icelake-U CPU definition

- Bochs Debugger and Instrumentation
  - Added support for conditional breakpoints and conditional step/continue to Bochs debugger
  - Support 'info tab' command for 64-bit mode as well
  - Bochs debugger improvements patch by Doug Gale
    - better handling of 64-bit addresses in the debugger, added support for 64 bit symbols,
      added more symbol lookups.

- I/O Devices
  - PCI
    - Added basic support for the i440BX PCI/AGP chipset.
  - Timers
    - Implemented HPET emulation (ported from Qemu).
  - Hard drive / HD image
    - Added support for unlocking disk images (locks leftover from previous
      Bochs session) with the new command line argument '-unlock'.
    - Added ATAPI command "get event status notification".
    - Bugfix: undoable/volatile mode images now inherit the base image geometry
      if present.
  - Voodoo
    - Voodoo1 emulation speedup with combined PCI / memory FIFO implementation
      and multi-threading support (separate FIFO thread).
    - Voodoo2 model now working after some fixes and implementation of the
      CMDFIFO (using FIFO thread) and one of the bitBLT functions.
    - Added Voodoo Banshee / Voodoo3 emulation support (still under construction,
      but basically usable). The AGP models are available if chipset is i440BX.
  - Display (general)
    - Added basic DDC support for Bochs VBE, Cirrus and Voodoo Banshee / Voodoo3
      adapters (reporting plug&play monitor "Bochs Screen").
  - USB
    - Now creating separate plugins for each USB device implementation.
    - Added sector size option for USB disks (size 1024 and 4096 supported).
  - Networking
    - bxhub: Added DNS service support for the server "vnet" and connected
      clients.
  - Sound
    - PC speaker now can play digitized sound by driving speaker gate.

- GUI and display libraries
  - Added new win32 gui option "traphotkeys" for fullscreen mode.
  - wx: Fixes and updates for wxWidgets 3.0 support.
  - Removed legacy guis "macos" and "svga" from display library auto-
    detection (still available using --with-XXX option).

- LGPL'd VGABIOS updated from CVS (VESA extension 'read EDID' for Bochs VBE
  and Cirrus added).

- Misc
  - Added sector size option to bximage for creating flat, sparse and growing
    mode images with big sectors (size 1024 and 4096 currently supported).

-------------------------------------------------------------------------
Changes in 2.6.9 (April 9, 2017):

Brief summary :
  - CPU: implemented new instructions and x86 architecture extensions.
  - Bugfixes for CPU emulation correctness.
  - Added Android host platform support.
  - Added USB EHCI device emulation support.
  - Added USB floppy (UFI/CBI) support.
  - Added ethernet module 'socket', designed to interconnect Bochs instances.
  - Show textconfig at runtime in the Bochs VGA window (gui console).

Detailed change log :

- General
  - Added new log action "warn", designed to show a message box on error events.
  - Show message box before exit if log action is set to "fatal".
  - Added macro BX_FATAL for all cases when continuing is not recommended, since
    it can cause an application crash or incorrect simulation behaviour.

- Configure and compile
  - Added Android host platform support.
  - Configure script now prints warnings for features not maintained yet.

- GUI and display libraries
  - Show the runtime configuration in the Bochs VGA window (gui console) instead
    of console / xterm (rfb, sdl, sdl2, vncsrv and X11 guis).
  - SDL2: Added get/set clipboard text support.

- CPU / CPUDB
  - Bugfixes for CPU emulation correctness (critical bugfix for x86-64 and AVX opcodes emulation,
    fixed assertion failures in proc_ctrl.cc)
  ! VMX: Implemented Page Modification Logging (PML)
  ! VMX: Implemented TSC Scaling Extension
  ! Paging: Implemented Protection Keys
  ! Implemented UMIP: User Mode Instruction Prevention (don't allow execution of SLDT/SIDT/SGDT/STR/SMSW with CPL>0)
  ! Implemented RDPID instruction
  ! Implemented VPOPCNTD/VPOPCNTQ AVX512 instructions
  ! Implemented XSAVES/XRSTORS instructions and IA32_XSS MSR
  ! Implemented Translation Cache Extensions (TCE) for AMD CPUID and EFER.TCE control
  ! Implemented CLZERO instruction (AMD), enabled in Ryzen CPU model
  ! Implemented MONITORX/MWAITX instructions (AMD), enabled in Ryzen CPU model
  ! CPUDB: Added AMD Ryzen configuration to CPUDB

- I/O Devices
  - Busmouse
    - Added standard bus mouse support in addition to the existing InPort
      emulation code. (patch by Ben Lunt).
  - Hard drive
    - Implemented lock mechanism for hard disk images. An image that is opened
      in r/w mode cannot be used multiple times (e.g. by another Bochs session).
    - Several fixes in some disk image modes.
  - Serial / Parallel ports
    - Added support for changing output file at runtime.
  - Networking
    - Added ethernet module 'socket', designed to interconnect Bochs instances
      with external program 'bxhub' (simulating a multi-port ethernet hub).
    - Now creating separate plugins for each network driver implementation
      (slirp, win32, etc.).
  - Sound
    - Added PCM output data resampling in a separate thread. The resampler
      requires either libsamplerate or the SoX resampler library installed.
    - SDL: Added audio capture support (requires library version >= 2.0.5).
    - Now creating separate plugins for each sound driver (alsa, win, etc.).
  - USB
    - Added USB EHCI device emulation support (EHCI core ported from Qemu).
    - Added USB floppy (UFI/CBI) support (patch by Ben Lunt).
    - Added asynchronus USB packet completion support (needed by disk/cdrom
      seek and read/write latency emulation).
    - Implemented USB remote wakeup mechanism.
    - Fixed NAK response handling in all USB HCs.
    - USB printer: added support for changing output file at runtime.
    - Added common USB device option "debug" to turn on BX_DEBUG reporting at
      connection time.

- ROM BIOS
  - Implemented Bochs BIOS option "fastboot" for skipping the boot menu delay.

-------------------------------------------------------------------------
Changes in 2.6.8 (May 3, 2015):

- CPU / CPUDB
  - Bugfixes for CPU emulation correctness (critical bugfix for x86-64 emulation)
  - Memory type calculation support for Bochs debugger and instrumentation,
    to enable configure with --enable-memtype option.
  - CPUDB: Added Pentium (P54C) configuration to CPUDB
  - CPUDB: Added Broadwell ULT configuration to CPUDB
  - Updated definition of instrumentation callbacks, see description in
    instrumentation.txt / Fixed instrumentation examples

- Configure and compile
  - Configure option --enable-fast-function-calls now also used for MSVC nmake.
  - Some configure fixes for the GTK debugger support.

- GUI and display libraries
  - The VGA update timer mode now can be selected with the 'vga' option.
  - Release all pressed keys when the simwindow gets back the keyboard focus.
  - Win32 gui: Captured mouse cursor now really trapped in window.
  - SDL2: Implemented yes/no dialog (e.g. for VVFAT commit).
  - Some fixes for wxWidgets 3.0 and unicode version compatiblity.
  - Full save/restore support for enhanced gui debugger settings (window+font).
  - Added debugger support for the term gui using a pseudo-terminal.

- I/O Devices
  - Hard drive
    - Added Oracle(tm) VM VirtualBox image support (VDI version 1.1)
    - Re-enable "bulk I/O" repeat speedups extension.
    - Some lowlevel cdrom code fixes for Windows and Linux.
  - Sound
    - SB16: Fixed OPL chip detection by implementing ISA bus delay.
    - SB16: Ported OPL3 emulation from DOSBox and partly removed legacy code.
    - ES1370: Added MIDI UART output support.
    - ES1370: Fixed critical bug that made Win9x drivers crash.
    - Major rewrite of the lowlevel sound code.
      - Added mixer thread support (required for all modules except 'sdl').
      - New mixer and SDL mixer are polling data from the PCM output buffers,
        the PC speaker beep generator and the OPL3 FM generator.
      - PCM format conversion to 16 bit signed little endian.
      - Added sound 'file' module for VOC, WAV, MID and raw data output
        and added dual output support (device+file) in midi/wave mode 3.
      - Added capability to set up the sound driver per service.
  - Floppy
    - Fixed "Read ID" command for single-sided media (patch by Ben Lunt).

- ROM BIOS
  - Fixed keyboard scancode processing after keyboard intercept.
  - Fixed rombios32 code to avoid incorrect ACPI table detection.

-------------------------------------------------------------------------
Changes in 2.6.7 (November 2, 2014):

- CPU / CPUDB
  - Implemented AVX-512BW/AVX-512DQ/AVX-512VL extensions emulation.
  - implemented AVX512-IFMA532 instructions emulation.
  - implemented AVX512-VBMI instructions emulation.
  - Bugfixes for CPU emulation correctness (critical fixes for AVX-512, CMPXCHG16B and VMX)
  - Fixed Bochs segmentation fault crash with Handlers Chaining Speedups enabled when
    compiling with gcc, especially with low optimization levels.
  - Reverted removal of reporting Architectural Perfmon support in pre-defined CPUID modules.
    Windows 8 and Windows 10 require Performance Monitoring to be reported to boot.
    To workaround possible Windows 7 64-bit installation issues: use bx_generic CPUID module,
    which doesn't report Performance Monitoring in CPUID.

- GUI and display libraries
  - The VGA update timer and the status LED timer now always use the realtime mode
    independent from the 'clock' option setting.
  - Added native SDL2 GUI support to Bochs. To enable configure with --with-sdl2.
  - Added new user shortcut "scrlck" (SDL/SDL2 using "Scroll Lock" for fullscreen toggle).
  - Write enhanced gui debugger settings to file on exit and restore on initialization.

- I/O Devices
  - USB
    - xHCI model now emulates a NEC/Renesas uPD720202 device (patch by Ben Lunt).
    - Added USB port specific option 'size' for VVFAT disks (range 128M ... 128G).
      If the size is not specified or invalid, it defaults to 504M.
  - Hard drive / HD image
    - Fixed crash when using a "fixed" type VPC image.

- ROM BIOS
  - Fixed int74_function() for 4-byte (wheel mouse) packets.

- LGPL'd VGABIOS updated from CVS (fixed building VBE modes list)

- Misc
  - Visual Studio workspace files updated to VS2013Ex format.
  - bximage_old/bxcommit: removed old obsolete image manipulation tools.
  - Documentation fixes and updates.

-------------------------------------------------------------------------
Changes in 2.6.6 (June 15, 2014):

- CPU / CPUDB
  - allow sandy bridge configuration even when AVX is not compiled in

- Configure and compile
  - fixed compilation error when 3dnow support is enabled
  - speedup Visual Studio build by almost 20% by adding /Gr compiler option

- Misc
  - fixed minimizing win32 gui window and resolution change while minimized
  - added compiled SeaBIOS 1.7.5 image into Bochs tree along with Bochs BIOS images
  - documentation fixes and updates

-------------------------------------------------------------------------
Changes in 2.6.5 (June 1, 2014):

Brief summary :
- CPU: extra 5-10% emulation speedup with new trace linking optimization
- CPU: implemented new instructions (e.g. AVX-512, SHA, XSAVEC)
- CPUDB: added 2 new CPU models
- Bugfixes for CPU emulation correctness (including some critical ones)
- Gui debugger output window now can be used as a log viewer
- Added built-in slirp (user-mode networking) support (ported from Qemu)
- Added global sound config option and volume control support to the devices
- Added new experimental gui 'vncsrv" using the LibVNCServer library
- Rewrite of the bximage utility in C++ for image creation, conversion and resize

Detailed change log :

- CPU
  - Bugfixes for CPU emulation correctness (critical fixes for XSAVE, VMX, TBM/BMI and RDRAND instructions)
  - Implemented FCS/FDS Deprecation CPU feature
  - Implemented SHA instructions emulation
  - Implemented XSAVEC instruction emulation and XINUSE optimization in the XSAVEOPT instruction
  - Implemented AVX-512 instructions emulation (experimental)
  ! CPUDB: Added Intel(R) Core(TM) i7-4770 CPU (Haswell) configuration to CPUDB
  ! CPUDB: Added AMD A8-5600K APU (Trinity) configuration to CPUDB

  - Replace 'SSE' and 'AVX' .bochsrc option with single 'SIMD' option which controls presence
    of all CPU SIMD extensions from SSE to AVX-512

  - Extra 5-10% emulation speedup with new trace linking optimization. The optimization
    is enabled by default when configuring with --enable-all-optimizations option,
    to disable trace linking optimization configure with --disable-trace-linking.
    The optimization require to compile Bochs with at least -O2 optimization level on gcc.

- Bochs Debugger and Instrumentation
  - Added disasm for Bochs internal instruction representation, especially useful for instrumentation
  - Updated definition of instrumentation callbacks, see description in
    instrumentation.txt / Fixed instrumentation examples
  - added capability to use the gui debugger output window as a log viewer

- General
  - Increased max. device log prefix size to 6 and added / modified prefixes
  - plugin version now uses the native DLL handling code for all Windows ports
  - critical bugfixes in save/restore functionality

- Configure and compile
  - configure and compilation fixes for Cygwin and Visual Studio environment
  - configure option --enable-cdrom now only controls the presence of
    platform-specific code for device access
  - building plugin version with MSVC nmake now supported

- Config interface
  - Added global sound control option for the driver and wave input/output
  - Added new bochsrc option to control the speaker output mode
  - Added support to specify the initial time for 'clock' option in ctime(3) string format
  - Added support for the LTDL_LIBRARY_PATH variable with MSVC plugins
  - All SB16 / ES1370 options are now changeable at runtime
  - textconfig: added menu item for saving configuration at runtime
  - Added bochsrc option for the Voodoo Graphics emulation (experimental)

- I/O Devices
  - Hard drive / CD-ROM
    - seek latency implemented for ATA/ATAPI read commands
    - portable ISO image file access now available on all platforms
  - Networking
    - added built-in slirp (user-mode networking) support (ported from Qemu)
    - removed the "slirp backend" support (required external slirp binary)
    - slirp/vnet: all supported TFTP extension options implemented now
  - Sound
    - SB16 / ES1370: added volume control support for wave output
    - SB16: fixed audio distortion when playing stereo wave files
    - ES1370: added 'wavemode' support similar to the SB16
    - soundwin: added capability to specify the ID of the MIDI device to use
  - Serial
    - Serial mouse detection fixes
  - Busmouse
    - Non-functional device rewritten to make it work in DOS and Win95 guests
      (use --enable-busmouse to configure and "mouse: type=bus" at runtime)

- ROM BIOS
  - PS/2 mouse function: allow setting mouse packet size to 4 for wheel support

- GUI and display libraries
  - Added new experimental gui 'vncsrv" using the LibVNCServer library
  - RFB: set maximum resolution to 1280x1024 (same as vncsrv)
  - RFB: don't wait for client connection on startup if timeout is set to 0
  - Added mouse wheel support to the rfb, vncsrv and wx guis
  - wx: added viewer window for the Bochs log output
  - win32: fixes and improvements for the fullscreen mode

- Tools
  - bximage utility rewritten in C++ for image creation, conversion, resize
    and redolog commit. Now vmware4 and vpc images can be created.

-------------------------------------------------------------------------
Changes in 2.6.2 (May 26, 2013):

- CPU
  - VMX: implemented VMENTER to non-active guest state (HLT, SHUTDOWN, WAIT-FOR-SIPI)
  - VMX: fixed write of guest segment access rights VMCS fields (32-bit field
    was truncated to 16-bit)
  - CPUID: Don't report Architectural Performance Monitoring in CPUID.
    Reporting true capabilities without actually supporting them breaks Win7 x64 installation.
  - CPUID: Fixed bx_generic CPUID std leafs (all std leafs > 2 were corrupted)
  - CPUID: Enable all supported VMX capabilities for bx_generic CPUID configuration.
  - CPUID: Enable X2APIC support for Ivy Bridge CPUDB configuration.

- Configure and compile
  - Enabled VMX compilation by default in shortcut scripts.
  - Allow CPU_LEVEL=5 configurations (pentium_mmx and amd_k2_chomper) even when Bochs was
    compiled with CPU_LEVEL > 5.

- Misc
  - Fixes for Bochs port on MorphOS (based on a patch by Thore Sittly):
    missing functions, byte-swapping and cdrom support.

-------------------------------------------------------------------------
Changes in 2.6.1 (April 7, 2013):

- CPU / CPUDB
  - Bochs is fully aligned with rev45 of the of Intel(R) Architecture Manual.
    - Implemented Supervisor Mode Access Prevention (SMAP) support
    - Implemented VMX APIC Registers Virtualization and VMX Virtual Interrupt Delivery
    - Implemented VMCS Shadowing and #VE exception secondary VMEXIT controls emulation
    - Implemented RDRAND and RDSEED instructions
  ! CPUDB: Added AMD FX-4100 (Zambezi) configuration to CPUDB
  - Bugfixes for CPU emulation correctness (critical fixes for SVM and AVX2 emulation)

- Bochs Debugger and Instrumentation
  - Use Enhanced GUI Debugger instead of old-style wx debugger with wx gui.
    The old-style wx debugger support was deprecated and removed from the source code.

- I/O Devices
  - Implemented 3dfx Voodoo Graphics card emulation based on DOSBox patch, to enable
    configure with --enable-voodoo option.
  - Hard drive / HD image
    - Added full save restore support for most of the disk image formats
    - undoable / volatile mode: added support of other types of r/o base images
    - DLL HD support rewritten and enabled for WIN32 host
  - PCI chipset
    - Implemented i430FX chipset emulation
    - USB UHCI always enabled in the i440FX case

- Config interface
  - Configure option --enable-misaligned-sse moved to runtime option in .bochsrc. The old
    option is deprecated and should not be used anymore.
  - moved 'user_shortcut' bochsrc option to the 'keyboard' option
  - save log options per device to bochsrc
  - win32: implemented scrollable dialog items for large parameter lists

- GUI and display libraries
  - Graphics snapshot feature rewritten to support all kinds of graphics modes
  - wx: starting a second simulation without closing Bochs now almost possible

- Tools
  - bxcommit: added support for converting flat to growing mode images

-------------------------------------------------------------------------
Changes in 2.6 (September 2, 2012):

Brief summary :
- More than 10% CPU emulation speedup !
- Support for AMD's SVM hardware emulation (including extended XAPIC support).
- Implemented support for new x86 ISA extensions.
  Bochs is fully aligned with rev043 of Intel(R) Architecture Manual.
- Improved emulation accuracy (critical fixes for APIC, VMX and AVX/XOP emulation).
- Bochs internal debugger: new command to show state of a device from the debugger.
- ROM BIOS: improved PCI boot ROM support (for VGA and other devices)
- Networking:
    - Ported Intel(R) 82540EM Gigabit Ethernet adapter emulation from Qemu.
    - Added PCI network boot ROM support to all network adapters.
    - Added TFTP support to the 'slirp' networking module.
- Harddrive: added support for VirtualPC disk images, fixed sparse disk images.
- Sound:
    - implemented PC speaker beep using the lowlevel sound interface.
    - SDL audio output support.
- Added ability to set log action per device from .bochsrc.
- Moved disk imaging, networking, sound and USB devices to subdirectories
  in the iodev folder.

Detailed change log :

- CPU
  - Implemented EPT A/D extensions support.
    Bochs is fully aligned with rev043 of the of Intel(R) Architecture Manual.
  - Implemented ADX (ADCX/ADOX) instructions support, the feature can
    be enabled using .bochsrc CPUID option.
  - More than 10% CPU emulation speedup with even more optimal lazy flags
    handling, stack access optimizations and cross branch trace linking.
  - Support for AMD's SVM hardware emulation in Bochs CPU, to enable
    configure with --enable-svm option
  - Implemented AMD Extended XAPIC support, to enable set .bochsrc CPU
    APIC option to 'xapic_ext'
  ! Added Corei5 750 (Lynnfield) configuration to the CPUDB
  ! Added Turion64 (Tyler) configuration to the CPUDB
  ! Added AMD Phenom X3 8650 (Toliman) configuration to the CPUDB
  ! Added Corei7 3770K (Ivy Bridge) configuration to the CPUDB
  - Bugfixes for CPU emulation correctness and stability
    (critical fixes for APIC/X2APIC, VMX and AVX/XOP emulation)

- Bochs Debugger and Instrumentation
  - Implemented new debugger command 'info device [string]' that shows the
    state of the device specified in 'string'
  - Improved debug dump for ne2k, pci, pic and vga/cirrus devices. Added
    debug dump for pci2isa, i/o apic, cmos, pit, floppy and dma devices.
  - Added TLB to CPU param tree - now it can be browsed from Bochs internal
    debugger and Bochs debugger GUI through param tree interfaces
  - Implemented 'writemem' debugger command to dump virtual memory block
    starting from selected linear address into a file
  - Updated definition of instrumentation callbacks, see description in
    instrumentation.txt / Fixed instrumentation examples

- Configure and compile
  - Moved disk imaging, networking, sound and USB devices to subdirectories
    in the iodev folder.
  - pcidev: enable support for Linux kernel 3.x (Debian patch by Guillem Jover)
  - debugger: generate parser / lexer files only if all required tools are present

- Config interface
  - Added support for direct device plugin loading with bochsrc directive for
    devices which have the same name for the plugin and config option.
  - The bochsrc option 'plugin_ctrl' can now be used to load/unload optional
    plugins directly when parsing the config file or command line. See the bochsrc
    sample for supported devices.
  - Moved bochsrc parsing / writing and config parameter handling for networking,
    sound and USB devices to the plugin device code. The options are only
    available when the corresponding plugin device is loaded.
  - Added ability to set log action per device from .bochsrc.
  - Added new command line option '-noconsole' to disable the console
    window on Windows host.
  - Renamed PCI Pseudo NIC option to "pcipnic" (for direct plugin loading)
  - Moved several related options to the new "keyboard" bochsrc option.
  - Added new parameter 'rtc_sync' for the 'clock' option. If this option
    is enabled together with the realtime synchronization, the RTC runs
    at realtime speed.
  - Moved MWAIT_IS_NOP bochsrc option from CPUID to CPU so it can be set
    even if cpu was configured using pre-defined CPUDB profile.
  - Allow larger CPU 'quantum' values when emulating SMP systems for speed
    (quantum values up to 32 are allowed now).

- I/O Devices
  - Networking
    - Ported Intel(R) 82540EM Gigabit Ethernet adapter emulation from Qemu,
      to enable configure with option --enable-e1000
    - Added PCI network boot ROM support to all network adapters
    - Added TFTP support to the 'slirp' networking module
  - PCI
    - added "auto-assign to PCI slot" feature for PCI-only devices
  - DMA
    - Added the capability to transfer more then one byte / word per ISA DMA cycle
  - VGA
    - Major rewrite of the vga / cirrus code:
      - vgacore (shared standard VGA emulation code)
      - vga (Bochs VBE and PCI VGA)
      - cirrus (CL-GD 5430 ISA / CL-GD 5446 PCI)
    - Added VGA graphics blinking support
    - More accurate vertical and horizontal retrace emulation
      (based on the DOSBox implementation)
  - hard drive / hdimage
    - added new disk image mode 'vpc' for VirtualPC images
    - undoable mode: added coherency check (flat image size and timestamp)
    - sparse mode: fixed read support
  - Sound
    - implemented PC speaker beep using the lowlevel sound interface
    - added SDL audio output support

- ROM BIOS
  - improved PCI boot ROM support (for VGA and other devices)
  - added MADT entry for Interrupt Source Override to ACPI tables

- GUI and display libraries
  - implemented "auto-off" timer for status LEDs indicating a data transfer
  - Added support for sending absolute mouse position values from the gui if an
    absolute pointing device (USB tablet) is active (rfb, sdl, win32, wx, x).
  - Gui debugger now supported when using sdl gui on Windows
  - Implemented "hideIPS" option in rfb, sdl, win32 and wx libraries
  - wx: fixed random freezes with wxGTK and "show ips" feature enabled
  - rfb: the "show ips" feature now works on Windows host

- Tools
  - bxcommit: added support for converting growing to flat mode images
  - bxcommit: support command line options and non-interactive (quiet) mode
  - bximage: increased maximum disk size to 8 TB

- SF patches applied
  [3540389] Patch 5 : Change memory reference functions argument order by Yeong-uk Jo
  [3539254] Patch 4 : Memory reference optimization 2 by Yeong-uk Jo
  [3539251] Patch 3 : Memory reference optimization by Yeong-uk Jo
  [3539237] Patch 2 : Some optimization by Yeong-uk Jo
  [3539228] Patch 1 : ROM BIOS Compatibility patch by Yeong-uk Jo
  [3505209] Fixed combo box size by Konrad Grochowski
  [2864391] Gui debugger default regs by Thomas Nilsen
  [3486555] Fix critical stack leak in Win32 GUI by Carlo Bramini

- these S.F. bugs were closed/fixed
  [625877]  wx: power button -> thread deadlock
  [3534063] Configure does not check for flex presence
  [3555237] NE2000 doesn't compile on OS/X
  [3553168] X doesn't build in latest code on OS/X
  [3550175] Crash when saving snapshot to directory instead of file
  [3548109] VMX State Not Restored After Entering SMM on 32-bit Systems
  [3548108] VMEXIT Instruction Length Not Always Getting Updated
  [3545941] Typo in preprocessor symbol
  [3538731] Missing CR8 register
  [3538574] Missing XD flag ( Execute Disable ) when showing PTEs
  [3537556] Missing initializations
  [3537309] Unable to use the debug GUI with SDL and plugins
  [3537473] GUI debugger only shows 32-bit CRx registers in x86-64 mode
  [3533426] UHCI PCI interrupts
  [3459359] svga cirrus initialization
  [3535228] info gdt does not show long mode segments
  [3531806] Bochs crashes (SIGSEGV) when starting via ssh console
  [3531807] Various missing initialization values reported by Valgrind
   [635789] mapping mode 0 not supported
  [3307201] BOCHS panics when execute HBIOS.COM
  [3528809] IO APIC index register width
  [3528516] Missing #if in soundmod.h
  [3526069] MADT:Interrupt Source Override missed
  [3518753] update dump after manual chages to memory contents
  [3516859] bug in svn e1000 module
  [3516029] stepping not working in debugger GUI in case of smp vm
  [3510403] closing config dialog box closes entire simulator
  [3459998] Bochs cannot be compiled outside the source tree
  [2905969] can't use --enable-gdb-stub on vs2008
  [3294001] Bochs GUI doesn't appear properly for 2nd Bochs copy
  [3493315] Changing VGA 9/8 dot mode causes screen corruption

- these S.F. feature requests were closed/implemented
  [3540441] automatically enable devices in plugin control
  [1251456] command line method to query bochs for features
  [3409396] sdl sound
  [3519794] debugger's ability to save physical/linear memory dumps
  [1429612] Idea how to speedup simulation - stack direct access
  [1703452] Other Network Devices?
  [2919376] Disable show the console window
   [534271] can't set log action by device (bochsrc)

-------------------------------------------------------------------------
Changes in 2.5.1 (January 6, 2012):

- CPU / CPUDB
  ! Added Athlon64 (Venice) configuration to the CPUDB
  - BMI: fixed EFLAGS after BMI instructions
  - MSR: access to AMD extended MSR space was impossible due to a bug in RDMSR/WRMSR
  - VMX: fixed VMFUNC instruction behavior to align with Intel SDM revision 041
  - VMX: fixed Bochs PANIC when doing I/O access crossing VMX I/O permission bitmaps
  - VMX: fixed VirtualBox VMX guest Guru Meditation - FS.BASE got corrupted after
    saving/restoring unusable FS selector
  - VMX: fixed VirtualBox failures with VMX+EPT enabled
  - Better report of supported CPUID features when not using pre-defined CPUID profile

- Debugger / Instrumentation
  - fixed typo - closing SF bug [3461405] step all command fails in SMP mode
  - instrumentation: added special indication for indirect call/jump

- Configure and compile
  - fixed compilation err in instrumentation call (tasking.cc)
  - fixed compilation err with x86 hw breakpoint enabled and CPU_LEVEL < 6
  - fixed compilation issue under win32 --with-nogui
  - added missing dependencies for cdrom_osx.o
  - removed very old deprecated configure options from configure script

- I/O Devices
  - fixed possible failures of PCI DMA transfers
  - VVFAT: several fixes in the optional write support (passes test with XP)
  - USB UHCI: some fixes to make it work in XP guest
  - removed devices 'acpi', 'ioapic' and 'pci_ide' from optional plugin control
    to avoid trouble

- Config interface / GUI and display libraries
  - added VMX .bochsrc option to control VMX support on runtime
  - fix for x86-64 .bochsrc option parsing (patch from @SF)
  - fix for @SF bug: Crash on WIN2K - ID: 3454214
  - added 'nokeyrepeat' option for the SDL and win32 gui

-------------------------------------------------------------------------
Changes in 2.5 (November 27, 2011):

         Bochs repository moved to the SVN version control !

Brief summary :

! Fully configurable CPU to emulate with a single .bochsrc option !
- 10% (ST) to 50% (SMP) CPU emulation speedup !
- Implemented support for new x86 ISA extensions, Bochs is aligned with
  latest published Intel Architecture Manual (rev 040, AVX rev 011):
     - XSAVEOPT, AVX/AVX2/FMA/F16C, BMI1/BMI2, SMEP, INVPCID, TSC-Deadline
     - VMX: VMX Preemption Timer, Pause Loop Exiting and VM Functions
- Implemented support for AMD SSE4A/XOP/FMA4/TBM instruction sets
- Networking: introduced new networking module 'slirp'
- Harddrive: fixed buffer overflow causing Bochs crash in LBA48 mode
- VGA: Added PCI ROM support to cirrus and pcivga and moved ROM loading
       for the ISA case to the vga code (SeaBIOS now usable by Bochs)
- Sound: ported ES1370 soundcard emulation from Qemu
- Continuing configure rework, check for more removed configure and .bochsrc
  options and their replacements !
- LGPL'd VGABIOS updated to version 0.7a

Detailed change log :

- CPU
  - Now you can configure CPU to emulate using a single .bochsrc option !
    The option selects CPU configuration to emulate from pre-defined list
    of supported configurations. When this option is used, Bochs CPU emulation
    engine is automatically configured to emulate a specific real hardware CPU,
    including exact CPUID matching reference hardware. Check .bochsrc example
    or check user manual for list of supported configurations and more details.
  * It is also possible to choose the CPU to emulate from Bochs command line
    using command line interface to .bochsrc: "cpu::model <cpu_name>"
  * Query for supported CPU models using command line option: -help cpu.

  - 10% emulation speedup with handlers chaining optimization implemented. The
    feature is enabled by default when configure with --enable-all-optimizations
    option, to disable handlers chaining speedups configure with
        --disable-handlers-chaining
  - New way of CPUs scheduling in SMP mode brings up to 50% speedup to the
    SMP emulation. New implementation uses dynamic CPU quantum value and takes
    full advantage of the trace cache. Each emulated processor will execute
    the whole trace before switching to the next processor.
  * It is also safe to use large (up to 16 instructions) quantum values for
    the SMP emulation now and improve performance even further.

  - Implemented Supervisor Mode Execution Protection (SMEP), the feature can
    be enabled using .bochsrc CPUID option.
  - Added support for XSAVEOPT instruction, the instruction can be enabled
    using .bochsrc CPUID option.
  - Added support for AVX and AVX2 instructions emulation, to enable configure
    with --enable-avx option. When compiled in, AVX still has to be enabled
    using .bochsrc CPUID option.
  - Added emulation of AVX float16 convert instructions, the feature can be
    enabled using .bochsrc CPUID option.
  - Added support for AVX2 FMA instructions emulation. The implementation
    was ported (with few bugfixes) from QEMU patch by Peter Maydell.
    The FMA instructions support can be enabled using .bochsrc CPUID option.
  - Added support for Bit Manipulation Instructions (BMI1/BMI2) emulation.
    The BMI instructions support can be enabled using .bochsrc CPUID option.
  - Added support for AMD SSE4A/XOP/FMA4/TBM extensions emulation, the
    instructions can be enabled using .bochsrc CPUID option.
  - Implemented VMX preemption timer VMEXIT control (patch by Jianan Hao)
  - Implemented Pause-Loop Exiting Secondary VMEXIT control.
  - Implemented VM Functions support and EPTP-Switching VM Function.
  - Added INVPCID instruction emulation support.
  - Added APIC timer TSC-Deadline mode emulation support.
  - Now you could disable x86-64 from .bochsrc so it become possible to
    emulate 32-bit CPUs using Bochs binary compiled with x86-64 support.
  - Updated/fixed instrumentation callbacks.
  - Bugfixes for CPU emulation correctness and stability.

- Bochs Internal Debugger and Debugger GUI
  - Bochs disassembler fixes / new instructions support.
  - Fixed timer breakpoint handling in Bochs internal debugger.
  - Fixed bug in Bochs internal debugger 'show off' command.
  - Added Bochs internal debugger command 'vmexitbp' to set breakpoint on
    VMX guest VMEXIT (patch by Jianan Hao). Type 'vmexitbp' in debugger
    command window to switch it on/off (similar to modebp).
  - Fixed linear to physical address translation by Bochs internal debugger
    for EPT unrestricted guest (VMX guest with paging disabled under EPT)
  - Fixed bug in GUI debugger SSE registers display.
  - Correctly display current CPU mode in GUI debugger status bar.
  - Turn off the mouse capture when the internal debugger or gdbstub enter
    the input loop.

- Memory
  - Added new configure option which enables RAM file backing for large guest
    memory with a smaller amount host memory, without causing a panic when
    host memory is exhausted (patch by Gary Cameron). To enable configure with
        --enable-large-ramfile option.

- Configure and compile
  - Fixed Bochs manifest for Win64 compilation using Microsoft Visual Studio
    command line compiler.
  - Added ability to configure CPUID family through .bochsrc.
    The default family value determined by configure option --enable-cpu-level.
  - Added ability to configure CPUID model through .bochsrc.
    The default model value is 3.
  - Added ability to configure x2apic support through .bochsrc.
    The APIC configuration could be selected using new CPUID .bochsrc APIC option.
    Possible configurations are: "legacy", "xapic" and "x2apic".
    Configure option --enable-x2apic and Bochs 2.4.6 .bochsrc XAPIC option are
    deprecated and should not be used anymore.
  - Configure option --enable-vbe is deprecated and should not be used anymore.
    The VBE support is always automatically compiled in, in order to enable
    VBE support the .bochsrc option "vga: extension=" has to be set to "vbe".
    If PCI is present, the "pcivga" device can be assigned to PCI slot.
  - Configure option --enable-acpi is deprecated and should not be used anymore.
    The ACPI support is always automatically compiled in if PCI is compiled in.
    The ACPI still could be disabled using .bochsrc 'plugin_ctrl' option.
  - Removed --enable-trace-cache configure option. The option will be always ON
    for any Bochs configuration.
  - Compile in MONITOR/MWAIT support by default for all cpu-level=6 configurations.
  - added support for MSVC DLL plugins with a separate workspace package.
    VS2008Ex can now create a BOCHS.EXE with a set of plugin DLLs.
    TODO: nmake still cannot create plugin DLLs.
  - removed some outdated / unmaintained parts from the Bochs code: BeOS host
    support, plex86 support, networking module 'arpback', text snapshot check
    feature.

- I/O Devices
  - Networking
    - new networking module 'slirp' (user mode networking using Slirp and a
      builtin DHCP server)
  - Hard drive / cdrom
    - fixed buffer overflow causing Bochs crash in LBA48 mode
    - implemented ATA commands "READ NATIVE MAX ADDRESS" and
      "READ NATIVE MAX ADDRESS EXT"
  - Sound
    - ported ES1370 soundcard emulation from Qemu, to enable configure with
      the option --enable-es1370
    - sound input implemented in the sound lowlevel modules for Windows and
      Linux (ALSA / OSS)
  - PCI
    - added framework for PCI ROM support
    - new bochsrc option 'pci' replaces the 'i440fxsupport' option. The 'chipset'
      parameter for now only accepts the value 'i440fx'.
  - VGA
    - added PCI ROM support to cirrus and pcivga and moved ROM loading for the ISA
      case to the vga code (SeaBIOS now usable by Bochs)
    - log prefix now depends on the selected extension (new prefix BXVGA for
      Bochs VBE support)
  - USB
    - experimental USB xHCI support (written by Ben Lunt)

  - LGPL'd VGABIOS updated to version 0.7a
    - implemented vgabios functions with AX=0x112x (patch by Hugo Mercier)
    - fixed DAC palette in 8 bpp VBE and Cirrus modes (using the same palette
      as VGA mode 0x13)
    - VBE: added HDTV resolutions (patch by Tristan Schmelcher)
    - VBE: added PCI ROM signature and data structure

  - ROM BIOS
    - Report memory above 4GB to BIOS (patch by Sebastian Herbszt)
    - added PCI ROM init code for BIOS-bochs-latest
      (WARNING: legacy BIOS no longer works with a PCI display adapter)

- GUI and display libraries
  - new parameter 'update_freq' for the 'vga' bochsrc option replaces the
    'vga_update_interval' option
  - vga update frequency now uses host timing if the realtime synchronization
    is enabled with the "clock" option (FIXME: it should always be used -
    independent from the "clock" setting)
  - Implemented graphics mode snapshot for VBE, Cirrus and standard VGA modes.
    CGA modes are not supported yet.
  - added 'x' display library option 'nokeyrepeat' to turn off keyboard repeat

- Config interface
  - win32paramdlg: dialog size now adjusted to support larger label text
  - win32paramdlg: added tooltip support using the parameter description

- SF patches applied
  [3412431] Enabling raw devices as hdimage by affiss
  [3435049] rombios: fix package size in pointing device flags 2 by Sebastian Herbszt
  [3426460] [PATCH] PIC: remove never-executed code by Christian Inci
  [3370604] Ctrl-Break support for the bochs BIOS by Nikolay Nikolov
  [3302668] VMX preemption timer by Jianan Hao
  [3327510] Fix wrong address translation in debugger by Jianan Hao
  [3323758] Ctrl-Break support for the Win32 gui by Nikolay Nikolov
  [3316785] Ctrl-Break support for the X11 gui by Nikolay Nikolov
  [3298173] Breakpoint on VMEXIT event by Jianan Hao
  [3295737] Fix CopyHost*WordLittleEndian macros by Heikki Lindholm
  [3289448] optimized powerpc byte swapping by Heikki Lindholm
  [3292581] Core Audio first aid by Heikki Lindholm
  [3205979] Compilation fixes for OpenBSD by Brad Smith
  [3290979] acpi/muldiv64 endian bug by Heikki Lindholm
  [3289459] Mac OS X audio missing framework dependency by Heikki Lindholm
  [3267459] fix xrandr related crash by Heikki Lindholm
  [3190995] add eth backend based on Slirp by Heikki Lindholm

- these S.F. bugs were closed/fixed
  [3365456] block device dimensions problem
  [3441564] interrupts vectors 0x67 should also be NULL ! cf: 2902118
  [2829847] Mouse locked during magic-break
  [3418621] release mouse when debugger breakpoint was hit
  [1947077] sb command bug
  [2802677] Unable to install Cirrus SVGA driver in guest Windows ME
  [3422638] large ramfile support broken on anything but Linux
  [3312237] stepN command might be not working properly
  [3392760] Bochs does not compile with linux3.0
  [3403746] segfault crash with sparse disk images
  [3062054] Problems with BIOS pointing device services (int 15h)
  [3277639] incompatible colours in palette
  [1788739] Abort on large memory setting
  [3012207] Int 13h FN 48h incorrect return values
  [3363289] holding shift key causes capslock hang
  [1819639] Two incompatible crc32 modules
  [3324111] configure for VCPP.NET issues
  [3190970] Installing linux causes a crash in pci_ide
  [3077616] Fedora 13 installation fails on Bochs 2.4.5
  [3294671] ./configure --enable-pci --disable-cdrom
  [3303818] wrong memory size is reported to GRUB (e820 problem?)
  [3297475] trace cache disabled mode will miss SMC
  [3170157] BIOS32 PCI service wrong length
  [3025030] PIT mistakenly connected to IRQ0 IOAPIC instead of IRQ2
  [3266738] GUI debugger does not update CPU mode correctly
  [3292571] SB16 doesn't reinit correctly
  [3175168] Cirrus CL-GD5446 emulation incorrect
  [3260134] Failed to compile when trace cache disabled
  [3197425] Error compile with vmx in vs2008/2010 and for correct x64

- these S.F. feature requests were closed/implemented
  [3424738] Legacy BIOS int13 AL=17/18h diskette issue
  [1197067] Screenshot for graphical
  [2800839] VMX-preemption timer
  [1507519] configurable CPUID
   [579002] Allow user to specify architecture
  [1228567] CPU option

-------------------------------------------------------------------------
Changes in 2.4.6 (February 22, 2011):

Brief summary :
- Support more host OS to run on:
  - Include win64 native binary in the release.
  - Fixed failures on big endian hosts.
- BIOS: Support for up to 2M ROM BIOS images.
- GUI: select mouse capture toggle method in .bochsrc.
- Ported most of Qemu's 'virtual VFAT' block driver
  (except runtime write support, but plus FAT32 support)
- Added write protect option for floppy drives.
- Bugfixes / improved internal debugger + instrumentation.

Detailed change log :

- CPU and internal debugger
  - Implemented Process Context ID (PCID) feature
  - Implemented FS/GS BASE access instructions support
    (according to document from http://software.intel.com/en-us/avx/)
  - Rewritten from scratch SMC detection algorithm
    - Implemented fine-grained SMC detection (on 128 byte granularity)
  - Bugfixes for CPU emulation correctness and stability
    - Fixed failures on Big Endian hosts !
  - Print detailed page walk information and attributes in
    internal debugger 'page' command
  - Updated/Fixed instrumentation callbacks

- Configure and compile
  - Bochs now can be compiled as native Windows x86-64 application
    (tested with Mingw gcc 4.5.1 and Microsoft Visual Studio Express 2010)
  - Added ability to configure CPUID stepping through .bochsrc.
    The default stepping value is 3.
  - Added ability to disable MONITOR/MWAIT support through .bochsrc
    CPUID option. The option is available only if compiled with
    --enable-monitor-mwait configure option.
  - Determine and select max physical address size automatically at
    configure time:
    - 32-bit physical address for 386/486 guests
    - 36-bit physical address for PSE-36 enabled Pentium guest
    - 40-bit physical address for PAE enabled P6 or later guests
  - Update config.guess/config.sub scripts to May 2010 revisions.
  - Update Visual Studio 2008 project files in build/win32/vs2008ex-workspace.zip
  - Added Bochs compilation timestamp after Bochs version string.

- GUI and display libraries (Volker)
  - Added new .bochsrc option to select mouse capture toggle method.
    In addition to the default Bochs method using the CTRL key and the
    middle mouse button there are now the choices:
    - CTRL+F10 (like DOSBox)
    - CTRL+ALT (like QEMU)
    - F12 (replaces win32 'legacyF12' option)
  - display library 'x' now uses the desktop size for the maximum guest resolution

- ROM BIOS
  - Support for up to 2M ROM BIOS images

- I/O Devices
  - 3 new 'pseudo device' plugins created by plugin separation (see below)
  - Fixes for emulated DHCP in eth_vnet (patch from @SF tracker)
  - Added support for VGA graphics mode with 400 lines (partial fix for SF bug #2948724)
  - NE2K: Fixed "send buffer" command issue on big endian hosts
  - USB
    - converted common USB code plus devices to the new 'usb_common' plugin
      Now the USB device classes no longer exist twice if both HC plugins are loaded.
    - added 'pseudo device' in common USB code for the device creation. This makes
      the HCs independent from the device specific code.
    - USB MSD: added support for disk image modes (like ATA disks)
    - USB printer: output file creation failure now causes a disconnect
    - re-implemented "options" parameter for additional options of connected
      devices (currently only used to set the speed reported by device and to
      specify an alternative redolog file of USB MSD disk image modes)
  - hard drive
    - new disk image mode 'vvfat'
      - ported the read-only part of Qemu's 'virtual VFAT' block driver
      - additions: configurable disk geometry, FAT32 support, read MBR and/or
        boot sector from file, volatile write support using hdimage redolog_t
        class, optional commit support on Bochs exit, save/restore file
        attributes, 1.44 MB floppy support, set file modification date/time
    - converted the complete hdimage stuff to the new 'hdimage' plugin
    - new hdimage method get_capabilities() that can return special flags
    - vmware3, vmware4 and vvfat classes now return HDIMAGE_HAS_GEOMETRY flag
    - other disk image modes by default return HDIMAGE_AUTO_GEOMETRY if
      cylinder value is set to 0
    - multiple sector read/write support for some image modes
    - new log prefix "IMG" for hdimage messages
  - floppy
    - added write protect option for floppy drives (based on @SF patch by Ben Lunt)
    - vvfat support
    - bugfix: close images on exit
  - SB16
    - converted the sound output module stuff to the new 'soundmod' plugin

- SF patches applied
 [3164945] hack to compile under WIN64 by Darek Mihocka and Stanislav
 [3164073] Fine grain SMC invalidation by Stanislav
 [1539417] write protect for floppy drives by Ben Lunt
 [2862322] fixes for emulated DHCP in eth_vnet

- these S.F. bugs were closed/fixed
 [2588085] Mouse capture
 [3140332] typo in mf3/ps2 mapping of BX_KEY_CTRL_R
 [3111577] No "back" option in log settings
 [3108422] Timing window in NE2K emulation
 [3084390] Bochs won't load floppy plugin right on startup
 [3043174] Docbook use of '_' build failure
 [3085140] Ia_arpl_Ew_Rw definition of error
 [3078995] ROL/ROR/SHL/SHR modeling wrong when dest reg is 32 bit
 [2864794] BX_INSTR_OPCODE in "cpu_loop" causes crash in x86_64 host
 [2884071] [AIX host] prefetch: EIP [00010000] > CS.limit [0000ffff]
 [3053542] 64 bit mode: far-jmp instruction is error
 [3011112] error compile vs2008/2010 with X2APIC
 [3002017] compile error with vs 2010
 [3009767] guest RFLAGS.IF blocks externel interrupt in VMX guest mode
 [2964655] VMX not enabled in MSR IA32_FEATURE_CONTROL
 [3005865] IDT show bug
 [3001637] CMOS MAP register meaning error
 [2994370] Cannot build with 3DNow support

- these S.F. feature requests were closed/implemented
 [1510142] Native Windows XP x64 Edition binary
 [1062553] select mouse (de)activation in bochsrc
 [2930633] legacy mouse capture key : not specific enough
 [2930679] Let user change mouse capture control key
 [2803538] Show flags for pages when using "info tab"

-------------------------------------------------------------------------
Changes in 2.4.5 (April 25, 2010):

Brief summary :
- Major configure/cpu rework allowing to enable/disable CPU options at runtime
  through .bochsrc (Stanislav)
- Bugfixes for CPU emulation correctness and stability
- Implemented X2APIC extensions (Stanislav)
- Implemented Intel VMXx2 extensions (Stanislav)
  - Extended VMX capability MSRs, APIC Virtualization,
    X2APIC Virtualization, Extended Page Tables (EPT),
    VPID, Unrestricted Guests, new VMX controls.
- Implemented PCLMULQDQ AES instruction
- Extended Bochs internal debugger functionality
- USB HP DeskJet 920C printer device emulation (Ben Lunt)

Detailed change log :

- Configure rework
  - Deprecate --enable-popcnt configure option. POPCNT instruction will be 
    enabled automatically iff SSE4_2 is supported (like in hardware).

  - Make --ignore-bad-msrs runtime option in .bochsrc. Old --ignore-bad-msrs
    configure option is deprecated and should not be used anymore.

  - Enable changing part of CPU functionality at runtime through .bochsrc.
    - Now you could enable/disable any of SSEx/AES/MOVBE/SYSENTER_SYSEXIT/XSAVE
      instruction sets using new CPUID option in .bochsrc.
    - When x86-64 support is compiled in, you could enable/disable long mode
      1G pages support without recompile using new CPUID option in .bochsrc.
    Configure options:
       --enable-mmx, --enable-sse, --enable-movbe, --enable-xsave,
       --enable-sep, --enable-aes, --enable-1g-pages
    are deprecated and should not be used anymore.

  - Local APIC configure option --enable-apic is deprecated and should not
    be used anymore. The LAPIC option now automatically determined from
    other configure options. XAPIC functionality could be enabled using
    new CPUID .bochsrc option.

  - Changed default CPU configuration (generated by configure script with
    default options) to BX_CPU_LEVEL=6 with SSE2 enabled.

- CPU
  - Implemented PCLMULQDQ AES instruction
  - Implemented X2APIC extensions / enable extended topology CPUID leaf (0xb),
    in order to enable X2APIC configure with --enable-x2apic
  - Implemented Intel VMXx2 extensions:
    - Enabled extended VMX capability MSRs
    - Implemented VMX controls for loading/storing of MSR_PAT and MSR_EFER
    - Enabled/Implemented secondary proc-based vmexec controls:
       - Implemented APIC virtualization
       - Implemented Extended Page Tables (EPT) mode
       - Implemented Descriptor Table Access VMEXIT control
       - Implemented RDTSCP VMEXIT control
       - Implemented Virtualize X2APIC mode control
       - Implemented Virtual Process ID (VPID)
       - Implemented WBINVD VMEXIT control
       - Implemented Unrestricted Guest mode
    In order to enable emulation of VMXx2 extensions configure with
        --enable-vmx=2 option (x86-64 must be enabled)
  - Bugfixes for CPU emulation correctness
  - Fixed Bochs crash when accessing the first byte above emulated memory size

- Internal Debugger
  - Introduced range read/write physical watchpoints
  - Allow reloading of segment registers from internal debugger
  - Improved verbose physical memory access tracing

- BIOS
  - Fix MTRR configuration (prevented boot of modern Linux kernels)
  - Fix interrupt vectors for INT 60h-66h (reserved for user interrupt) by
    setting them to zero
  - Fix BIOS INT13 function 08 when the number of cylinders on the disk = 1

- I/O Devices
  - USB HP DeskJet 920C printer device emulation (Ben Lunt)

- Misc
  - Updated Bochs TESTFORM to version 0.5

- SF patches applied
 [2864402] outstanding x2apic patches by Stanislav
 [2960379] Fix build with -Wformat -Werror=format-security by Per Oyvind Karlsen
 [2938273] allow instrumentation to change execute by Konrad Grochowski
 [2926072] Indirection operators in expressions by Derek Peschel
 [2914433] makesym.perl misses symbols by John R. Jackson
 [2908481] USB Printer by Ben Lunt

- these S.F. bugs were closed/fixed
 [2861662] dbg_xlate_linear2phy needs to be updated
 [2956217] INT13 AH=8 returns wrong values when cylinders=1
 [2981161] Allow DMA transfers to continue when CPU is in HALT state
 [2795115] NX fault could be missed
 [2964824] bad newline sequence in aspi-win32.h
  [913419] configure options and build process needs some work
 [2938398] gdbstub compile error with x86_64 enabled
 [2734455] shutdown/reset type 05 should reinit the PICs
 [1921294] extended memory less than 1M wrong size
 [1947249] BX_USE_EBDA_TABLES and MP table placement
 [1933859] BX_USE_EBDA_TABLES and memory overlapping
 [2923680] "help dregs" is a syntax error
 [2919661] CPU may fail to do 16bit near call
 [2790768] Memory corruption with SMP > 32, Panic BIOS Keyboard Error
 [2902118] interrupts vectors 0x60 to 67 should be NULL !
 [2912502] Instruction Pointer behaving erratically
 [2901047] Bochs crashed, closed by guest os
 [2905385] Bochs crash
 [2901481] Instruction SYSRET and SS(PL)
 [2900632] Broken long mode RETF to outer priviledge with null SS
 [1429011] Use bx_phyaddr_t for physaddr vars and bx_address for lin adr

- these S.F. feature requests were closed/implemented
 [2955911] RPM preuninstall scriptlet removes /core
 [2947863] don't abort on unrecognised options
 [2878861] numerics in the disassembler output
 [2900619] make more CPU state changeable

-------------------------------------------------------------------------
Changes in 2.4.2 (November 12, 2009):

- CPU and internal debugger
  - VMX: Implemented TPR shadow VMEXIT
  - Bugfixes for CPU emulation correctness (mostly for VMX support).
  - Bugfixes and updates for Bochs internal debugger
    - On SMP system stepN command now affects only current processor

- Memory
  - Bugfixes for > 32-bit physical address space.
  - Allow to emulate more physical memory than host actually could or would
    like to allocate. For more details look for new .bochsrc 'memory' option.

- Cleanup configure options
  - All paging related options now will be automatically determined according
    to  --enable-cpu-level option. Related configure options
        --enable-global-pages, --enable-large-pages,
        --enable-pae, --enable-mtrr
    are deprecated now. Only 1G paging option still remaining unchanged.
  - Deprecate --enable-daz configure option. Denormals-are-zeros MXCSR control
    will be enabled automatically iff SSE2 is supported (like in hardware).
  - Deprecate --enable-vme configure option, now it will be supported iff
    CPU_LEVEL >= 5 (like in hardware).

- I/O Devices
  - Bugfixes for 8254 PIT, VGA, Cirrus-Logic SVGA, USB UCHI

- SF patches applied
 [2817840] Make old_callback static by Mark Marshall
 [2874004] fix for VMWRITE instruction by Roberto Paleari
 [2873999] fix CS segment type during fast syscall invocation by Roberto Paleari
 [2864389] Debugger gui maximize on startup by Thomas Nilsen
 [2817868] Rework loops in the memory code by Mark Marshall
 [2812948] PIT bug by Derek

- these S.F. bugs were closed/fixed
 [2833504] GUI debugger bug-about GDT display
 [2872244] BIOS writes not allowed value to MTRR MSR causing #GP
 [2885383] SDL GUI memory leak
 [2872290] compilation in AIX5.3 ML10 failes
 [2867904] crash with cirrus bx_vga_c::mem_write
 [2851495] BIOS PCI returns with INT flag = 0
 [2860333] vista 64 guest STOP 109 (GDT modification)
 [2849745] disassembler bug for 3DNow and SSE opcodes
 [1066748] Wrong registers values after #RESET, #INIT
 [2836893] Regression: Windows XP installer unable to format harddrive
 [2812239] VMX: VM-Exit: Incorrect instruction length on software int
 [2814130] bx_debug lex/yacc files incorrectly generated
 [2813199] MP Tables Missing From BIOS
 [2824093] VMX exception bug
 [2811909] VMX : CS Access-rights Type.Accessed stays 0
 [2810571] Compile Errors on OSX
 [2823749] GCC regression or VM_EXIT RDMSR/WRMSR bug
 [2815929] Vista/XP64 unnecessary panic
 [2803519] Wrong example in man page bochsrc

- these S.F. feature requests were closed/implemented
  [422766] Large Memory configurations
 [1311287] Idea for a better GUI
  [455971] USB support
  [615363] debugger shortcut for repeat last cmd

-------------------------------------------------------------------------
Changes in 2.4.1 (June 7, 2009):

- Fixed bunch of CPUID issues
  - Bochs is now able to install and boot 64-bit Windows images!
    (special thanks to Mark Ebersole for his patch)
- Several bugfixes in CPU emulation (mostly for x87 instructions)
- Fixed two critical deadlock bugs in the Win32 gui (patches from @SF tracker)
- Fixes related to the 'show ips' feature
  - removed conflicting win32-specific alarm() functions ('win32' and 'sdl' gui)
  - feature now works in wx on win32
- Added support for gdb stub on big endian machine (patch by Godmar Back)
- Rewritten obsolete hash_map code in dbg symbols module (patch from @SF)
- BIOS: implemented missing INT 15h/89h (patch by Sebastian Herbszt)

-------------------------------------------------------------------------
Changes in 2.4 (May 3, 2009):

Brief summary :

- Added graphical Bochs debugger frontend for most of the supported platforms.
  - Thanks for Chourdakis Michael and Bruce Ewing.
- Many new CPU features in emulation
  - Support for > 32 bit physical address space and configurable MSRs
  - VMX, 1G pages in long mode, MOVBE instruction
- Bugfixes for CPU emulation correctness, debugger and CPU instrumentation.
- New config interface 'win32config' with start and runtime menu
- USB: added OHCI support, external hub and cdrom
- Added user plugin interface support.

Detailed change log :

- CPU and internal debugger
  - Support for VMX hardware emulation in Bochs CPU, to enable configure with
        --enable-vmx option
    Nearly complete VMX implementation, with few exceptions:
       - Dual-monitor treatment of SMIs and SMM not implemented yet
       - NMI virtualization, APIC virtualization not implemented yet
       - VMENTER to not-active state not supported yet
       - No advanced features like Extended Page Tables or VPID
  - Support for configurable MSR registers emulation, to enable configure with
        --enable-configurable-msrs option
    Look for configuration example in .bochsrc and msrs.def
  - Support new Intel Atom(R) MOVBE instruction, to enable configure with
        --enable-movbe option
  - Support for 1G pages in long mode, to enable configure with
        --enable-1g-pages option
  - Support for > 32 bit physical address space in CPU. Up to 36 bit could be
    seen in legacy mode (PAE) and up to 40 bit in x86-64 mode.
    Still support the same amount of the physical memory in the memory object,
    so system with > 4Gb of RAM yet cannot be emulated.
    To enable configure with --enable-long-phy-address option.
  - Implemented modern BIOSes mode limiting max reported CPUID function
    to 3 using .bochsrc CPU option. The mode is required in order to
    correctly install and boot WinNT.
  - Added ability to configure CPUID vendor/brand strings through .bochsrc
    (patch from @SF by Doug Reed).
  - Many bugfixes for CPU emulation correctness (both x86 and x86-64).
  - Updated CPU instrumentation callbacks.
  - Fixed Bochs internal debugger breakpoints/watchpoints handling.

- Configure and compile
  - Added ability to choose Bochs log file name and Bochs debugger log file
    name from Bochs command line (using new -log and -dbglog options)
  - Removed Peter Tattam's closed source external debugger interface from
    the code.
  - Removed --enable-guest2host-tlb configure option. The option is always
    enabled for any Bochs configuration.
  - Removed --enable-icache configure option. The option is always enabled
    for any Bochs configuration. Trace cache support still remains optional
    and could be configured off.
  - Added configure option to compile in GUI frontend for Bochs debugger,
    to enable configure with --enable-debugger-gui option.
    The GUI debugger frontend is enabled by default with Bochs debugger.
  - Removed --enable-port-e9-hack configure option. The feature now could be
    configured at runtime through .bochsrc.
  - Added configure option to enable/disable A20 pin support. Disabling the
    A20 pin support slightly speeds up the emulation.
  - reduced dependencies between source files for faster code generation

- BIOS
  - Added S3 (suspend to RAM) ACPI state to BIOS (patch by Gleb Natapov)
  - Implemented MTRR support in the bios (patches by Avi Kivity and Alex
    Williamsion with additions by Sebastian Herbszt)
  - Bug fixes

- I/O Devices
  - Added user plugin support
  - remaining devices converted to plugins: pit, ioapic, iodebug
  - added 'plugin_ctrl' bochsrc option to control the presence of optional
    device plugins without a separate option. By default all plugins are enabled.
  - added register mechanism for removable mouse and keyboard devices
  - Hard drive / cdrom
    - PACKET-DMA feature now supported by all ATAPI commands
    - ATAPI command 0x1A added (based on the Qemu implementation)
  - sb16
    - Added ALSA sound support on Linux (PCM/MIDI output)
    - FM synthesizer now usable with MIDI output (simple piano only)
      - Fixed OPL frequency to MIDI note translation
      - Fixed MIDI output command
  - keyboard
    - added keyboard controller commands 0xCA and 0xCB
  - USB
    - USB code reorganized to support more HC types and devices
    - added USB OHCI support written by Ben Lunt
    - added external USB hub support (initial code ported from Qemu)
    - added USB cdrom support (SCSI layer ported from Qemu)
    - added status bar indicators to show data transfer
  - VGA
    - VBE video memory increased to 16 MB
    - implemented changeable VBE LFB base address (PCI only, requires latest
      BIOS and VGABIOS images)
  - I/O APIC
    - implemented I/O APIC device hardware reset

- Config interface
  - new config interface 'win32config' with start and runtime menu is now
    the default on Windows ('textconfig' is still available)
  - win32 device config dialogs are now created dynamicly from a parameter list
    (works like the wx ParamDialog)
  - changes in textcofig and the wx ParamDialog for compatibility with the new
    win32 dialog behaviour
  - Bochs param tree index keys are case independent now
  - some other additions / bugfixes in the simulator interface code

- Misc
  - updated LGPL'd VGABIOS to version 0.6c
  - Updated Bochs TESTFORM to version 0.4

- SF patches applied
 [2784858] IO Handler names are not compared properly
 [2712569] Legacy bios serial data buffer timeout bug by grybranix
 [2655090] 64 bit BSWAP with REX.W broken by M. Eby
 [2645919] CR8 bug when reading by M. Eby
 [1895665] kvm: bios: add support to memory above the pci hole by Izik Eidus
 [2403372] rombios: check for valid cdrom before using it by Sebastian
 [2307269] acpi: handle S3 by Sebastian
 [2354134] TAP networking on Solaris/Sparc repaired
 [2144692] The scsi device can not complete its writing data command by naiyue
 [1827082] [PATCH] Configurable CPU vendor by Marcel Sondaar
 [2217229] Panic on EBDA overflow in rombios32 by Sebastian
 [2210194] Log pci class code by Sebastian
 [1984662] red led for disk write and titlebar mod by ggbsf
 [2142955] Fix for monitor/mwait by Doug Gibson
 [2137774] Patch to fix bug: cdrom: read_block: lseek returned error by Gabor Olah
 [2134642] Fix scan_to_scanascii table for F11 and F12 by Ben Guthro & Steve Ofsthun
 [2123036] sdl fullscreen fix by ggbsf
 [2073039] Remove CMOS accsess from AML code by Gleb Natapov
 [2072168] smbios: add L1-L3 cache handle to processor information by Sebastian
 [2055416] bochsrc cpu options for cpuid vendor and brand string by Doug Reed
 [2035278] rombios: Fix return from BEV via retf by Sebastian
 [2035260] rombios: El Torito load segment fix by Sebastian
 [2031978] Fix VMware backdoor command 0Ah by Jamie Lokier
 [2015277] Remove obsolete comment about DATA_SEG_DEFS_HERE hack by Sebastian
 [2011268] Set new default format and unit only if both are supported by Sebastian
 [2001919] gdbstub: fix qSupported reply by Sebastian
 [2001912] gdbstub: enclose packet data by apostrophes by Sebastian
 [1998071] fix missing SIGHUP and SIGQUIT with term ui on mingw by Sebastian
 [1998063] fix wrong colors with term ui by Sebastian
 [1995064] Compile fix needed for --enable-debugger and gcc 4.3 by Hans de Goede
 [1994564] Fix typo in RDMSR BX_MSR_MTRRFIX16K_A0000 by Sebastian
 [1994396] Change hard_drive_post #if by Sebastian
 [1993235] TESTFORM email address update by Sebastian
 [1992322] PATCH: fix compilation of bochs 2.3.7 on bigendian machines by Hans de Goede
 [1991280] Shutdown status code 0Ch handler by Sebastian
 [1990108] Shutdown status code 0Bh handler by Sebastian
 [1988907] Shutdown status code 0Ah handler by Sebastian
 [1984467] two typos in a release! (2.3.7)
 [1981505] Init PIIX4 PCI to ISA bridge and IDE by Sebastian

- these S.F. bugs were closed/fixed
 [2784148] an integer overflow BUG of Bochs-2.3.7 source code
 [2695273] MSVC cpu.dsp failure in 2.3.7.zip
  [616114] Snapshot/Copy crash on Win2K
 [2628318] 'VGABIOS-latest' bug
 [1945055] can't 'make install' lastest bochs on loepard
 [2031993] Mac OS X Makefile bug
 [1843199] install error on mac osx
 [2710931] Problem compiling both instrumentation and debugger
 [2617003] ExceptionInfo conflicts with OS X api
 [2609432] stepping causes segfault (CVS)
 [2605861] compile error with --enable-smp
 [1757068] current cvs(Jul19, 07) failed to boot smp
 [2426271] cannot get correct symbol entry
 [2471982] VGA character height glitches
 [1659659] wrong behaviour a20 at boot
 [1998027] minwg + --with-term + --with-out-win32 = link failure
 [1871936] bochs-2.3.6 make fails on wx.cc
 [1684666] info idt for long mode
 [2105989] could not read() hard drive image file at byte 269824
 [1173093] Debugger totally not supports x86-64
 [1803018] new win32debug dialog problems
 [2141679] windows vcc build broken
 [2162824] latest cvs fails to compile
 [2164506] latest bochs fails to start
 [2129223] MOV reg16, SS not working in real mode due to dead code
 [2106514] RIS / startrom.com install ALMOST works
 [2123358] SMP (HTT): wbinvd executed by CPU1 crashes CPU0
 [2002758] Arch Linux: >>PANIC<< ATAPI command with zero byte count
 [2026501] El Torito incorrect boot segment:offset
 [2029758] BEV can return via retf instead of int 18h
 [2010173] x command breaks after one error about x/s or x/i
 [1830665] harddrv PANIC: ATAPI command with zero byte count
 [1985387] fail to make using gcc4 with --enable-debugger
 [1990187] testform feedback
 [1992138] Misspell in cpu/ia_opcodes.h

- these S.F. feature requests were closed/implemented
 [2175153] Update MSVC project files
  [658800] front end program and bios
 [1883370] Make cd and floppy images more usable
  [422783] change floppy size without restarting
 [2552685] param tree names should be case insensitive
 [1214659] PC Speaker emu turnoff. Plugin Controll.
 [1977045] support 40 bit physical address
 [1506385] Intel Core Duo VT features
 [1429015] Support for user plugins
 [1488136] debugger access to floppy controller  
 [1363136] Full debugger SMP and 64 bit support
 [2068304] Support for ACPI
  [431032] debugger "x" command
  [423420] profiling ideas (SMF)
  [445342] Add FM support?
  [928439] alsa  

-------------------------------------------------------------------------
Changes in 2.3.7 (June 3, 2008):

Brief summary :

+ More optimizations in CPU code - Bochs 2.3.7 is more than 2x faster
  than Bochs 2.3.5 build !
- Implemented LBA48 support in BIOS
- Added memory access tracing for Bochs internal debugger
- Implemented Intel(R) XSAVE/XRSTOR and AES instruction set extensions
- Many fixes in CPU emulation and internal debugger
  - MenuetOS64 floppy images booting perfect again !
- updated LGPL'd VGABIOS to version 0.6b

Detailed change log :

- CPU
  - Support of XSAVE/XRSTOR CPU extensions, to enable configure with
        --enable-xsave option
  - Support of AES CPU extensions, to enable configure with
        --enable-aes option
  - Fixed Bochs failure on RISC host machines with BxRepeatSpeedups
    optimization enabled
  - Implemented SYSENTER/SYSEXIT instructions in long mode
  - More than 100 bugfixes for CPU emulation correctness (both x86 and x86-64)
    - MenuetOS64 floppy images booting perfect again !
  - Updated CPU instrumentation callbacks

- Bochs Internal Debugger and Disassembler
  - Added memory access tracing for Bochs internal debugger, enable
    by typing 'trace-mem on' in debugger command line
  - Many bug fixes in Bochs internal debugger and disassembler

- System BIOS (Volker)
  - Implemented LBA48 support
  - Added generation of SSDT ACPI table that contains definitions
    for available processors
  - Added RTC device to ACPI DSDT table
  - Added implementation of SMBIOS

- I/O devices (Volker)
  - VGA
    - Implemented screen disable bit in sequencer register #1
    - Implemented text mode cursor blinking
  - Serial
    - new serial modes 'pipe-server' and 'pipe-client' for win32
    - new serial mode 'socket-server'

- Configure and compile
  - Fixed configure bug with enabling of POPCNT instruction, POPCNT
    instruction should be enabled by default when SSE4.2 is enabled.
  - Removed --enable-magic-breakpoint configure option. The option is
    automatically enabled  if Bochs internal debugger is compiled in.
    It is still possible to turn on/off the feature through .bochsrc.
  - Allow boot from network option in .bochsrc
  - Added Bochs version info for Win32

- Display libraries
  - implemented text mode character blinking in some guis
  - improved 'X' gui runtime dialogs

- SF patches applied
 [1980833] Fix shutdown status code 5h handler by Kevin O'Connor
 [1928848] "pipe" mode for serial port (win32 only) by Eugene Toder
 [1956843] Set the compatible pci interrupt router back to PIIX by Sebastian
 [1956366] Do not announce C2 & C3 cpu power state support by Igor Lvovsky
 [1921733] support for LBA48 by Robert Millan
 [1938185] Fix link problem with --enable-debugger by Sebastian
 [1938182] Makefile.in - use @IODEV_LIB_VAR@ by Sebastian
 [1928945] fix for legacy rombios - e820 map and ACPI_DATA_SIZE by Sebastian
 [1925578] rombios32.c - fix ram_size in ram_probe for low memory setup by Sebastian
 [1908921] rombios32.c - move uuid_probe() call by Sebastian
 [1928902] improvements to load-symbols by Eugene Toder
 [1925568] PATCH: msvc compilation by Eugene Toder
 [1913150] rombios.c - e820 cover full size if memory <= 16 mb by Alexander van Heukelum
 [1919804] rombios.c - fix and add #ifdef comments by Sebastian
 [1909782] rombios.c - remove segment values from comment by Sebastian
 [1908918] SMBIOS - BIOS characteristics fix by Sebastian
 [1901027] BIOS boot menu support (take 3)
 [1902579] rombios32.c - define pci ids by Sebastian
 [1859447] Pass segment:offset to put_str and introduce %S by Sebastian
 [1889057] rombios.c - boot failure message by Sebastian
 [1891469] rombios.c - print BEV product string by Sebastian
 [1889851] Win32 version information FILEVERSION for bochs.exe by Sebastian
 [1889042] rombios.c - fix comment by Sebastian
 [1881500] bochsrc, allow boot: network by Sebastian
 [1880755] Win32 version information for bochs.exe by Sebastian
 [1880471] SMBIOS fix type 0 by Sebastian
 [1878558] SMBIOS fixes by Sebastian
 [1864692] SMBIOS support by Filip Navara
 [1865105] Move bios_table_area_end to 0xcc00 by Sebastian
 [1875414] Makefile.in - change make use by Sebastian
 [1874276] Added instrumentation for sysenter/sysexit by Lluis
 [1873221] TLB page flush: add logical address to instrumentation by Lluis
 [1830626] lba32 support by Samuel Thibault
 [1861839] Move option rom scan after floppy and hard drive post by Sebastian
 [1838283] Early vga bios init by Sebastian
 [1838272] rom_scan range parameter by Sebastian
 [1864680] Save CPUID signature by Filip Navara

- these S.F. bugs were closed
 [1976171] Keyboard missing break code for enter (0x9C)
  [666433] physical read/write breakpoint sometimes fails
 [1744820] info gdt and info idt shows the entire tables
 [1755652] graphics: MenuetOS64 shows black screen
 [1782207] Windows Installer malfunction, Host=Linux, Guest=Win98SE
 [1697762] OS/2 Warp Install Failed
 [1952548] String to char * warnings
 [1940714] SYSENTER/SYSEXIT doesn't work in long mode
 [1422342] SYSRET errors
 [1923803] legacy rombios - e820 map and ACPI_DATA_SIZE
 [1936132] Link problem with --enable-debugger & --enable-disasm
 [1934477] Linear address wrap is not working
 [1424984] virtual machine freezes in Bochs 2.2.6
 [1902928] with debugger cpu_loop leaves CPU with unstable state
 [1898929] Bochs VESA BIOS violates specs (banks == 1)
 [1569256] bug in datasegment change in long mode
 [1830662] ACPI: no DMI BIOS year, acpi=force is required
 [1868806] VGA blink enable & screen disable
 [1875721] Bit "Accessed" in LDT/GDT descriptors & #PF
 [1874124] bx_Instruction_c::ilen() const
 [1873488] bochs-2.3.6 make fails on dbg_main.cc

- these S.F. feature requests were implemented
 [1422769] SYSENTER/SYSEXIT support in x86-64 mode
 [1847955] Version information for bochs(dbg).exe
  [939797] SMBIOS support

-------------------------------------------------------------------------
Changes in 2.3.6 (December 24, 2007):

Brief summary :

+ More than 25% emulation speedup vs Bochs 2.3.5 release!

      - Thanks to Darek Mihocka (http://www.emulators.com)
        for providing patches and ideas that made the
        speedup possible!

+ Up to 40% speedup vs Bochs 2.3.5 release with trace cache optimization!

- Lots of bugfixes in CPU emulation
- Bochs benchmarking support
- Added emulation of Intel SSE4.2 instruction set

Detailed change log :

- CPU
  - Added emulation of SSE4.2 instruction set, to enable use
        --enable-sse=4 --enable-sse-extension configure options
    to enable POPCNT instruction only use configure option
        --enable-popcnt
  - Implemented MTRR emulation, to enable use --enable-mtrr configure
    option. MTRRs is enabled by default when cpu-level >= 6.
  - Implemented experimental MONITOR/MWAIT support including optimized
    MWAIT CPU state and hardware monitoring of physical address range,
    to enable use --enable-monitor-mwait configure option.
  - Removed hostasm optimizations, after Bochs rebenchmarking it was found
    that the feature bringing no speedup or even sometimes slows down
    emulation!
  - Merged trace cache optimization patch, the trace cache optimization
    is enabled by default when configure with --enable-all-optimizations
    option, to disable trace cache optimization configure with
        --disable-trace-cache
  - Many minor bugfixes in CPU emulation (both ia32 and x86-64)
  - Updated CPU instrumentation callbacks

- Bochs Internal Debugger and Disassembler
  - Many fixes in Bochs internal debugger and disassembler, some debugger
    interfaces significantly changed due transition to the param tree
    architecture
  - Added support for restoring of the CPU state from external file
    directly from Bochs debugger

- Configure and compile
  - Renamed configure option --enable-4meg-pages to --enable-large-pages.
    The option enables page size extensions (PSE) which refers to 2M pages
    as well.
  - Removed --enable-save-restore configure option, save/restore feature
    changed to be one of the basic Bochs features and compiled by default
    for all configurations.
  - Added new Bochs benchmark mode. To run Bochs in benchmark mode execute
    it with new command line option 'bochs -benchmark time'. The emulation
    will be automatically stopped after 'time' millions of emulation
    cycles executed.
  - Another very useful option for benchmarking of Bochs could be enabled
    using new 'print_timestamps' directive from .bochsrc:
        print_timestamps: enable=1
  - Added --enable-show-ips option to all configuration scripts used to
    build release binaries, so all future releases will enjoy IPS display.
  - Enable alignment check in the CPU and #AC exception by default for
    --cpu-level >= 4 (like in real hardware)

- SF patches applied
 [1491207] Trace Cache Speedup patch by Stanislav
 [1857149] Define some IPL values by Sebastian
 [1850183] Get memory access mode in BX_INSTR_LIN_READ by Lluis Vilanova
 [1841421] pic: keep slave_pic.INT and master_pic.IRQ_in bit 2 in sync by Russ Cox
 [1841420] give segment numbers in exception logs by Russ Cox
 [1801696] Allow Intel builds on Mac OS X
 [1830658] Fix >32GB disk banner by Samuel Thibault
 [1813314] Move #define IPL_* and typedef ipl_entry by Sebastian
 [1809001] Save PnP Option ROM Product Name string in IPL Boot Table by Sebastian
 [1821242] Fix for #1801285, Niclist.exe broken by Sebastian
 [1819567] Code warning cleanup
 [1816162] Update comment on bios_printf() by Sebastian
 [1811139] Trivial Fix when BX_PCIBIOS and BX_ROMBIOS32 not defined by Myles Watson
 [1811190] Improve HD recognition and CD boot by Myles Watson
 [1811860] Implement %X in bios_printf by Sebastian
 [1809649] printf %lx %ld %lu by Myles Watson
 [1809651] move BX_SUPPORT_FLOPPY by Myles Watson
 [1809652] dpte and Int13DPT fixes by Myles Watson
 [1809669] clip cylinders to 16383 in hard drive by Myles Watson
 [1799903] Build BIOS on amd64 by Robert Millan
 [1799877] Fix for parallel build (make -j2) by Robert Millan

- these S.F. bugs were closed
 [1837354] website bug: View the Source link broken
 [1801268] Reset from real mode no longer working
 [1843250] Using forward slashes gives invalid filename
 [1823446] BIOS bug, local APIC #0 not detected
 [1801285] Niclist.exe broken
 [1364472] breakpoints sometimes don't work
  [994451] breakpoint bug
 [1801295] NSIS installer vs Windows Notepad
 [1715328] Unreal mode quirk
 [1503972] debugger doesn't debug first instruction on exception
 [1069071] div al, byte ptr [ds:0x7c18] fails to execute
 [1800080] Wrong "BX_MAX_SMP_THREADS_SUPPORTED" assertion

- these S.F. feature requests were implemented
 [1662687] Download for Win32-exe with x64 Mode and debugging
  [604221] Debugger command: query lin->phys mapping

-------------------------------------------------------------------------
Changes in 2.3.5 (September 16, 2007):

Brief summary :
- Critical problems fixed for x86-64 support in CPU and Bochs internal debugger
- ACPI support
- The release compiled with x86-64 and ACPI
- Hard disk emulation supports ATA-6 (LBA48 addressing, UDMA modes)
- Added emulation of Intel SSE4.1 instruction set

Detailed change log :

- CPU
  - Fixed critical bug with 0x90 opcode (NOP) handling in x86-64 mode
  - implied stack references where the stack address is not in canonical form
    should causes a stack exception (#SS)
  - Added emulation of SSE4.1 instruction set (Stanislav)
  - Do not save and restore XMM8-XMM15 registers when not in x86-64 mode
  - Fixed zero upper 32-bit part of GPR in x86-64 mode
  - CMOV_GdEd should zero upper 32-bit part of GPR register even if the
    'cmov' condition was false !
  - Implemented CLFLUSH instruction, report non-zero cache size in CPUID
  - Fixed PUSHA/POPA instructions behavior in real mode
  - Fixed detection of inexact result by FPU
  - Fixed denormals-are-zero (DAZ) handling by SSE convert instructions
  - Implemented Misaligned Exception Mask support for SSE (MXCSR[17])
  - Implemented Alignment Check in the CPU and #AC exception, to enable
    use --enable-alignment-check configure option

- General
  - 2nd simulation support in wxBochs now almost usable (simulation cleanup
    code added and memory leaks fixed)

- Configure and compile
  - several fixes for MacOSX, OpenBSD and Solaris 10
  - enable save/restore feature by default for all configurations
  - reorganized SSE configure options to match Intel(R) Programming
    Reference Manual, new option introduced for SSE extensions enabling.
    To enable Intel Core Duo 2 new instructions use
        --enable-sse=3 --enable-sse-extension
    enabling of SSE4.1 (--enable-sse=4) will enable SSE3 extensions as well
  - removed old PIT, always use new PIT written by Greg Alexander,
    removed configure option --enable-new-pit

- I/O devices (Volker)
  - Floppy
    - partial non-DMA mode support (patch by John Comeau)
  - Hard drive / cdrom
    - hard disk emulation now supports ATA-6 (LBA48 addressing, UDMA modes)
    - VMWare version 4 disk image support added (patch by Sharvil Nanavati)
  - PCI
    - initial support for the PIIX4 ACPI controller
  - Serial
    - added support for 3-button mouse with Mousesystems protocol
  - USB
    - experimental USB device change support added
    - rewrite of the existing USB devices code
    - new USB devices 'disk' and 'tablet' (ported from the Qemu project)

- Bochs internal debugger
  - fixed broken debugger "rc file" option (execute debugger command from file)
  - implementation of a gui frontend ("windebug") for win32 started
  - gdbstub now accepts connection from any host
  - several documentation updates
  - a lot of disasm and internal debugger x86_64 support fixes

- Configuration interface
  - fixes and improvements to the save state dialog handling

- Display libraries
  - text mode color handling improved in some guis
  - win32 fullscreen mode (patch by John Comeau)

- System BIOS (Volker)
  - 32-bit PM BIOS init code for ACPI, PCI, SMP and SMM (initial patches by
    Fabrice Bellard)
  - PCI BIOS function "find class code" implemented

- SF patches applied
 [1791000] 15h 8600h is reading the wrong stack frame by Sebastian
 [1791016] rombios32.c, ram_probe(), BX_INFO missing value by Sebastian
 [1786429] typo in bochsrc.5 by Sebastian
 [1785204] Extend acpi_build_table_header to accept a revision number by Sebastian
 [1766536] Partial Patch for Bug Report 1549873 by Ben Lunt
 [1763578] ACPI Table Revision 0 -> 1
 [1642490] implement alignment check and #AC exception by Stanislav Shwartsman
 [1695652] [PATCH] .pcap pktlog and vnet PXE boot by Duane Voth
 [1741153] Add expansion-ROM boot support to the ROMBIOS
 [1734159] Implemented INT15h, fn 0xC2 (mouse), subfn 3, set resolution
 [1712970] bios_printf %s fix
 [1573297] PUSHA/POPA real mode fix by Stanislav Shwartsman
 [1641816] partial support for non-DMA access to floppy by John Comeau
 [1624032] shows where write outside of memory occurred by John Comeau
 [1607793] allow fullscreen when app requests it by John Comeau
 [1603013] Bugfix for major NOP problem on x64 by mvysin
 [1600178] Make tap and tuntap compile on OpenBSD by Jonathan Gray
 [1149659] improve gdbstub network efficiency by Avi Kivity
 [1554502] Trivial FPU exception handling fix

- these S.F. bugs were closed
 [1316008] Double faults when it shouldn't - gcc 4.0.2
 [1787289] broken ABI for redolog class when enable-compressed-hd
 [1787500] tftp_send_optack not 64bit clean
 [1264540] Security issue with Bochs website
 [1767217] Debugger Faults including ud2
 [1729822] Various security issues in io device emulation
 [1675202] mptable hosed (bad entry count in header)
 [1197141] 'make install' installs to bad location
 [1157623] x86Solaris10 cannot recoginize ACPI RSD PTR
 [1768254] large HDD in Bochs/bximage
 [1496157] Windows Vista Beta2 dosn't boot
 [1755915] Illegal Hard Disk Signature Output
 [1717790] info gdt and info idt scrolls away, too long result
 [1726640] Debugger displays incorrect segment for mov instruction
 [1719156] Typo in misc_mem.cpp
 [1715270] Debugger broken in/beyond 2.3
 [1689107] v8086 mode priviledge check failed
 [1704484] A few checks when CPU_LEVEL < 4
 [1678395] Problem with zero sector...
  [876990] SA-RTL OS fails on PIC configuration
 [1673582] save/restore didn't restore simulation correctly
 [1586662] EDD int 13h bug, modify eax
  [666618] POP_A Panic in DOS EMU
 [1001485] panic: not enough bytes on stack
 [1667336] delay times an order of magnitude slow
 [1665601] crash disassembling bootcode
 [1657065] CVS sources won't compile
 [1653805] bochs's gdbstub uses incorrect protocol
 [1640737] ASM sti command frezzes guest OS
 [1636439] latest CVS sources don't compile under Cygwin
 [1634357] disasm incorrect (no sign ext) displacement in 64-bit mode
 [1376453] pcidev segfaults bochs
 [1180890] IOAPIC in BOCHS - WinXP 64 in MP version
 [1597528] 2.3 fails to compile on amd64
 [1526255] FLD1 broken when compaling with gcc 4.0.x
 [1597451] eth_fbsd is broken under FreeBSD
 [1571949] Bochs will not compile under Solaris
 [1500216] Bochs fails to boot BeOs CD
 [1458339] bochs-2.2.6 WinXP Binary ACPI error installing FreeBSD 6.0
 [1440011] patches needed for FreeBSD 6.0 to compile Bochs
  [431674] some devices don't have a prefix
  [458150] QNX demo disk crashes with new pit
  [818322] Bochs 2.1 cvs: OS/2 - read verify on non disk
  [906840] KBD: bogus scan codes generated in set 3
 [1005053] No keyboard codes translation
 [1109374] Problem with Scancodeset 2
 [1572345] Bochs won't continue
 [1568153] Bochs looks for (and loads?) unspecified display libraries
 [1563462] Errors in /iodev/harddrv.h
 [1562172] TLB_init() fails to initialize priv_check array if USE_TLB 0
 [1385303] debugger crashes after panic
 [1438227] crc.cpp missing in bx_debug version 2.2.6
 [1501825] debugger crashes on to high input
 [1420959] Memory leak + buffer overflow in Bochs debugger
 [1553289] Error in Dis-assembler
  [542464] I cannot use FLAT
 [1548270] Bochs won't die with its pseudo terminal
 [1545588] roundAndPackFloatx80 does not detect round up correctly

-------------------------------------------------------------------------
Changes in 2.3 (August 27, 2006):

Brief summary :
- limited save/restore support added (config + log options, hardware state)
- configuration parameter handling rewritten to a parameter tree
- lots of cpu and internal debugger fixes
- hard disk geometry autodetection now supported by most of the image types
- hard disk emulation now supports ATA-3 (multiple sector transfers)
- VBE memory size increased to 8MB and several VGA/VBE fixes
- updated LGPL'd VGABIOS to version 0.6a

Detailed change log :

- CPU and internal debugger fixes
  - Fixed bug in FSTENV instruction (Stanislav Shwartsman)
  - Recognize #XF exception (19) when SSE is enabled
  - Fixed bug in PSRAW/PSRAD MMX and SSE instructions
  - Save and restore RIP/RSP only for FAULT-type exceptions, not for traps
  - Correctly decode, disassemble and execute multi-byte NOP '0F F1' opcode
  - Raise A20 line after system reset (Stanislav Shwartsman)
  - Implemented SMI and NMI delivery (APIC) and handling in CPU (Stanislav)
  - Experimental implementation of System Management Mode (Stanislav)
  - Added emulation of SSE3E instructions (Stanislav Shwarstman)
  - Save and restore FPU opcode, FIP and FDP in FXSAVE/FRSTOR instructions
  - Fixed bug in MOVD_EdVd opcode (always generated #UD exception)
  - Fixed critical issue, Bochs was not supporting > 16 bit LDT.LIMIT values
  - Many fixes in Bochs internal debugger and disassembler

- CPU x86-64 fixes
  - Fixed SYSRET instruction implementation
  - Fixed bug in CALL/JMP far through 64-bit callgate in x86-64 mode
  - Correctly decode, disassemble and execute 'XCHG R8, rAX' instruction
  - Correctly decode and execute 'BSWAP R8-R15' instructions
  - Fixed ENTER and LEAVE instructions in x86-64 mode (Stanislav)
  - Fixed CR4 exception condition (No Name)
  - Fixed x86 debugger to support x86-64 mode (Stanislav)

- APIC and SMP
  - Support for Dual Core and Intel(R) HyperThreading Technology. Now you
    could choose amount of cores per processor and amount of HT threads per
    core from .bochsrc for SMP simulation (Stanislav Shwartsman)
  - Allow to control SMP quantum value through .bochsrc CPU
    option parameter. Previous Bochs versions used hardcoded quantum=5
    value.
  - Fixed interrupt priority bug in service_local_apic()
  - Fixed again reading of APIC IRR/ISR/TMR registers. Finally it becomes
    fully correct :-)

- Configure and compile
  - Moved configure time --enable-reset-on-triple-fault option to runtime,
    the 'cpu' option in .bochsrc is extended and the old configure option
    is deprecated (Stanislav Shwartsman)
  - Removed --enable-pni configure option, to compile with PNI use
    --enable-sse=3 instead (Stanislav Shwartsman)
  - enable SEP (SYSENTER/SYSEXIT) support by default for Penitum II+
    processor emulation (i.e. if cpu-level >= 6 and MMX is enabled)

- general
  - Limited save/restore support added. The state of CPU, memory and all
    devices can be saved now (state of harddisk images not handled yet).
  - Fixed several memory leaks

- configuration interface
  - Configuration parameter handling rewritten to a parameter tree. This is
    required for dynamic menus/dialogs, user-defined options and save/restore.
  - Support for user-defined bochsrc options added
  - help support at the parameter prompt in textconfig added

- I/O devices (Volker)
  - Floppy
    - partial sector transfers fixed
  - Hard drive / cdrom
    - several fixes to the IDE register behaviour (e.g. in case of a channel
      with only one drive connected)
    - fixed data alignment of 'growing' hard drive images (sharing images
      between Windows and Linux now possible)
    - disk geometry autodetection now supported by most of the image types
      (unsupported: external, dll and compressed modes)
    - multi sector read/write commands implemented
    - hard disk now reporting ATA-3 supported
    - ATAPI 'inquiry' now returns a unique device name
  - Keyboard
    - reset sent to keyboard has no effect on the 8042 (scancode translation)
  - PCI
    - forward PIRQ register changes to the I/O APIC (if present)
    - attempt to fix and update the emulation part of 'pcidev' (untested)
  - VGA
    - VBE memory size increased to 8MB and several VBE fixes
    - VGA memory read access fixed (bit plane access and read mode)
    - VGA memory is now a part of the common video memory

- System BIOS (Volker)
  - enable interrupts before executing INT 19h
  - fixed ATA device detection in case of one drive only connected to controller
  - improved INT 15h function AX=E820h
  - real mode PCI BIOS now returns IRQ routing information (function 0Eh)
  - keyboard LED flags handling fixed and improved
  - fixed handling of extended keys in INT 09h
  - Updated LGPL'd VGABIOS to version 0.6a

- SF patches applied
 [1340111] fixes and updates to usb support by Ben Lunt
 [1539420] minor addition to pci_usb code by Ben Lunt
 [1455958] call/jmp through call gate in 64-bit mode
 [1433107] PATCH: fix compile with wxwindows 2.6 (unicode / utf8) by jwrdegoede
 [1386671] Combined dual core and hyper-threading patch

- these S.F. bugs were closed
  [833927] TTD: System Error TNT.40025: Unexpected processor exception
  [789230] Sending code that shows lock up when setting idt
  [909670] Problems with Symantec Ghost
 [1540241] include missing in osdep.cc
 [1539373] Incorrect disasm for "mov moffset,bla" in 64bit
 [1538419] incorrect disassembly of [rip+disp] with rex.b
 [1535432] shift+cursor key maps to a digit
 [1504891] Knoopix 5.0.1 error
 [1424355] bochs-2.2.6 ata failure in windoze 98se
 [1533979] wrong disassembly of IN instruction
  [620059] paste won't stop
 [1164904] status bar doesn't show num/caps/scroll lock status
 [1061720] ATA Support level for HD
 [1522196] Broken CHANGES link in main page
 [1438415] crash if screen scrolled downwards
  [778441] Shouldn't interrupts be enable after BIOS?
 [1514949] I got a problem with the 8253 timer
 [1513544] disasm of 0xec (in AL,DX) returns ilen of 2 instead of 1
 [1508947] APIC interrupt priority checking and interrupt delivery
  [766286] Debugger halts after any GPF exception
  [639143] va_list is not a pointer on linuxppc
 [1501815] debugger examines memory over page-boundary wrong
 [1503978] movsb/w/d doesn't work when direction is stored
 [1499405] WinPCap has changed URL hosting
 [1498519] APIC IRR bits not set while interrupts disabled
 [1498193] Bochs segfaults on LTR instruction
  [787140] Guest2HostTLB optimization bug
 [1492070] instrument stop
 [1487772] No SEP on P4
 [1488335] Growing hard disk images severe interoperability errors!
 [1076312] Shadow RAM and TLB
 [1282249] The real i440FX chipset Award bios hangs
 [1479763] mistake "mov ax,[es:di]" for "mov ax,[ds:di]"
 [1453575] Misconfigured floppy DMA transfers do not terminate.
 [1460068] Incorrect handling for the Options Menu Item
  [910203] bochs-2.1.1 wx.lo failed
 [1438654] PANIC when trying to run install-amd64-minimal-2005.0.iso
 [1458320] compile hdimage.h fails
 [1455880] bochs-2.2.6,2: make error on FreeBSD
  [696890] Network wouldn't run under W2k hosting MSDOS
  [673391] SMP timer problems
 [1291059] wxWindows GUI on non-windows/configure issue
 [1356450] bochs 2.2.1 errors-omittions
 [1178017] Win98 guest cannot receive network packets from host
 [1076315] a20_mask after restarting
 [1436323] real hw does not panic when bad Ib in CMPSS_VssWssIb
 [1435269] cdrom_amigaos is not compilable
 [1433314] disasm issues
 [1170614] relative jumps/calls wrong in debugger
  [758121] user might get confused when interrupt handler invoked
 [1170622] You cannot toggle OFF "show" flags
 [1406387] JMP instruction should display absolute address
 [1428813] PANIC: ROM address space out of range
 [1426288] DR-DOSs EMM386 problem
 [1412036] Bochs cannot recognize PCI NIC correctly
  [435115] dbg: modebp broken and no docs
 [1419366] disasm cs:eip does not work anymore
 [1419393] SSE's #XF exception -> "exception(19): bad vector"
 [1419429] disassembly of "260f6f00" show DS: instead of ES: prefix
 [1417583] Interrupt behaviour changed from 2.2.1 to 2.2.5
 [1418281] 'push' (6A) incorrectly disassembled
 [1417791] FLDENV generating exception when real hw does not.
 [1264583] OS/2 1.1 doesn't run

-------------------------------------------------------------------------
Changes in 2.2.6 (January 29, 2006):

- First major SMP release !
  - several APIC and I/O APIC fixes make SMP Bochs booting Windows NT4.0
    or Knoppix 4.0.2 without noapic kernel option in SMP configuration.
  - critical APIC timer bug fixed
  - obsolete SMP BIOS images removed (MP tables created dynamicaly)
  - determine number of processors in SMP configuration through .bochsrc
    new .bochsrc option 'CPU' allows to choose number of processors to emulate
  - new configure option --enable-smp to configure Bochs for SMP support,
    the old --enable-processors=N option is deprecated
- CPU and internal debugger fixes
  - enabled #PCE bit in CR4 register, previosly setting of this bit
    generated #GP(0) fault
  - enabled LAHF/SAHF instructions in x86-64 mode
  - fixed bug in PMULUDQ SSE2 instruction
  - fixes in Bochs debugger
- Configure and compile
  - enable VME (virtual 8086 mode extensions) by default if cpu-level >= 5
  - enable Bochs disassembler by default for all configurations
  - win32 installer script improvements
  - ips parameter moved to new 'CPU' option
  - show IPS value in status bar if BX_SHOW_IPS is enabled
- Other
  - several fixes in the hard drive, keyboard, timer, usb and vga code
  - new user button shortcut "bksl" (backslash)
  - updated Bochs instrumentation examples
  - user and development documentation improved

-------------------------------------------------------------------------
Changes in 2.2.5 (December 30, 2005):

Brief summary :
- added virtual 8086 mode extensions (VME) implementation
- several fixes/improvements in x86-64 emulation, debugger and disassembler
- new serial mode 'socket' connects a network socket
- IDE busmaster DMA feature for harddisks and cdroms completed and enabled
- many improvements in Bochs emulated I/O devices (e.g. floppy, cdrom)
- Updated LGPL'd VGABIOS to version 0.5d

Detailed change log :

- CPU
  - fixed XMM registers restore in FXRSTOR instruction (Andrej Palkovsky)
  - print registers dump to the log if tripple fault occurred
  - fixed PANIC in LTR instruction (Stanislav)
  - added virtual 8086 mode extensions (VME) implementation, to enable
    configure with --enable-vme (Stanislav)
  - flush caches and TLBs when executing WBINVD and INVD instructions
  - do not modify segment limit and AR bytes when modifying segment
    register in real mode (support for unreal mode)
  - fixed init/reset values for LDTR and TR registers
  - reimplemented hardware task switching mechanism (Stanislav)
  - generate #GP(0) when fetching instruction cross segment boundary

- CPU (x86-64) (Stanislav Shwartsman)
  - implemented call_far/ret_far/jmp_far instructions in long mode
  - fixed IRET operation in long mode
  - fixed bug prevented setting of NXE/FFXSR bits in MSR.EFER register
  - implemented RDTSCP instruction
  - do not check CS.limit when prefetching instructions in long mode
  - fixed masked write instructions (MASKMOVQ/MASKMOVDQU) in long mode
  - fetchdecode fixes for x86-64

- APIC
  - Fixed bug in changing local APIC id (Stanislav)
  - Fixed reading of IRR/ISR/TMR registers (patch by wmrieker)
  - Implemented spurious interrupt register (Stanislav, patch by wmrieker)
  - Fixed interrupt delivery bug (anonymous #SF patch)
  - Correctly implemented ESR APIC register (Stanislav)

- Bochs debugger
  - Fixed bug in bochs debugger caused breakpoints doesn't fire sometimes
    (Alexander Krisak)
  - watchpoints in device memory fixed (Nickolai Zeldovich)
  - new debug interface to access Bochs CPU general purpose registers
    with support for x86-64

- Disassembler (Stanislav Shwartsman)
  - Fixed disassembly for FCOMI/FUCOMI instructions
  - Full x86-64 support in disassembler. The disassembler module extended
    to support x86-64 extensions. Still limited by Bochs debugger which
    is not supporting x86-64 at all ;(

- I/O devices (Volker)
  - general
    - memory management prepared for large BIOS images (up to 512k)
    - slowdown timer sleep rate fixed (now using 1 msec on all platforms)
    - some device specific parameter handlers moved into the device code
  - serial
    - new serial mode 'socket' connects a network socket (#SF patch by Andrew Backer)
  - hard drive / cdrom
    - assign a unique serial number to each drive (fixes harddrive detection
      problems with Linux kernels 2.6.x: "ignoring undecoded slave")
    - geometry autodetection for 'flat' hard disk images added. Works with
      images created with bximage (heads = 16, sectors per track = 63)
    - ATAPI command 'read cd' implemented, some other commands improved
    - cdrom read block function now tries up to 3 times before giving up
    - emulation of raw cdrom reads added, some other lowlevel cdrom fixes
    - IDE busmaster DMA feature for harddisks and cdroms completed and enabled
    - disk image size limit changed from 32 to 127 GB
    - split ATA/ATAPI emulation code and image handling code
  - floppy
    - fixes for OS/2 (patch by Robin Kay)
    - disk change line behaviour fixed (initial patch by Ben Lunt)
    - end-of-track (EOT) condition handling implemented
    - more accurate timing for read/write data and format track commands using
      a motor speed of 300 RPM
    - timing of recalibrate and seek commands now depends on the step rate,
      date rate and the steps to do
    - floppy controller type changed to 82077AA
  - cmos
    - RTC 12-hour and binary mode implemented
    - number of CMOS registers changed from 64 to 128
    - bochsrc option 'cmosimage' improved
    - save cmos image on exit if enabled
  - speaker
    - simple speaker support for OS X added (patch by brianonn@telus.net)
  - pci
    - BeOS boot failure fix in the PCI IDE code
    - don't register i/o and memory regions during PCI probe
  - vga
    - memory allocation for vga extensions fixed
  - usb
    - some bugfixes by Ben Lunt (mouse and keypad are usable now)
  - networking modules
    - VDE networking module now enabled on Linux

- display libraries
  - general
    - new syntax for the userbutton shortcut string and more keys supported
  - win32
    - fixed keycode generation for right alt/ctrl/shift keys
    - runtime dialog is now a property sheet
  - x11
    - simple dialog boxes for the "ask" and "user shortcut" feature implemented
    - Slovenian keymap added (contributed by Mitja Ursic)

- configuration interface
  - ask dialog is now enabled by default for win32, wx and x display libraries
  - bochsrc option floppy_command_delay is obsolete now (floppy timing now based
    on hardware specs)
  - floppy image size detection now available in the whole config interface
  - some device specific parameter handlers moved into the device code
  - calculate BIOS ROM start address from image if not specified

- System BIOS (Volker)
  - PCI i/o and memory base address initialization added
  - several keyboard interrupt handler fixes (e.g. patch by japheth)
  - several floppy fixes (e.g. OS/2 works with patch by Robin Kay)
  - some more APM functions added
  - Updated LGPL'd VGABIOS to version 0.5d
  - generate SMP specific tables dynamicly by the Bochs memory init code

- SF patches applied
 [1389776] Disk sizes over 64 Gbytes by Andrzej Zaborowski
 [1359162] disasm support for x86-64 by Stanislav Shwartsman
  [857235] task priority and other APIC bugs, etc by wmrieker
 [1359011] build breaks for 386 + debugger + disasm by shirokuma
 [1352761] Infinite loop when trying to debug a triple exception
 [1311170] small APIC bug fix (interrupt sent to the wrong CPU)
 [1309763] Watchpoints don't work in device memory by Nickolai Zeldovich
 [1294930] change line status on floppy by Ben Lunt
 [1282033] SSE FXRESTORE not working correctly by Ondrej Palkovsky
  [816979] wget generalizations by Lyndon Nerenberg
 [1214886] No more pageWriteStamp / unified icache by H. Johansson
 [1107945] com->socket redirection support by Andrew Backer

- these S.F. bugs were closed
  [669180] win95 install : unknown SET FEATURES subcommand 0x03
 [1346692] bochs 2.2.1 VGA BIOS error
 [1354963] floppy in KolibriOS
 [1378204] error: bochs-2.2.1, --enable-sb16, --disable-gameport
 [1368412] VDE problems in BOCHS
  [533446] CPU and APIC devices appear twice
 [1000796] bximage fails to create image of specified size
 [1170793] Quarterdeck QEMM doesn't work
  [923704] Multiple opcode prefixes don't reflect Trap 13
 [1166392] DocBook/documentation issues
 [1368239] broken grater than 4GB size of sparse type hd image
 [1365830] i386 compile breaks on paging
  [427550] Incomplete IRETD implementation
 [1215081] MSVC workspace STILL not fixed
  [736279] Jump to Task
 [1356488] FD change fail & occur error
  [957615] [CPU ] prefetch: RIP > CS.limit
 [1353866] not booting linux-2.6.14
 [1351667] load32bitOSImage does not work with --enable-x86-debugger
 [1217476] Incorrect (?) handling of segment registers in real mode
 [1184711] OS2 DOS crash [2.2.pre2]
  [624330] support for disks > 32GiB
 [1348368] bochs 2.2.1 bximage error
 [1342081] Configuration Menu option failed
 [1138616] OS/2 Warp 4 hangs when booting
 [1049840] mouse and video conflict
 [1164570] Unable to perform Fedora Core 4 test 1 installation
 [1183201] Windows 2000 (MSDN build 2150?) does not completely install
 [1194284] Can't boot from CD-ROM (Windows NT)
  [962969] Windows NT crashes while trying to intall them.
 [1054594] WinXP install halts (redo)
 [1153107] Windows XP fails with BSOD on 'vga'
  [938518] Win XP installation fails
  [645420] getHostMemAddr vetoed direct read
 [1179985] MS XENIX: >>PANIC<< VGABIOS panic at vgabios.c, line 0
 [1329600] WBINVD and INVD should flush caches and TLB
  [638924] eliminate BX_USE_CONFIG_INTERFACE
 [1048711] Funny behaviour with CTRL
 [1288450] keyboard BIOS error
 [1310706] Keyboard - about key SHIFT
 [1295981] Ubuntu 5.04 Live-CD won't boot in Bochs
  [879047] APIC timer behavior different before reset and after
 [1188506] I still can't install the german Windows XP!
 [1301847] Windows XP dosn't boot - FXRSTOR problem ?
  [661259] does not boot QNX under WinX
  [924412] Keyboard lock states all whacked
  [681127] MIPSpro compiler (IRIX) is allergic to ^M
 [1285923] BIOS keyboard handler
  [516639] ATA controller revisited...
  [657918] does not boot BeOS under WinX
  [649245] BeOS CD locks halfway on boot
 [1094385] Attachment for bug 1090339 (beos failure)
 [1183196] BeOS 4.5 developer CD does not install
 [1090339] BeOS fails to boot
  [639484] panics when int 13 is called
  [711701] divide by zero
  [704295] ATAPI/BIOS call missing
  [682856] hard drive problems
  [627691] Cursor keys problem
  [588011] keyboard not working
  [542260] os/2 warp crashes with floppy handling
 [1273878] SB16 doesn't work in pure DOS
  [542254] OS/2 FDC driver dies
 [1099610] Windows 98 SE Does not install
  [875479] cr3 problem on task switch
  [731423] NE2000 causing PANIC on Win2K detection
 [1156155] bochs fails to boot plan9 iso
 [1251979] --enable-cpu-level=3 should assume --without-fpu
 [1257538] Interupt 15h 83h - set wait event interval
  [658396] Panic for DR DOS emm386
  [679339] /? doesn't divulge Bochs command-line syntax
 [1167016] call/jump/return_protected doesn't support x86-64
 [1252432] Mac OS X compile bug
  [881442] Bochs 2.1 PANIC when loading DOS Turbo Pascal protected mode
 [1249324] Boch2.2.1 Buffer Overfollow in void bx_local_apic_c::init ()
 [1197144] 'make install' has dependency on wget
 [1079595] LTR:386TSS: loading tr.limit < 103
 [1244070] Compilation Error in gui/rfb.cc
  [761707] CPU error when trying to start Privateer
  [517281] Crash running Privateer in DOS...

-------------------------------------------------------------------------
Changes in 2.2.1 (July 8, 2005):

- Fixed several compilation warnings and errors for different platforms (Volker)
- Fixed FPU tag word restore in FXRSTOR instruction (Stanislav)
- Added missing scancodes for F11 and F12 to BIOS translation table (Volker)
- Bochs disassembler bugfixes (h.johansson)
- About 5% emulation speed improvement (h.johansson)
- Handle writing of zero to APIC timer initial count register (Stanislav)
- Enable Idle-Hack for 'TERM' GUI (h.johansson)
- Reduced overhead of BX_SHOW_IPS option to minimum. Now every simulation
  could run with --enable-show-ips without significant performance
  penalty. (Stanislav)
- Fixed pcipnic register access (Volker)
- Limited write support for TFTP server in 'vnet' networking module added (Volker)
- Changed some timing defaults to more useful values (Volker)
- WinXP/2003 style common controls now supported (Vitaly Vorobyov)
- Updated LGPL'd VGABIOS to version 0.5c (Volker)
- Added new BX_INSTR_HLT callback to instrumentation (Stanislav)

-------------------------------------------------------------------------
Changes in 2.2 (May 28, 2005):

Brief summary :
- New floating point emulator based on SoftFloat floating point
  emulation library.
- improved x86-64 emulation
- Cirrus SVGA card emulation added
- status bar with indicators for keyboard, floppy, cdrom and disk (gui dependant)
- many improvements in Bochs emulated I/O devices (e.g. PCI subsystem)

Detailed change log :

- CPU
  - fixes for booting OS/2 by Dmitri Froloff
    - fixed v8086 priveleged instruction processing bug (was also reported
      by LightCone Aug 7 2003)
    - exception process bug (was reported by Diego Henriquez Sat Nov 15
      01:16:51 CET 2003)
    - segment validation with IRET instruction
    - CS segment not present exception processing with IRET
  - several fixes by Kevin Lawton
  - add MSVC host asm instructions (patch by suzu)
  - fixed bug in HADDPD/HSUBPD (SSE3) instructions
  - fixed bug in float to integer SSE/SSE2 convert instructions
  - fixed BCD instructions implementation
  - execution speed improvements (sshwarts and psychosmur)
  - fix MSR_APICBASE base address (Kangmo Kim, Christian Neubert)
  - change BX_PANIC messages to BX_INFO when behaviour exactly
    matches Intel docs
  - EIP > CS.limit case should always cause #GP(0), even in real mode.
    Fixed all jump, call and ret instructions for 16/32 modes
  - fixed using invalid segment register for MOV instruction (h.johansson)
  - fixed ET bit mismatch between CR0 and SMSW instruction
  - fixed possible simulator #DIVZERO fault when executing IDIV instruction
  - fixed undocumented flags handling for BTS, BTR, SHR, SHLD, MUL and IMUL
    instructions (Stanislav Shwartsman)
  - added missed #GP(0) exception when loading incorrect flags combination
    to CR0 (Stanislav Shwartsman)
  - in case of --enable-ignore-bad-msr enabled read ignored MSRs as zero
  - enabled #DE, #TSD and #MCE bits in CR4 register, previosly setting
    of one of these bits generated #GP(0) (Stanislav, Volker Ruppert)
  - exceeding the instruction length limit of 15 bytes (this only can
    occur when redundant prefixes are placed before an instruction)
    generate #GP(0) (Stanislav Shwartsman)
  - corrected PAE functionality

- CPU (x86-64)
  - fetchdecode fixes for x86-64 and 3DNow! (Stanislav)
  - fixed CF flag handling for SHL instruction in x86-64 mode (Stanislav)
  - implemented CR8 register (aliased to APIC.TPR[7:4]) (Stanislav)
  - implemented NXE bit (No-Execute page protection) support (Stanislav)
  - STOSQ instruction emulation fixed (Avi Kivity)
  - allow null SS selector for MOV SS, POP SS, and LSS instructions
    in long mode (Avi Kivity)
  - ignore segment bases for all segments (except FS and GS) in long
    mode (Avi Kivity)
  - allow SYSENTER/SYSEXIT instructions together with x86-64 (Stanislav)
  - canonical address checking for RIP (Stanislav)

- FPU (Stanislav Shwartsman)
  - totally rewritten all FPU code based on softfloat library
  - significantly improved accuracy of all floating point
    instructions.
  - implemented all missed P6 and PNI floating point instructions.
  - hundreds of bug fixes in FPU code.

  TODO:
    ! Unmasked underflow/overflow should correct the result
      by magic number for all operations, including float32
      and float64.

- APIC (Zwane Mwaikambo)
  - APIC arbitration
  - Processor priority
  - Various interrupt delivery fixes
  - Focus processor checking
  - ExtINT delivery

- Disassembler
  - fixed MOV opcode 0x88, had exchanged the operands (h.johansson)
  - fixed MOV opcode 0xA3, had wrong operand size (h.johansson)
  - fixed BOUND opcode 0x62 (Stanislav)
  - fixed CALLW opcode 0xFF /3 and JMPW opcode 0xFF /5 (Stanislav)
  - fixed INS opcode 0x6D, had wrong operand size (Stanislav)
  - fixed disassembly for repeatable instructions (Stanislav)
  - fixed sign-extended immediate opcodes (Stanislav)
  - fixed MOVSS/MOVSD instructions opcode names (Stanislav)
  - fixed NEG instruction opcode name (Stanislav)
  - fixed CMPXCHG8B instruction, had wrong operand size (Stanislav)
  - fixed floating point instructions operands (Stanislav)
  - experimental support of AT&T syntax in disassembler (Stanislav)

- I/O devices
  - general
    - handle cpu reset through port 0x92
    - new memory handler API for PCI i/o and memory handling (Frank Cornelis)
  - speaker emulation for Linux (David N. Welton) and Win32 (Volker Ruppert) added
  - pci
    - PCI slot configuration added for 5 slots (Volker)
    - PCI irq routing, irq sharing and level sensitive irq mode implemented
    - ne2k device appears as a Realtec 8029 NIC if connected to a PCI slot
    - PCI IDE controller dummy device added
    - PCI host device mapping for Linux (Frank Cornelis)
    - PCI Pseudo-NIC emulation (Michael Brown)
  - serial
    - multiple serial port support added (4 ports now available)
    - partial raw serial support on win32 (transmit data)
    - serial port i/o mode option added (modes: null, file, term, raw, mouse)
  - parallel
    - multiple parallel port support added (2 ports now available)
  - mouse
    - serial mouse support (Volker)
    - PS/2 and serial wheel mouse support (Ben Lunt)
  - usb
    - USB mouse and keypad support (Ben Lunt)
    - config option to specify devices connected to USB ports
  - vga
    - VBE 8 bit DAC support added
    - VBE memory now registered using DEV_register_memory_handlers()
    - CL-GD 54xx SVGA emulation added (Makoto Suzuki)
    - vga extension option added (choices: vbe, cirrus, none) (Volker)
  - floppy
    - raw floppy access now works on Win9x host (Ben Lunt)
  - sb16
    - MacOSX sound support (Brian Huffman)
  - networking modules
    - new: 'eth_vnet' simulates ARP, DHCP, ICMP-echo and read-only TFTP
      (m_suzu, easeway)
    - new: 'eth_vde' for Virtual Distributed Ethernet (Renzo Davoli)

- System BIOS
  - turn floppy motor off 2 seconds after last read/write/recalibrate command
    (Ben Lunt)
  - int13_cdrom / 32 bit register update fixes for FreeBSD cdrom boot
    (Fabrice Bellard)
  - APM and system shutdown support (Fabrice Bellard)
  - checksum calculation for expansion ROMs
  - extended floppy parameter table (Mike Nordell, Derek Favcus)
  - PCI IRQ initialisation added
  - boot sequence with up to 3 boot devices added

- display libraries
  - status bar with indicators for cdrom, floppy, harddisk and keyboard added
    (done in rfb, sdl, win32, wx and x)
  - 3rd (middle) mouse button now supported (rfb, sdl, win32, wx, x)
  - mouse wheel support (sdl, win32, x)
  - CTRL key + middle mouse button now used to toggle the mouse capture mode
    (sdl, win32, wx, x)
  - text mode split screen feature added (sdl, win32, wx, x)
  - new gui function returns the display library capabilities (xres, yres, bpp)
    for the Bochs VBE support
  - display library specific options added - currently supported:
    rfb:   timeout (time to wait for client connection)
    sdl:   fullscreen (startup in fullscreen mode)
    win32: legacyF12 (use F12 to toggle mouse)
  - new graphics update API added (used by svga_cirrus) (Robin Kay)

- configuration interface
  - win32: gui runtime dialogs replace textconfig runtime dialogs
  - set default IPS to 10000000 in .bochsrc sample
  - SB16 options dmatimer and loglevel now available at runtime

- configure script / compile
  - --enable-ignore-bad-msr (ignore bad MSR references) option is enabled
    by default
  - --enable-mmx enabled by default only if cpu-level >= 5
  - --enable-4meg-pages will be enabled by default if cpu-level >= 5
  - fixes for Solaris SunPro (Robin Kay)
  - --enable-pni option added
  - --enable-show-ips option added, enable Instruction Per Second counter
    in log file
  - autodetection for lowlevel sound support added

- documentation
  - a bunch of updates in user and documentation docs (Alexander Schuch)

- SF patches applied
  [894595] MSR_APICBASE always returns APIC ADDRESS 0 by Kangmo Kim
  [907163] ctrl_xfer8 clean/speed up
  [907161] clean/speed up of io.cc
  [899972] data xfer performance patch V 2.0.4
  [904549] imul gives incorrect result in long mode
  [877510] amd64 fixes...
  [903465] SEGV in iodev/ne2k.cc line 1211 on Alpha architecture by Christian Lestrade
  [903332] copy the bximage result to clipboard, etc by Lukewarm
  [950905] Do not PANIC on rare, bad input from user-mode by h.johansson
  [924428] ET bit mismatch between CR0 and MSW
  [869822] a real SVGA implementation by m_suzu
  [867045] fix for compiler errors on VC++ by m_suzu
  [838601] support for the over 2GB disk size with MSVC++
  [874816] local ARP/ping/DHCP simulator by m_suzu
  [976066] Keyboard: Get controller version by Ben Lunt
  [832330] ROMBIOS improvement (reduce stack consumption, etc.)
  [977900] READ_CDROM_TOC and base address by Ben Lunt
  [961665] WinXP patch to read physical CDROM's TOC by Ben Lunt
  [978793] CDROM_SENSE_MODE medium_type by Ben Lunt
  [615457] gif to png migration
 [1021767] Portability in sb16ctrl.c by Robert Millan
  [690400] gzip is confused by GZIP variable in Makefile
  [567595] guess floppy image size from image file length by Tal Benavidor
  [888426] bochsrc to make vnet useful by m_suzu
 [1021758] GNU/k*BSD host support by Robert Millan
  [969967] int 15/ah=87h clearing cr0 by Ben Lunt
 [1048327] Russian Keymap by Dmitry Soshnikov
  [851332] DESTDIR support for install_dlx by Ville Skytt
  [970929] gdbstub support for MinGW tool chains by Muranaka Masaki
 [1021740] Turn gdb stub into a runtime option by Charles Duffy
 [1063329] RFB key press/release bug fix by Remko van der Vossen
 [1079240] Wheel Mouse by Ben Lunt
 [1087537] Fix for Win9x CD boot by lukewarm
 [1083218] Start of wheel for USB #2 by Ben Lunt
 [1098480] bochsrc: fixed floppya example by Alexander Schuch (ci-dev)
 [1094407] configure.in: changed wxWindows to wxWidgets by Alexander Schuch
 [1092058] serial.cc debug output cleanup by Ben Lunt
 [1101165] APIC base address by Christian Neubert (flashburn)
 [1093796] Fix for bug #1093786 (Nigel Horne)
 [1082584] The start of Bus mice and USB mice by Ben Lunt
 [1104695] msvc6 compatibility update (Royce Mitchell III)
 [1059199] VGA text font bug fix (Anonymous)
 [1108001] Null pointer on bx_atexit() (Ben Lunt)
 [1112093] Fixed mouse cursor remain area drawing (Anonymous)
 [1114826] Fix PCIBIOS (Destruction prevention of esi and edi)
 [1095473] Reading from a CDRW (Fixed) by Ben Lunt
 [1123895] x86-64 gdb/debugger fixes by Avi Kivity
 [1145423] stosq simulation bugfix by Avi Kivity
 [1151012] allow null ss on x86-64 by Avi Kivity
 [1153327] ignore segment bases in x86-64 by Avi Kivity
 [1153511] Fixed broken screen update (VBE)
 [1152808] use 'install' instead of 'cp' during installation by Avi Kivity
 [1159626] bugfix [1156776] keyboard scanmode fault by Rene Kootstra
  [843328] PATCH: support for Flat-style ToolBar with Win32GUI
 [1198308] PATCH: fix incorrect moving mouse cursor when wheel used
Download .txt
gitextract_9ij8sc69/

├── .bochsrc
├── .conf.amigaos
├── .conf.everything
├── .conf.linux
├── .conf.macos
├── .conf.macosx
├── .conf.nothing
├── .conf.sparc
├── .conf.win32-cygwin
├── .conf.win32-vcpp
├── .conf.win64-cross-mingw32
├── .conf.win64-vcpp
├── CHANGES
├── COPYING
├── LICENSE
├── Makefile.in
├── PARAM_TREE.txt
├── README
├── README-wxWidgets
├── TESTFORM.txt
├── TODO
├── aclocal.m4
├── bios/
│   ├── BIOS-bochs-latest
│   ├── BIOS-bochs-legacy
│   ├── Makefile.in
│   ├── SeaBIOS-README
│   ├── SeaVGABIOS-README
│   ├── VGABIOS-elpin-2.40
│   ├── VGABIOS-elpin-LICENSE
│   ├── VGABIOS-lgpl-README
│   ├── VGABIOS-lgpl-latest
│   ├── VGABIOS-lgpl-latest-banshee
│   ├── VGABIOS-lgpl-latest-cirrus
│   ├── VGABIOS-lgpl-latest-cirrus-debug
│   ├── VGABIOS-lgpl-latest-debug
│   ├── acpi-dsdt.dsl
│   ├── acpi-dsdt.hex
│   ├── apmbios.S
│   ├── bios.bin-1.13.0
│   ├── bios_usage
│   ├── biossums.c
│   ├── makesym.perl
│   ├── notes
│   ├── rombios.c
│   ├── rombios.h
│   ├── rombios32.c
│   ├── rombios32.ld
│   ├── rombios32start.S
│   ├── usage.cc
│   └── vgabios-cirrus.bin-1.13.0
├── bochs.h
├── build/
│   ├── android/
│   │   ├── How_to_Build.txt
│   │   ├── bochs/
│   │   │   ├── AndroidAppSettings.cfg
│   │   │   └── AndroidBuild.sh
│   │   ├── build-all.sh
│   │   ├── build-core.sh
│   │   └── build-ui.sh
│   ├── batch-build.perl
│   ├── linux/
│   │   ├── README.linux-binary
│   │   └── bochs-dlx.in
│   ├── macos/
│   │   ├── CWPro3_project.sit
│   │   ├── bochs.rsrc
│   │   └── macos_defines.h
│   ├── macosx/
│   │   ├── Info.plist.in
│   │   ├── README.macosx-binary
│   │   ├── bochs-icn.icns
│   │   ├── bochs.applescript
│   │   ├── bochs.r
│   │   ├── diskimage.pl
│   │   ├── make-dmg.sh
│   │   ├── pbdevelopment.plist
│   │   ├── script.data
│   │   └── script.r
│   ├── makeall.sh
│   ├── redhat/
│   │   ├── NOTES
│   │   ├── bochs.rpmspec.template
│   │   └── make-rpm
│   └── win32/
│       ├── README.win32-binary
│       ├── bochs.manifest
│       ├── cc2cpp
│       ├── cpp2cc
│       ├── diffcc2cpp
│       └── nsis/
│           ├── Makefile.in
│           └── bochs.nsi.in
├── bx_debug/
│   ├── Makefile.in
│   ├── dbg_breakpoints.cc
│   ├── dbg_main.cc
│   ├── debug.h
│   ├── lexer.c
│   ├── lexer.l
│   ├── linux.cc
│   ├── make-syscalls-linux.pl
│   ├── parser.cc
│   ├── parser.h
│   ├── parser.y
│   ├── symbols.cc
│   └── syscalls-linux.h
├── bxdisasm.cc
├── bxthread.cc
├── bxthread.h
├── bxversion.h.in
├── bxversion.rc.in
├── config.cc
├── config.guess
├── config.h.in
├── config.sub
├── configure
├── configure.in
├── cpu/
│   ├── 3dnow.cc
│   ├── Makefile.in
│   ├── access.cc
│   ├── access.h
│   ├── access2.cc
│   ├── aes.cc
│   ├── apic.cc
│   ├── apic.h
│   ├── arith16.cc
│   ├── arith32.cc
│   ├── arith64.cc
│   ├── arith8.cc
│   ├── avx/
│   │   ├── Makefile.in
│   │   ├── avx.cc
│   │   ├── avx2.cc
│   │   ├── avx512.cc
│   │   ├── avx512_bitalg.cc
│   │   ├── avx512_broadcast.cc
│   │   ├── avx512_cvt.cc
│   │   ├── avx512_fma.cc
│   │   ├── avx512_mask16.cc
│   │   ├── avx512_mask32.cc
│   │   ├── avx512_mask64.cc
│   │   ├── avx512_mask8.cc
│   │   ├── avx512_move.cc
│   │   ├── avx512_pfp.cc
│   │   ├── avx512_rcp14.cc
│   │   ├── avx512_rsqrt14.cc
│   │   ├── avx_cvt.cc
│   │   ├── avx_fma.cc
│   │   ├── avx_pfp.cc
│   │   ├── gather.cc
│   │   ├── tbm32.cc
│   │   ├── tbm64.cc
│   │   ├── vnni.cc
│   │   └── xop.cc
│   ├── bcd.cc
│   ├── bit.cc
│   ├── bit16.cc
│   ├── bit32.cc
│   ├── bit64.cc
│   ├── bmi32.cc
│   ├── bmi64.cc
│   ├── call_far.cc
│   ├── cet.cc
│   ├── cpu.cc
│   ├── cpu.h
│   ├── cpudb/
│   │   ├── Makefile.in
│   │   ├── amd/
│   │   │   ├── amd_k6_2_chomper.cc
│   │   │   ├── amd_k6_2_chomper.h
│   │   │   ├── amd_k6_2_chomper.txt
│   │   │   ├── athlon64_clawhammer.cc
│   │   │   ├── athlon64_clawhammer.h
│   │   │   ├── athlon64_clawhammer.txt
│   │   │   ├── athlon64_venice.cc
│   │   │   ├── athlon64_venice.h
│   │   │   ├── athlon64_venice.txt
│   │   │   ├── phenomx3_8650_toliman.cc
│   │   │   ├── phenomx3_8650_toliman.h
│   │   │   ├── phenomx3_8650_toliman.txt
│   │   │   ├── ryzen.cc
│   │   │   ├── ryzen.h
│   │   │   ├── ryzen.txt
│   │   │   ├── trinity_apu.cc
│   │   │   ├── trinity_apu.h
│   │   │   ├── trinity_apu.txt
│   │   │   ├── turion64_tyler.cc
│   │   │   ├── turion64_tyler.h
│   │   │   ├── turion64_tyler.txt
│   │   │   ├── zambezi.cc
│   │   │   ├── zambezi.h
│   │   │   └── zambezi.txt
│   │   └── intel/
│   │       ├── atom_n270.cc
│   │       ├── atom_n270.h
│   │       ├── atom_n270.txt
│   │       ├── broadwell_ult.cc
│   │       ├── broadwell_ult.h
│   │       ├── broadwell_ult.txt
│   │       ├── core2_penryn_t9600.cc
│   │       ├── core2_penryn_t9600.h
│   │       ├── core2_penryn_t9600.txt
│   │       ├── core_duo_t2400_yonah.cc
│   │       ├── core_duo_t2400_yonah.h
│   │       ├── core_duo_t2400_yonah.txt
│   │       ├── corei3_cnl.cc
│   │       ├── corei3_cnl.h
│   │       ├── corei3_cnl.txt
│   │       ├── corei5_arrandale_m520.cc
│   │       ├── corei5_arrandale_m520.h
│   │       ├── corei5_arrandale_m520.txt
│   │       ├── corei5_lynnfield_750.cc
│   │       ├── corei5_lynnfield_750.h
│   │       ├── corei5_lynnfield_750.txt
│   │       ├── corei7_haswell_4770.cc
│   │       ├── corei7_haswell_4770.h
│   │       ├── corei7_haswell_4770.txt
│   │       ├── corei7_icelake-u.cc
│   │       ├── corei7_icelake-u.h
│   │       ├── corei7_icelake-u.txt
│   │       ├── corei7_ivy_bridge_3770K.cc
│   │       ├── corei7_ivy_bridge_3770K.h
│   │       ├── corei7_ivy_bridge_3770K.txt
│   │       ├── corei7_sandy_bridge_2600K.cc
│   │       ├── corei7_sandy_bridge_2600K.h
│   │       ├── corei7_sandy_bridge_2600K.txt
│   │       ├── corei7_skylake-x.cc
│   │       ├── corei7_skylake-x.h
│   │       ├── corei7_skylake-x.txt
│   │       ├── p2_klamath.cc
│   │       ├── p2_klamath.h
│   │       ├── p2_klamath.txt
│   │       ├── p3_katmai.cc
│   │       ├── p3_katmai.h
│   │       ├── p3_katmai.txt
│   │       ├── p4_prescott_celeron_336.cc
│   │       ├── p4_prescott_celeron_336.h
│   │       ├── p4_prescott_celeron_336.txt
│   │       ├── p4_willamette.cc
│   │       ├── p4_willamette.h
│   │       ├── p4_willamette.txt
│   │       ├── pentium.cc
│   │       ├── pentium.h
│   │       ├── pentium.txt
│   │       ├── pentium_mmx.cc
│   │       ├── pentium_mmx.h
│   │       ├── pentium_mmx.txt
│   │       ├── tigerlake.cc
│   │       ├── tigerlake.h
│   │       └── tigerlake.txt
│   ├── cpuid.cc
│   ├── cpuid.h
│   ├── cpustats.h
│   ├── crc32.cc
│   ├── crregs.cc
│   ├── crregs.h
│   ├── ctrl_xfer16.cc
│   ├── ctrl_xfer32.cc
│   ├── ctrl_xfer64.cc
│   ├── ctrl_xfer_pro.cc
│   ├── data_xfer16.cc
│   ├── data_xfer32.cc
│   ├── data_xfer64.cc
│   ├── data_xfer8.cc
│   ├── debugstuff.cc
│   ├── decoder/
│   │   ├── decoder.h
│   │   ├── disasm.cc
│   │   ├── fetchdecode.h
│   │   ├── fetchdecode32.cc
│   │   ├── fetchdecode64.cc
│   │   ├── fetchdecode_avx.h
│   │   ├── fetchdecode_evex.h
│   │   ├── fetchdecode_opmap.h
│   │   ├── fetchdecode_opmap_0f38.h
│   │   ├── fetchdecode_opmap_0f3a.h
│   │   ├── fetchdecode_x87.h
│   │   ├── fetchdecode_xop.h
│   │   ├── ia_opcodes.def
│   │   ├── ia_opcodes.h
│   │   └── instr.h
│   ├── descriptor.h
│   ├── event.cc
│   ├── exception.cc
│   ├── faststring.cc
│   ├── flag_ctrl.cc
│   ├── flag_ctrl_pro.cc
│   ├── fpu/
│   │   ├── Makefile.in
│   │   ├── control_w.h
│   │   ├── f2xm1.cc
│   │   ├── ferr.cc
│   │   ├── fpatan.cc
│   │   ├── fprem.cc
│   │   ├── fpu.cc
│   │   ├── fpu_arith.cc
│   │   ├── fpu_cmov.cc
│   │   ├── fpu_compare.cc
│   │   ├── fpu_const.cc
│   │   ├── fpu_constant.h
│   │   ├── fpu_load_store.cc
│   │   ├── fpu_misc.cc
│   │   ├── fpu_trans.cc
│   │   ├── fsincos.cc
│   │   ├── fyl2x.cc
│   │   ├── poly.cc
│   │   ├── softfloat-compare.h
│   │   ├── softfloat-macros.h
│   │   ├── softfloat-muladd.cc
│   │   ├── softfloat-round-pack.cc
│   │   ├── softfloat-round-pack.h
│   │   ├── softfloat-specialize.cc
│   │   ├── softfloat-specialize.h
│   │   ├── softfloat.cc
│   │   ├── softfloat.h
│   │   ├── softfloat16.cc
│   │   ├── softfloatx80.cc
│   │   ├── softfloatx80.h
│   │   ├── status_w.h
│   │   ├── tag_w.h
│   │   └── todo
│   ├── fpu_emu.cc
│   ├── generic_cpuid.cc
│   ├── generic_cpuid.h
│   ├── gf2.cc
│   ├── i387.h
│   ├── icache.cc
│   ├── icache.h
│   ├── init.cc
│   ├── io.cc
│   ├── iret.cc
│   ├── jmp_far.cc
│   ├── lazy_flags.h
│   ├── load.cc
│   ├── logical16.cc
│   ├── logical32.cc
│   ├── logical64.cc
│   ├── logical8.cc
│   ├── mmx.cc
│   ├── msr.cc
│   ├── msr.h
│   ├── mult16.cc
│   ├── mult32.cc
│   ├── mult64.cc
│   ├── mult8.cc
│   ├── mwait.cc
│   ├── paging.cc
│   ├── proc_ctrl.cc
│   ├── protect_ctrl.cc
│   ├── rdrand.cc
│   ├── ret_far.cc
│   ├── scalar_arith.h
│   ├── segment_ctrl.cc
│   ├── segment_ctrl_pro.cc
│   ├── sha.cc
│   ├── shift16.cc
│   ├── shift32.cc
│   ├── shift64.cc
│   ├── shift8.cc
│   ├── simd_compare.h
│   ├── simd_int.h
│   ├── simd_pfp.h
│   ├── smm.cc
│   ├── smm.h
│   ├── soft_int.cc
│   ├── sse.cc
│   ├── sse_move.cc
│   ├── sse_pfp.cc
│   ├── sse_rcp.cc
│   ├── sse_string.cc
│   ├── stack.cc
│   ├── stack.h
│   ├── stack16.cc
│   ├── stack32.cc
│   ├── stack64.cc
│   ├── string.cc
│   ├── svm.cc
│   ├── svm.h
│   ├── tasking.cc
│   ├── tlb.h
│   ├── todo
│   ├── vapic.cc
│   ├── vm8086.cc
│   ├── vmcs.cc
│   ├── vmexit.cc
│   ├── vmfunc.cc
│   ├── vmx.cc
│   ├── vmx.h
│   ├── wide_int.cc
│   ├── wide_int.h
│   ├── xmm.h
│   └── xsave.cc
├── cpudb.h
├── crc.cc
├── doc/
│   ├── docbook/
│   │   ├── Makefile.in
│   │   ├── README
│   │   ├── development/
│   │   │   └── development.dbk
│   │   ├── documentation/
│   │   │   └── documentation.dbk
│   │   ├── fixtitles.pl
│   │   ├── include/
│   │   │   ├── defs.sgm
│   │   │   └── docbook-utils.dsl
│   │   ├── index.html
│   │   ├── misc.txt
│   │   ├── outline.txt
│   │   └── user/
│   │       └── user.dbk
│   └── man/
│       ├── bochs-dlx.1
│       ├── bochs.1
│       ├── bochsrc.5
│       └── bximage.1
├── docs-html/
│   ├── 00README
│   ├── bxdebugger.html
│   ├── cpu_configurability.txt
│   ├── memory.txt
│   └── random.txt
├── extplugin.h
├── gdbstub.cc
├── gui/
│   ├── Makefile.in
│   ├── amigagui.h
│   ├── amigaos.cc
│   ├── bitmaps/
│   │   ├── cdromd.h
│   │   ├── cdromd.xpm
│   │   ├── configbutton.h
│   │   ├── configbutton.xpm
│   │   ├── copy.h
│   │   ├── copy.xpm
│   │   ├── floppya.h
│   │   ├── floppya.xpm
│   │   ├── floppyb.h
│   │   ├── floppyb.xpm
│   │   ├── mouse.h
│   │   ├── mouse.xpm
│   │   ├── paste.h
│   │   ├── paste.xpm
│   │   ├── power.h
│   │   ├── power.xpm
│   │   ├── reset.h
│   │   ├── reset.xpm
│   │   ├── saverestore.h
│   │   ├── saverestore.xpm
│   │   ├── snapshot.h
│   │   ├── snapshot.xpm
│   │   ├── userbutton.h
│   │   └── userbutton.xpm
│   ├── carbon.cc
│   ├── enh_dbg.cc
│   ├── enh_dbg.h
│   ├── font/
│   │   └── vga.bitmap.h
│   ├── gtk_enh_dbg_osdep.cc
│   ├── gui.cc
│   ├── gui.h
│   ├── icon_bochs.h
│   ├── icon_bochs.xpm
│   ├── keymap.cc
│   ├── keymap.h
│   ├── macintosh.cc
│   ├── nogui.cc
│   ├── paramtree.cc
│   ├── paramtree.h
│   ├── rfb.cc
│   ├── rfb.h
│   ├── rfbkeys.h
│   ├── scrollwin.cc
│   ├── scrollwin.h
│   ├── sdl.cc
│   ├── sdl.h
│   ├── sdl2.cc
│   ├── sdlkeys.h
│   ├── siminterface.cc
│   ├── siminterface.h
│   ├── term.cc
│   ├── textconfig.cc
│   ├── vncsrv.cc
│   ├── wenhdbg_res.h
│   ├── win32.cc
│   ├── win32_enh_dbg_osdep.cc
│   ├── win32config.cc
│   ├── win32dialog.h
│   ├── win32paramdlg.cc
│   ├── win32paramdlg.h
│   ├── win32res.h
│   ├── wx.cc
│   ├── wxdialog.cc
│   ├── wxdialog.h
│   ├── wxmain.cc
│   ├── wxmain.h
│   └── x.cc
├── host/
│   └── linux/
│       └── pcidev/
│           ├── Make.kbuild
│           ├── Makefile.in
│           ├── kernel_pcidev.h
│           └── pcidev.c
├── install-sh
├── instrument/
│   ├── example0/
│   │   ├── Makefile.in
│   │   ├── instrument.cc
│   │   └── instrument.h
│   ├── example1/
│   │   ├── Makefile.in
│   │   ├── instrument.cc
│   │   └── instrument.h
│   ├── example2/
│   │   ├── Makefile.in
│   │   ├── instrument.cc
│   │   └── instrument.h
│   ├── instrumentation.txt
│   └── stubs/
│       ├── Makefile.in
│       ├── instrument.cc
│       └── instrument.h
├── iodev/
│   ├── Makefile.in
│   ├── acpi.cc
│   ├── acpi.h
│   ├── biosdev.cc
│   ├── biosdev.h
│   ├── busmouse.cc
│   ├── busmouse.h
│   ├── cmos.cc
│   ├── cmos.h
│   ├── devices.cc
│   ├── devices.txt
│   ├── display/
│   │   ├── Makefile.in
│   │   ├── banshee.cc
│   │   ├── bitblt.h
│   │   ├── ddc.cc
│   │   ├── ddc.h
│   │   ├── svga_cirrus.cc
│   │   ├── svga_cirrus.h
│   │   ├── vga.cc
│   │   ├── vga.h
│   │   ├── vgacore.cc
│   │   ├── vgacore.h
│   │   ├── voodoo.cc
│   │   ├── voodoo.h
│   │   ├── voodoo_data.h
│   │   ├── voodoo_func.h
│   │   ├── voodoo_main.h
│   │   └── voodoo_types.h
│   ├── dma.cc
│   ├── dma.h
│   ├── extfpuirq.cc
│   ├── extfpuirq.h
│   ├── floppy.cc
│   ├── floppy.h
│   ├── gameport.cc
│   ├── gameport.h
│   ├── harddrv.cc
│   ├── harddrv.h
│   ├── hdimage/
│   │   ├── Makefile.in
│   │   ├── cdrom.cc
│   │   ├── cdrom.h
│   │   ├── cdrom_amigaos.cc
│   │   ├── cdrom_amigaos.h
│   │   ├── cdrom_misc.cc
│   │   ├── cdrom_misc.h
│   │   ├── cdrom_osx.cc
│   │   ├── cdrom_osx.h
│   │   ├── cdrom_win32.cc
│   │   ├── cdrom_win32.h
│   │   ├── hdimage.cc
│   │   ├── hdimage.cc.orig
│   │   ├── hdimage.h
│   │   ├── scsi_commands.h
│   │   ├── vbox.cc
│   │   ├── vbox.h
│   │   ├── vmware3.cc
│   │   ├── vmware3.h
│   │   ├── vmware4.cc
│   │   ├── vmware4.h
│   │   ├── vpc.cc
│   │   ├── vpc.h
│   │   ├── vvfat.cc
│   │   └── vvfat.h
│   ├── hpet.cc
│   ├── hpet.h
│   ├── ioapic.cc
│   ├── ioapic.h
│   ├── iodebug.cc
│   ├── iodebug.h
│   ├── iodev.h
│   ├── keyboard.cc
│   ├── keyboard.h
│   ├── network/
│   │   ├── Makefile.in
│   │   ├── e1000.cc
│   │   ├── e1000.h
│   │   ├── eth_fbsd.cc
│   │   ├── eth_linux.cc
│   │   ├── eth_null.cc
│   │   ├── eth_slirp.cc
│   │   ├── eth_socket.cc
│   │   ├── eth_tap.cc
│   │   ├── eth_tuntap.cc
│   │   ├── eth_vde.cc
│   │   ├── eth_vnet.cc
│   │   ├── eth_win32.cc
│   │   ├── ne2k.cc
│   │   ├── ne2k.h
│   │   ├── netmod.cc
│   │   ├── netmod.h
│   │   ├── netutil.cc
│   │   ├── netutil.h
│   │   ├── pcipnic.cc
│   │   ├── pcipnic.h
│   │   ├── pnic_api.h
│   │   └── slirp/
│   │       ├── COPYRIGHT
│   │       ├── arp_table.cc
│   │       ├── bootp.cc
│   │       ├── bootp.h
│   │       ├── cksum.cc
│   │       ├── compat.cc
│   │       ├── compat.h
│   │       ├── debug.h
│   │       ├── dnssearch.cc
│   │       ├── if.cc
│   │       ├── if.h
│   │       ├── ip.h
│   │       ├── ip_icmp.cc
│   │       ├── ip_icmp.h
│   │       ├── ip_input.cc
│   │       ├── ip_output.cc
│   │       ├── libslirp.h
│   │       ├── main.h
│   │       ├── mbuf.cc
│   │       ├── mbuf.h
│   │       ├── misc.cc
│   │       ├── misc.h
│   │       ├── sbuf.cc
│   │       ├── sbuf.h
│   │       ├── slirp.cc
│   │       ├── slirp.h
│   │       ├── slirp_config.h
│   │       ├── socket.cc
│   │       ├── socket.h
│   │       ├── tcp.h
│   │       ├── tcp_input.cc
│   │       ├── tcp_output.cc
│   │       ├── tcp_subr.cc
│   │       ├── tcp_timer.cc
│   │       ├── tcp_timer.h
│   │       ├── tcp_var.h
│   │       ├── tcpip.h
│   │       ├── tftp.cc
│   │       ├── tftp.h
│   │       ├── udp.cc
│   │       └── udp.h
│   ├── parallel.cc
│   ├── parallel.h
│   ├── pci.cc
│   ├── pci.h
│   ├── pci2isa.cc
│   ├── pci2isa.h
│   ├── pci_ide.cc
│   ├── pci_ide.h
│   ├── pcidev.cc
│   ├── pcidev.h
│   ├── pic.cc
│   ├── pic.h
│   ├── pit.cc
│   ├── pit.h
│   ├── pit82c54.cc
│   ├── pit82c54.h
│   ├── scancodes.cc
│   ├── scancodes.h
│   ├── serial.cc
│   ├── serial.h
│   ├── serial_raw.cc
│   ├── serial_raw.h
│   ├── slowdown_timer.cc
│   ├── slowdown_timer.h
│   ├── sound/
│   │   ├── Makefile.in
│   │   ├── es1370.cc
│   │   ├── es1370.h
│   │   ├── opl.cc
│   │   ├── opl.h
│   │   ├── sb16.cc
│   │   ├── sb16.h
│   │   ├── soundalsa.cc
│   │   ├── soundalsa.h
│   │   ├── sounddummy.cc
│   │   ├── soundfile.cc
│   │   ├── soundfile.h
│   │   ├── soundlow.cc
│   │   ├── soundlow.h
│   │   ├── soundmod.cc
│   │   ├── soundmod.h
│   │   ├── soundoss.cc
│   │   ├── soundoss.h
│   │   ├── soundosx.cc
│   │   ├── soundosx.h
│   │   ├── soundsdl.cc
│   │   ├── soundsdl.h
│   │   ├── soundwin.cc
│   │   └── soundwin.h
│   ├── speaker.cc
│   ├── speaker.h
│   ├── unmapped.cc
│   ├── unmapped.h
│   ├── usb/
│   │   ├── Makefile.in
│   │   ├── scsi_device.cc
│   │   ├── scsi_device.h
│   │   ├── uhci_core.cc
│   │   ├── uhci_core.h
│   │   ├── usb_common.cc
│   │   ├── usb_common.h
│   │   ├── usb_ehci.cc
│   │   ├── usb_ehci.h
│   │   ├── usb_floppy.cc
│   │   ├── usb_floppy.h
│   │   ├── usb_hid.cc
│   │   ├── usb_hid.h
│   │   ├── usb_hub.cc
│   │   ├── usb_hub.h
│   │   ├── usb_msd.cc
│   │   ├── usb_msd.h
│   │   ├── usb_ohci.cc
│   │   ├── usb_ohci.h
│   │   ├── usb_pcap.cc
│   │   ├── usb_pcap.h
│   │   ├── usb_printer.cc
│   │   ├── usb_printer.h
│   │   ├── usb_uhci.cc
│   │   ├── usb_uhci.h
│   │   ├── usb_xhci.cc
│   │   └── usb_xhci.h
│   ├── virt_timer.cc
│   └── virt_timer.h
├── logio.cc
├── logio.h
├── ltdl-bochs.h
├── ltdl.c
├── ltdlconf.h.in
├── ltmain.sh
├── main.cc
├── memory/
│   ├── Makefile.in
│   ├── memory-bochs.h
│   ├── memory.cc
│   └── misc_mem.cc
├── misc/
│   ├── Makefile.in
│   ├── bswap.h
│   ├── bxcompat.h
│   ├── bxhub.cc
│   ├── bximage.cc
│   ├── make_cmos_image.cc
│   ├── niclist.c
│   ├── sb16/
│   │   ├── sb16ctrl.c
│   │   └── sb16ctrl.example
│   ├── slirp.conf
│   ├── spoolpipe.c
│   ├── test-access-check.cc
│   └── vnet.conf
├── msrs.def
├── osdep.cc
├── osdep.h
├── param_names.h
├── patches/
│   ├── HEADER
│   ├── NOTES
│   ├── bochs-bios-win32.diff
│   ├── patch.example-override-ask
│   ├── patch.example-user-plugin
│   ├── patch.example-vdisk-dll
│   └── patch.hosttime-port
├── pc_system.cc
├── pc_system.h
├── plugin.cc
├── plugin.h
├── qemu-queue.h
├── win32_enh_dbg.rc
├── win32res.rc
└── wxbochs.rc
Download .txt
Showing preview only (374K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4493 symbols across 430 files)

FILE: bios/biossums.c
  type byte (line 25) | typedef unsigned char byte;
  function main (line 100) | int main(int argc, char* argv[]) {
  function check (line 273) | void check(int okay, char* message) {
  function chksum_bios_get_offset (line 282) | long chksum_bios_get_offset( byte* data, long offset ) {
  function byte (line 288) | byte chksum_bios_calc_value( byte* data, long offset ) {
  function byte (line 302) | byte chksum_bios_get_value( byte* data, long offset ) {
  function chksum_bios_set_value (line 308) | void chksum_bios_set_value( byte* data, long offset, byte value ) {
  function byte (line 314) | byte chksum__32__calc_value( byte* data, long offset ) {
  function chksum__32__get_offset (line 334) | long chksum__32__get_offset( byte* data, long offset ) {
  function byte (line 354) | byte chksum__32__get_value( byte* data, long offset ) {
  function chksum__32__set_value (line 361) | void chksum__32__set_value( byte* data, long offset, byte value ) {
  function byte (line 368) | byte chksum__mp__calc_value( byte* data, long offset ) {
  function chksum__mp__get_offset (line 388) | long chksum__mp__get_offset( byte* data, long offset ) {
  function byte (line 408) | byte chksum__mp__get_value( byte* data, long offset ) {
  function chksum__mp__set_value (line 415) | void chksum__mp__set_value( byte* data, long offset, byte value ) {
  function byte (line 422) | byte chksum_pcmp_calc_value( byte* data, long offset ) {
  function chksum_pcmp_get_offset (line 448) | long chksum_pcmp_get_offset( byte* data, long offset ) {
  function byte (line 468) | byte chksum_pcmp_get_value( byte* data, long offset ) {
  function chksum_pcmp_set_value (line 475) | void chksum_pcmp_set_value( byte* data, long offset, byte value ) {
  function byte (line 482) | byte chksum__pir_calc_value( byte* data, long offset ) {
  function chksum__pir_get_offset (line 503) | long chksum__pir_get_offset( byte* data, long offset ) {
  function byte (line 523) | byte chksum__pir_get_value( byte* data, long offset ) {
  function chksum__pir_set_value (line 530) | void chksum__pir_set_value( byte* data, long offset, byte value ) {
  function byte (line 537) | byte chksum__pnp_calc_value( byte* data, long offset ) {
  function chksum__pnp_get_offset (line 557) | long chksum__pnp_get_offset( byte* data, long offset ) {
  function byte (line 577) | byte chksum__pnp_get_value( byte* data, long offset ) {
  function chksum__pnp_set_value (line 584) | void chksum__pnp_set_value( byte* data, long offset, byte value ) {

FILE: bios/rombios.c
  type Bit8u (line 210) | typedef unsigned char  Bit8u;
  type Bit16u (line 211) | typedef unsigned short Bit16u;
  type bx_bool (line 212) | typedef unsigned short bx_bool;
  type Bit32u (line 213) | typedef unsigned long  Bit32u;
  function _memsetb (line 223) | void
  function _memcpyb (line 260) | void
  function _memcpyd (line 300) | void
  function Bit32u (line 345) | Bit32u
  function _write_dword (line 370) | void
  function Bit32u (line 394) | Bit32u
  function write_dword_SS (line 414) | void
  type chs_t (line 592) | typedef struct {
  type dpte_t (line 599) | typedef struct {
  type ata_channel_t (line 614) | typedef struct {
  type ata_device_t (line 621) | typedef struct {
  type ata_t (line 637) | typedef struct {
  type cdemu_t (line 660) | typedef struct {
  type ebda_data_t (line 682) | typedef struct {
  type int13ext_t (line 710) | typedef struct {
  type dpt_t (line 723) | typedef struct {
  type pusha_regs_t (line 766) | typedef struct {
  type pushad_regs_t (line 779) | typedef struct {
  type flags_t (line 803) | typedef struct {
  type iret_addr_t (line 821) | typedef struct {
  type ipl_entry_t (line 827) | typedef struct {
  function Bit8u (line 1211) | Bit8u
  function bx_bool (line 1236) | bx_bool
  function Bit8u (line 1260) | Bit8u
  function Bit16u (line 1284) | Bit16u
  function _write_byte (line 1307) | void
  function _write_word (line 1333) | void
  function Bit8u (line 1357) | Bit8u
  function Bit16u (line 1373) | Bit16u
  function _write_byte_SS (line 1391) | void
  function _write_word_SS (line 1412) | void
  function Bit16u (line 1431) | Bit16u
  function Bit16u (line 1439) | Bit16u
  function Bit16u (line 1448) | Bit16u
  function Bit16u (line 1462) | Bit16u
  function uart_can_tx_byte (line 1500) | int uart_can_tx_byte(base_port)
  function uart_wait_to_tx_byte (line 1506) | void uart_wait_to_tx_byte(base_port)
  function uart_wait_until_sent (line 1512) | void uart_wait_until_sent(base_port)
  function uart_tx_byte (line 1518) | void uart_tx_byte(base_port, data)
  function put_uint (line 1566) | void
  function put_luint (line 1583) | void
  function put_str (line 1600) | void put_str(action, segment, offset)
  function delay_ticks (line 1613) | void
  function bios_printf (line 1703) | void
  function keyboard_init (line 1820) | void
  function keyboard_panic (line 1981) | void
  function shutdown_status_panic (line 1995) | void
  function s3_resume_panic (line 2002) | void s3_resume_panic()
  function print_bios_banner (line 2011) | void
  function init_boot_vectors (line 2052) | static void
  function Bit8u (line 2095) | static Bit8u
  function interactive_bootkey (line 2110) | void
  function print_boot_device (line 2192) | void
  function print_boot_failure (line 2219) | void
  function print_cdromboot_failure (line 2240) | void
  function nmi_handler_msg (line 2249) | void
  function int18_panic_msg (line 2255) | void
  function log_bios_start (line 2261) | void
  function bx_bool (line 2270) | bx_bool
  function debugger_on (line 2290) | void
  function debugger_off (line 2296) | void
  function s3_resume (line 2302) | int
  function ata_init (line 2479) | void ata_init( )
  function await_ide (line 2535) | static int await_ide(when_done,base,timeout)
  function ata_detect (line 2581) | void ata_detect( )
  function ata_reset (line 2907) | void   ata_reset(device)
  function Bit16u (line 2964) | Bit16u ata_cmd_non_data()
  function transferred (line 3131) | transferred from port(DX) to ES:[SI]
  function Bit16u (line 3204) | Bit16u ata_cmd_packet(device, cmdlen, cmdseg, cmdoff, header, length, in...
  function int13_eltorito (line 6146) | void
  function int13_cdemu (line 6215) | void
  function outLBA (line 6423) | void
  function get_hd_geometry (line 7000) | void
  function floppy_reset_controller (line 7049) | void floppy_reset_controller()
  function floppy_prepare_controller (line 7064) | void floppy_prepare_controller(drive)
  function bx_bool (line 7113) | bx_bool
  function bx_bool (line 7144) | bx_bool
  function bx_bool (line 7244) | bx_bool
  function bx_bool (line 7293) | bx_bool
  function int13_diskette_function (line 7311) | void
  function int13_diskette_function (line 8139) | void
  function set_diskette_ret_status (line 8164) | void
  function set_diskette_current_cyl (line 8171) | void
  function determine_floppy_media (line 8181) | void
  function int17_function (line 8226) | void
  function int19_function (line 8272) | void
  function int1a_function (line 8458) | void
  function int70_function (line 8662) | void

FILE: bios/rombios32.c
  function outl (line 43) | static inline void outl(int addr, int val)
  function outw (line 48) | static inline void outw(int addr, int val)
  function outb (line 53) | static inline void outb(int addr, int val)
  function inl (line 58) | static inline uint32_t inl(int addr)
  function inw (line 65) | static inline uint16_t inw(int addr)
  function inb (line 72) | static inline uint8_t inb(int addr)
  function writel (line 79) | static inline void writel(void *addr, uint32_t val)
  function writew (line 84) | static inline void writew(void *addr, uint16_t val)
  function writeb (line 89) | static inline void writeb(void *addr, uint8_t val)
  function readl (line 94) | static inline uint32_t readl(const void *addr)
  function readw (line 99) | static inline uint16_t readw(const void *addr)
  function readb (line 104) | static inline uint8_t readb(const void *addr)
  function putch (line 109) | static inline void putch(int c)
  function rdmsr (line 114) | static uint64_t rdmsr(unsigned index)
  function wrmsr (line 122) | static void wrmsr(unsigned index, uint64_t val)
  function isdigit (line 127) | static inline int isdigit(int c)
  function memcmp (line 172) | int memcmp(const void *s1, const void *s2, size_t len)
  function strlen (line 186) | size_t strlen(const char *s)
  function vsnprintf (line 194) | int vsnprintf(char *buf, int buflen, const char *fmt, va_list args)
  function snprintf (line 343) | int snprintf(char * buf, size_t size, const char *fmt, ...)
  function bios_printf (line 354) | void bios_printf(int flags, const char *fmt, ...)
  function delay_ms (line 371) | void delay_ms(int n)
  function wrmsr_smp (line 414) | void wrmsr_smp(uint32_t index, uint64_t val)
  function qemu_cfg_select (line 429) | void qemu_cfg_select(int f)
  function qemu_cfg_port_probe (line 434) | int qemu_cfg_port_probe()
  function qemu_cfg_read (line 448) | void qemu_cfg_read(uint8_t *buf, int len)
  function uuid_probe (line 455) | void uuid_probe(void)
  function cpu_probe (line 467) | void cpu_probe(void)
  function cmos_readb (line 476) | static int cmos_readb(int addr)
  function setup_mtrr (line 482) | void setup_mtrr(void)
  function ram_probe (line 544) | void ram_probe(void)
  function smp_probe (line 574) | void smp_probe(void)
  type PCIDevice (line 615) | typedef struct PCIDevice {
  function pci_config_writel (line 629) | static void pci_config_writel(PCIDevice *d, uint32_t addr, uint32_t val)
  function pci_config_writew (line 635) | static void pci_config_writew(PCIDevice *d, uint32_t addr, uint32_t val)
  function pci_config_writeb (line 641) | static void pci_config_writeb(PCIDevice *d, uint32_t addr, uint32_t val)
  function pci_config_readl (line 647) | static uint32_t pci_config_readl(PCIDevice *d, uint32_t addr)
  function pci_config_readw (line 653) | static uint32_t pci_config_readw(PCIDevice *d, uint32_t addr)
  function pci_config_readb (line 659) | static uint32_t pci_config_readb(PCIDevice *d, uint32_t addr)
  function pci_set_io_region_addr (line 665) | static void pci_set_io_region_addr(PCIDevice *d, int region_num, uint32_...
  function pci_slot_get_pirq (line 683) | static int pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num, int is_i44...
  function find_bios_table_area (line 694) | static void find_bios_table_area(void)
  function find_pir_table (line 709) | static long find_pir_table(void)
  function bios_shadow_init (line 720) | static void bios_shadow_init(PCIDevice *d)
  function bios_lock_shadow_ram (line 740) | static void bios_lock_shadow_ram(void)
  function pci_bios_init_bridges (line 751) | static void pci_bios_init_bridges(PCIDevice *d)
  function smm_init (line 828) | static void smm_init(PCIDevice *d)
  function piix4_pm_enable (line 872) | static void piix4_pm_enable(PCIDevice *d)
  function pci_bios_init_pcirom (line 884) | static void pci_bios_init_pcirom(PCIDevice *d, uint32_t paddr)
  function pci_bios_init_device (line 930) | static void pci_bios_init_device(PCIDevice *d)
  function pci_bios_init_optrom (line 1061) | static void pci_bios_init_optrom(PCIDevice *d)
  function pci_for_each_device (line 1083) | void pci_for_each_device(void (*init_func)(PCIDevice *d))
  function pci_bios_init (line 1102) | void pci_bios_init(void)
  function putb (line 1120) | static void putb(uint8_t **pp, int val)
  function putstr (line 1128) | static void putstr(uint8_t **pp, const char *str)
  function putle16 (line 1137) | static void putle16(uint8_t **pp, int val)
  function putle32 (line 1146) | static void putle32(uint8_t **pp, int val)
  function mpf_checksum (line 1157) | static int mpf_checksum(const uint8_t *data, int len)
  function align (line 1166) | static unsigned long align(unsigned long addr, unsigned long v)
  function mptable_init (line 1171) | static void mptable_init(void)
  function cpu_to_le32 (line 1330) | struct acpi_table_header         /* ACPI common table header */
  function acpi_checksum (line 1549) | static int acpi_checksum(const uint8_t *data, int len)
  function acpi_build_table_header (line 1558) | static void acpi_build_table_header(struct acpi_table_header *h,
  function acpi_build_processor_ssdt (line 1582) | int acpi_build_processor_ssdt(uint8_t *ssdt)
  function acpi_bios_init (line 1636) | void acpi_bios_init(void)
  type smbios_entry_point (line 1817) | struct smbios_entry_point {
  type smbios_structure_header (line 1835) | struct smbios_structure_header {
  type smbios_type_0 (line 1842) | struct smbios_type_0 {
  type smbios_type_1 (line 1858) | struct smbios_type_1 {
  type smbios_type_3 (line 1871) | struct smbios_type_3 {
  type smbios_type_4 (line 1890) | struct smbios_type_4 {
  type smbios_type_16 (line 1912) | struct smbios_type_16 {
  type smbios_type_17 (line 1925) | struct smbios_type_17 {
  type smbios_type_19 (line 1941) | struct smbios_type_19 {
  type smbios_type_20 (line 1950) | struct smbios_type_20 {
  type smbios_type_32 (line 1962) | struct smbios_type_32 {
  type smbios_type_127 (line 1969) | struct smbios_type_127 {
  function smbios_entry_point_init (line 1973) | static void
  type smbios_type_0 (line 2017) | struct smbios_type_0
  type smbios_type_0 (line 2017) | struct smbios_type_0
  type smbios_type_0 (line 2020) | struct smbios_type_0
  type smbios_type_0 (line 2063) | struct smbios_type_0
  type smbios_type_1 (line 2079) | struct smbios_type_1
  type smbios_type_1 (line 2079) | struct smbios_type_1
  type smbios_type_1 (line 2081) | struct smbios_type_1
  type smbios_type_1 (line 2095) | struct smbios_type_1
  type smbios_type_3 (line 2105) | struct smbios_type_3
  type smbios_type_3 (line 2105) | struct smbios_type_3
  type smbios_type_3 (line 2108) | struct smbios_type_3
  type smbios_type_3 (line 2125) | struct smbios_type_3
  type smbios_type_4 (line 2135) | struct smbios_type_4
  type smbios_type_4 (line 2135) | struct smbios_type_4
  type smbios_type_4 (line 2138) | struct smbios_type_4
  type smbios_type_4 (line 2163) | struct smbios_type_4
  type smbios_type_16 (line 2175) | struct smbios_type_16
  type smbios_type_16 (line 2175) | struct smbios_type_16
  type smbios_type_16 (line 2178) | struct smbios_type_16
  type smbios_type_16 (line 2188) | struct smbios_type_16
  type smbios_type_17 (line 2198) | struct smbios_type_17
  type smbios_type_17 (line 2198) | struct smbios_type_17
  type smbios_type_17 (line 2201) | struct smbios_type_17
  type smbios_type_17 (line 2217) | struct smbios_type_17
  type smbios_type_19 (line 2229) | struct smbios_type_19
  type smbios_type_19 (line 2229) | struct smbios_type_19
  type smbios_type_19 (line 2232) | struct smbios_type_19
  type smbios_type_19 (line 2240) | struct smbios_type_19
  type smbios_type_20 (line 2250) | struct smbios_type_20
  type smbios_type_20 (line 2250) | struct smbios_type_20
  type smbios_type_20 (line 2253) | struct smbios_type_20
  type smbios_type_20 (line 2264) | struct smbios_type_20
  type smbios_type_32 (line 2274) | struct smbios_type_32
  type smbios_type_32 (line 2274) | struct smbios_type_32
  type smbios_type_32 (line 2277) | struct smbios_type_32
  type smbios_type_32 (line 2282) | struct smbios_type_32
  type smbios_type_127 (line 2292) | struct smbios_type_127
  type smbios_type_127 (line 2292) | struct smbios_type_127
  type smbios_type_127 (line 2295) | struct smbios_type_127
  type smbios_type_127 (line 2298) | struct smbios_type_127
  function smbios_init (line 2304) | void smbios_init(void)
  function find_resume_vector (line 2359) | static uint32_t find_resume_vector(void)
  function find_440fx (line 2390) | static void find_440fx(PCIDevice *d)
  function reinit_piix4_pm (line 2403) | static void reinit_piix4_pm(PCIDevice *d)
  function rombios32_init (line 2414) | void rombios32_init(uint32_t *s3_resume_vector, uint8_t *shutdown_flag)

FILE: bios/usage.cc
  function main (line 31) | int

FILE: bochs.h
  type bx_debug_t (line 285) | typedef struct {

FILE: build/macos/macos_defines.h
  function read (line 9) | long read(int fd, void *buf, std::size_t nbytes) {return read(fd, (char*...
  function write (line 11) | long write(int fd, const void *buf, std::size_t nbytes) {return write(fd...

FILE: bx_debug/dbg_breakpoints.cc
  function bx_dbg_breakpoint_changed (line 29) | void bx_dbg_breakpoint_changed(void)
  function bx_dbg_en_dis_breakpoint_command (line 53) | void bx_dbg_en_dis_breakpoint_command(unsigned handle, bool enable)
  function bx_dbg_en_dis_pbreak (line 77) | bool bx_dbg_en_dis_pbreak(unsigned handle, bool enable)
  function bx_dbg_en_dis_lbreak (line 91) | bool bx_dbg_en_dis_lbreak(unsigned handle, bool enable)
  function bx_dbg_en_dis_vbreak (line 105) | bool bx_dbg_en_dis_vbreak(unsigned handle, bool enable)
  function bx_dbg_del_breakpoint_command (line 119) | void bx_dbg_del_breakpoint_command(unsigned handle)
  function bx_dbg_del_pbreak (line 143) | bool bx_dbg_del_pbreak(unsigned handle)
  function bx_dbg_del_lbreak (line 162) | bool bx_dbg_del_lbreak(unsigned handle)
  function bx_dbg_del_vbreak (line 181) | bool bx_dbg_del_vbreak(unsigned handle)
  function bx_dbg_vbreakpoint_command (line 212) | int bx_dbg_vbreakpoint_command(BreakpointKind bk, Bit32u cs, bx_address ...
  function bx_dbg_lbreakpoint_command (line 243) | int bx_dbg_lbreakpoint_command(BreakpointKind bk, bx_address laddress, c...
  function bx_dbg_pbreakpoint_command (line 274) | int bx_dbg_pbreakpoint_command(BreakpointKind bk, bx_phy_address paddres...
  function bx_dbg_info_bpoints_command (line 303) | void bx_dbg_info_bpoints_command(void)

FILE: bx_debug/dbg_main.cc
  type bx_debugger_state (line 67) | struct bx_debugger_state {
  type _debug_info_t (line 76) | struct _debug_info_t {
    type _debug_info_t (line 79) | struct _debug_info_t
  function dbg_printf (line 134) | void dbg_printf(const char *fmt, ...)
  function bx_dbg_init_infile (line 148) | void bx_dbg_init_infile(void)
  function bx_dbg_set_rcfile (line 155) | int bx_dbg_set_rcfile(const char *rcfile)
  function bx_dbg_register_debug_info (line 163) | bool bx_dbg_register_debug_info(const char *devname, void *dev)
  function bx_dbg_info_cleanup (line 187) | void bx_dbg_info_cleanup(void)
  function bx_dbg_info_find_device (line 198) | bool bx_dbg_info_find_device(const char *devname, debug_info_t **found_d...
  function bx_dbg_main (line 211) | int bx_dbg_main(void)
  function bx_dbg_interpret_line (line 295) | void bx_dbg_interpret_line(char *cmd)
  function bx_dbg_user_input_loop (line 301) | void bx_dbg_user_input_loop(void)
  function bx_get_command (line 357) | void bx_get_command(void)
  function bx_nest_infile (line 452) | int bx_nest_infile(char *path)
  function bx_unnest_infile (line 476) | void bx_unnest_infile(void)
  function bxwrap (line 487) | int bxwrap(void)
  function bxerror (line 498) | void bxerror(const char *s)
  function bx_debug_ctrlc_handler (line 509) | void CDECL bx_debug_ctrlc_handler(int signum)
  function bx_debug_break (line 530) | void bx_debug_break()
  function bx_dbg_exception (line 535) | void bx_dbg_exception(unsigned cpu, Bit8u vector, Bit16u error_code)
  function bx_dbg_interrupt (line 575) | void bx_dbg_interrupt(unsigned cpu, Bit8u vector, Bit16u error_code)
  function bx_dbg_halt (line 584) | void bx_dbg_halt(unsigned cpu)
  function bx_dbg_watchpoint_continue (line 592) | void bx_dbg_watchpoint_continue(bool watch_continue)
  function bx_dbg_check_memory_watchpoints (line 603) | void bx_dbg_check_memory_watchpoints(unsigned cpu, bx_phy_address phy, u...
  function bx_dbg_lin_memory_access (line 631) | void bx_dbg_lin_memory_access(unsigned cpu, bx_address lin, bx_phy_addre...
  function bx_dbg_phy_memory_access (line 694) | void bx_dbg_phy_memory_access(unsigned cpu, bx_phy_address phy, unsigned...
  function bx_dbg_exit (line 793) | void bx_dbg_exit(int code)
  function bx_dbg_print_mxcsr_state (line 810) | void bx_dbg_print_mxcsr_state(void)
  function bx_dbg_print_sse_state (line 839) | void bx_dbg_print_sse_state(void)
  function bx_dbg_print_avx_state (line 863) | void bx_dbg_print_avx_state(unsigned vlen)
  function bx_dbg_print_mmx_state (line 909) | void bx_dbg_print_mmx_state(void)
  function bx_dbg_print_fpu_state (line 927) | void bx_dbg_print_fpu_state(void)
  function bx_dbg_info_flags (line 936) | void bx_dbg_info_flags(void)
  function bx_dbg_info_debug_regs_command (line 958) | void bx_dbg_info_debug_regs_command(void)
  function bx_dbg_info_control_regs_command (line 1002) | void bx_dbg_info_control_regs_command(void)
  function bx_dbg_info_segment_regs_command (line 1082) | void bx_dbg_info_segment_regs_command(void)
  function bx_dbg_info_registers_command (line 1119) | void bx_dbg_info_registers_command(int which_regs_mask)
  function bx_dbg_quit_command (line 1228) | void bx_dbg_quit_command(void)
  function bx_dbg_trace_command (line 1234) | void bx_dbg_trace_command(bool enable)
  function bx_dbg_trace_reg_command (line 1241) | void bx_dbg_trace_reg_command(bool enable)
  function bx_dbg_trace_mem_command (line 1248) | void bx_dbg_trace_mem_command(bool enable)
  function bx_dbg_ptime_command (line 1255) | void bx_dbg_ptime_command(void)
  function bx_dbg_timebp_command (line 1264) | void bx_dbg_timebp_command(bool absolute, Bit64u time)
  function Bit64u (line 1315) | Bit64u conv_8xBit8u_to_Bit64u(const Bit8u* buf)
  function Bit32u (line 1324) | Bit32u conv_4xBit8u_to_Bit32u(const Bit8u* buf)
  function Bit16u (line 1333) | Bit16u conv_2xBit8u_to_Bit16u(const Bit8u* buf)
  function bx_dbg_modebp_command (line 1343) | void bx_dbg_modebp_command()
  function bx_dbg_vmexitbp_command (line 1351) | void bx_dbg_vmexitbp_command()
  function bx_dbg_read_linear (line 1362) | bool bx_dbg_read_linear(unsigned which_cpu, bx_address laddr, unsigned l...
  function bx_dbg_where_command (line 1400) | void bx_dbg_where_command()
  function bx_dbg_print_string_command (line 1451) | void bx_dbg_print_string_command(bx_address start_addr)
  function dbg_print_guard_found (line 1466) | static void dbg_print_guard_found(unsigned cpu_mode, Bit32u cs, bx_addre...
  function bx_dbg_xlate_address (line 1481) | void bx_dbg_xlate_address(bx_lin_address laddr)
  function bx_dbg_tlb_lookup (line 1497) | void bx_dbg_tlb_lookup(bx_lin_address laddr)
  function bx_dbg_show_command (line 1519) | void bx_dbg_show_command(const char* arg)
  function bx_dbg_show_param_command (line 1614) | void bx_dbg_show_param_command(const char *param, bool xml)
  function bx_dbg_show_symbolic (line 1631) | int bx_dbg_show_symbolic(void)
  function bx_dbg_print_stack_command (line 1709) | void bx_dbg_print_stack_command(unsigned nwords)
  function bx_dbg_bt_command (line 1773) | void bx_dbg_bt_command(unsigned dist)
  function bx_dbg_print_watchpoints (line 1865) | void bx_dbg_print_watchpoints(void)
  function bx_dbg_watch (line 1889) | void bx_dbg_watch(int type, bx_phy_address address, Bit32u len)
  function bx_dbg_unwatch_all (line 1916) | void bx_dbg_unwatch_all()
  function bx_dbg_unwatch (line 1922) | void bx_dbg_unwatch(bx_phy_address address)
  function bx_dbg_continue_command (line 1950) | void bx_dbg_continue_command(bool expression)
  function bx_dbg_stepN_command (line 2043) | void bx_dbg_stepN_command(int cpu, Bit32u count)
  function bx_dbg_disassemble_current (line 2090) | void bx_dbg_disassemble_current(int which_cpu, int print_time)
  function bx_dbg_print_guard_results (line 2150) | void bx_dbg_print_guard_results(void)
  function bx_dbg_set_icount_guard (line 2225) | void bx_dbg_set_icount_guard(int which_cpu, Bit32u n)
  function bx_dbg_set_auto_disassemble (line 2238) | void bx_dbg_set_auto_disassemble(bool enable)
  function bx_dbg_set_disassemble_size (line 2243) | void bx_dbg_set_disassemble_size(unsigned size)
  function bx_dbg_disassemble_switch_mode (line 2253) | void bx_dbg_disassemble_switch_mode()
  function bx_dbg_take_command (line 2258) | void bx_dbg_take_command(const char *what, unsigned n)
  function bx_print_char (line 2290) | static void bx_print_char(Bit8u ch)
  function dbg_printf_binary (line 2300) | void dbg_printf_binary(const char *format, Bit32u data, int bits)
  function bx_dbg_examine_command (line 2311) | void bx_dbg_examine_command(const char *command, const char *format, boo...
  function Bit32u (line 2613) | Bit32u bx_dbg_lin_indirect(bx_address addr)
  function Bit32u (line 2626) | Bit32u bx_dbg_phy_indirect(bx_phy_address paddr)
  function bx_dbg_writemem_command (line 2639) | void bx_dbg_writemem_command(const char *filename, bx_address laddr, uns...
  function bx_dbg_setpmem_command (line 2678) | void bx_dbg_setpmem_command(bx_phy_address paddr, unsigned len, Bit32u val)
  function bx_dbg_set_symbol_command (line 2706) | void bx_dbg_set_symbol_command(const char *symbol, bx_address val)
  function bx_dbg_query_command (line 2758) | void bx_dbg_query_command(const char *what)
  function bx_dbg_restore_command (line 2781) | void bx_dbg_restore_command(const char *param_name, const char *restore_...
  function bx_dbg_disassemble_current (line 2794) | void bx_dbg_disassemble_current(const char *format)
  function bx_dbg_disassemble_command (line 2800) | void bx_dbg_disassemble_command(const char *format, Bit64u from, Bit64u to)
  function bx_dbg_instrument_command (line 2849) | void bx_dbg_instrument_command(const char *comm)
  function bx_dbg_doit_command (line 2860) | void bx_dbg_doit_command(unsigned n)
  function bx_dbg_crc_command (line 2868) | void bx_dbg_crc_command(bx_phy_address addr1, bx_phy_address addr2)
  function bx_dbg_print_descriptor (line 2884) | void bx_dbg_print_descriptor(Bit32u lo, Bit32u hi)
  function bx_dbg_print_descriptor64 (line 2977) | void bx_dbg_print_descriptor64(Bit32u lo1, Bit32u hi1, Bit32u lo2, Bit32...
  function bx_dbg_info_idt_command (line 3045) | void bx_dbg_info_idt_command(unsigned from, unsigned to)
  function bx_dbg_info_gdt_command (line 3111) | void bx_dbg_info_gdt_command(unsigned from, unsigned to)
  function bx_dbg_info_ldt_command (line 3152) | void bx_dbg_info_ldt_command(unsigned from, unsigned to)
  function bx_dbg_info_ivt_command (line 3244) | void bx_dbg_info_ivt_command(unsigned from, unsigned to)
  function bx_dbg_print_tss (line 3285) | static void bx_dbg_print_tss(Bit8u *tss, int len)
  function bx_dbg_info_tss_command (line 3316) | void bx_dbg_info_tss_command(void)
  function bx_dbg_info_device (line 3346) | void bx_dbg_info_device(const char *dev, const char *args)
  function bx_dbg_iac_report (line 3413) | void bx_dbg_iac_report(unsigned vector, unsigned irq)
  function bx_dbg_a20_report (line 3421) | void bx_dbg_a20_report(unsigned val)
  function bx_dbg_io_report (line 3429) | void bx_dbg_io_report(Bit32u port, unsigned size, unsigned op, Bit32u val)
  function bx_dbg_dma_report (line 3441) | void bx_dbg_dma_report(bx_phy_address addr, unsigned len, unsigned what,...
  function bx_dbg_post_dma_reports (line 3472) | void bx_dbg_post_dma_reports(void)
  function bx_dbg_dump_table (line 3534) | void bx_dbg_dump_table(void)
  function bx_dbg_print_help (line 3586) | void bx_dbg_print_help(void)
  function bx_dbg_calc_command (line 3608) | void bx_dbg_calc_command(Bit64u value)
  function bx_dbg_eval_condition (line 3614) | bool bx_dbg_eval_condition(char *condition)
  function bx_address (line 3621) | bx_address bx_dbg_get_ssp(void)
  function Bit8u (line 3630) | Bit8u bx_dbg_get_reg8l_value(unsigned reg)
  function Bit8u (line 3639) | Bit8u bx_dbg_get_reg8h_value(unsigned reg)
  function Bit16u (line 3648) | Bit16u bx_dbg_get_reg16_value(unsigned reg)
  function Bit32u (line 3657) | Bit32u bx_dbg_get_reg32_value(unsigned reg)
  function Bit64u (line 3666) | Bit64u bx_dbg_get_reg64_value(unsigned reg)
  function bx_dbg_set_reg8l_value (line 3677) | void bx_dbg_set_reg8l_value(unsigned reg, Bit8u value)
  function bx_dbg_set_reg8h_value (line 3685) | void bx_dbg_set_reg8h_value(unsigned reg, Bit8u value)
  function bx_dbg_set_reg16_value (line 3693) | void bx_dbg_set_reg16_value(unsigned reg, Bit16u value)
  function bx_dbg_set_reg32_value (line 3701) | void bx_dbg_set_reg32_value(unsigned reg, Bit32u value)
  function bx_dbg_set_reg64_value (line 3709) | void bx_dbg_set_reg64_value(unsigned reg, Bit64u value)
  function bx_dbg_set_rip_value (line 3719) | void bx_dbg_set_rip_value(bx_address value)
  function Bit64u (line 3730) | Bit64u bx_dbg_get_opmask_value(unsigned reg)
  function Bit16u (line 3741) | Bit16u bx_dbg_get_selector_value(unsigned int seg_no)
  function Bit16u (line 3757) | Bit16u bx_dbg_get_ip(void)
  function Bit32u (line 3762) | Bit32u bx_dbg_get_eip(void)
  function bx_address (line 3767) | bx_address bx_dbg_get_rip(void)
  function bx_dbg_read_pmode_descriptor (line 3772) | bool bx_dbg_read_pmode_descriptor(Bit16u sel, bx_descriptor_t *descriptor)
  function bx_dbg_load_segreg (line 3830) | void bx_dbg_load_segreg(unsigned seg_no, unsigned value)
  function bx_address (line 3876) | bx_address bx_dbg_get_laddr(Bit16u sel, bx_address ofs)
  function bx_dbg_step_over_command (line 3918) | void bx_dbg_step_over_command()
  function bx_dbg_disasm_wrapper (line 4188) | unsigned bx_dbg_disasm_wrapper(bool is_32, bool is_64, bx_address cs_bas...

FILE: bx_debug/debug.h
  type BreakpointKind (line 43) | typedef enum
  type show_flags_t (line 50) | typedef enum _show_flags {
  type stop_reason_t (line 200) | typedef enum {
  type break_point_t (line 211) | typedef enum {
  type bx_guard_t (line 240) | struct bx_guard_t {
  type bx_guard_found_t (line 314) | typedef struct bx_guard_found_t {
  type bx_watchpoint (line 325) | struct bx_watchpoint {
  type bx_dbg_sreg_t (line 345) | typedef struct {
  type bx_dbg_global_sreg_t (line 353) | typedef struct {

FILE: bx_debug/lexer.c
  type flex_int8_t (line 302) | typedef int8_t flex_int8_t;
  type flex_uint8_t (line 303) | typedef uint8_t flex_uint8_t;
  type flex_int16_t (line 304) | typedef int16_t flex_int16_t;
  type flex_uint16_t (line 305) | typedef uint16_t flex_uint16_t;
  type flex_int32_t (line 306) | typedef int32_t flex_int32_t;
  type flex_uint32_t (line 307) | typedef uint32_t flex_uint32_t;
  type flex_int8_t (line 309) | typedef signed char flex_int8_t;
  type flex_int16_t (line 310) | typedef short int flex_int16_t;
  type flex_int32_t (line 311) | typedef int flex_int32_t;
  type flex_uint8_t (line 312) | typedef unsigned char flex_uint8_t;
  type flex_uint16_t (line 313) | typedef unsigned short int flex_uint16_t;
  type flex_uint32_t (line 314) | typedef unsigned int flex_uint32_t;
  type yy_buffer_state (line 408) | struct yy_buffer_state
  type yy_size_t (line 413) | typedef size_t yy_size_t;
  type yy_buffer_state (line 444) | struct yy_buffer_state
  type flex_uint8_t (line 584) | typedef flex_uint8_t YY_CHAR;
  type yy_state_type (line 588) | typedef int yy_state_type;
  type yy_trans_info (line 617) | struct yy_trans_info
  function YY_RESTORE_YY_MORE_OFFSET (line 2350) | YY_RESTORE_YY_MORE_OFFSET
  function yy_get_next_buffer (line 2480) | static int yy_get_next_buffer (void)
  function yy_state_type (line 2618) | static yy_state_type yy_get_previous_state (void)
  function yy_state_type (line 2650) | static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
  function yyunput (line 2675) | static void yyunput (int c, char * yy_bp )
  function input (line 2718) | static int input  (void)
  function yyrestart (line 2793) | void yyrestart  (FILE * input_file )
  function yy_switch_to_buffer (line 2810) | void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
  function yy_load_buffer_state (line 2841) | static void yy_load_buffer_state  (void)
  function YY_BUFFER_STATE (line 2855) | YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
  function yy_delete_buffer (line 2883) | void yy_delete_buffer (YY_BUFFER_STATE  b )
  function yy_init_buffer (line 2902) | static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
  function yy_flush_buffer (line 2930) | void yy_flush_buffer (YY_BUFFER_STATE  b )
  function yypush_buffer_state (line 2959) | void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
  function yypop_buffer_state (line 2989) | void yypop_buffer_state (void)
  function yyensure_buffer_stack (line 3008) | static void yyensure_buffer_stack (void)
  function YY_BUFFER_STATE (line 3057) | YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
  function YY_BUFFER_STATE (line 3094) | YY_BUFFER_STATE yy_scan_string (const char * yystr )
  function YY_BUFFER_STATE (line 3107) | YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
  function yy_fatal_error (line 3141) | static void yynoreturn yy_fatal_error (const char* msg )
  function yyget_lineno (line 3169) | int yyget_lineno  (void)
  function FILE (line 3178) | FILE *yyget_in  (void)
  function FILE (line 3186) | FILE *yyget_out  (void)
  function yyget_leng (line 3194) | int yyget_leng  (void)
  function yyset_lineno (line 3212) | void yyset_lineno (int  _line_number )
  function yyset_in (line 3224) | void yyset_in (FILE *  _in_str )
  function yyset_out (line 3229) | void yyset_out (FILE *  _out_str )
  function yyget_debug (line 3234) | int yyget_debug  (void)
  function yyset_debug (line 3239) | void yyset_debug (int  _bdebug )
  function yy_init_globals (line 3244) | static int yy_init_globals (void)
  function yylex_destroy (line 3273) | int yylex_destroy  (void)
  function yy_flex_strncpy (line 3299) | static void yy_flex_strncpy (char* s1, const char * s2, int n )
  function yy_flex_strlen (line 3309) | static int yy_flex_strlen (const char * s )
  function yyfree (line 3337) | void yyfree (void * ptr )
  function bx_yyinput (line 3347) | int
  function bx_add_lex_input (line 3366) | void

FILE: bx_debug/linux.cc
  function bx_dbg_info_linux_command (line 19) | void bx_dbg_info_linux_command(void)
  class syscall_names_t (line 47) | class syscall_names_t {
    method syscall_names_t (line 51) | syscall_names_t() { init (); }
  function bx_dbg_linux_syscall (line 82) | void bx_dbg_linux_syscall(unsigned which_cpu)

FILE: bx_debug/parser.cc
  type yytokentype (line 115) | enum yytokentype
  function yy_symbol_value_print (line 1668) | static void
  function yy_symbol_print (line 1687) | static void
  function yy_stack_print (line 1702) | static void
  function yy_reduce_print (line 1725) | static void
  function YYSIZE_T (line 1786) | static YYSIZE_T
  function YYSIZE_T (line 1825) | static YYSIZE_T
  function yysyntax_error (line 1873) | static int
  function yydestruct (line 2005) | static void
  function yyparse (line 2034) | int

FILE: bx_debug/parser.h
  type yytokentype (line 46) | enum yytokentype
  type YYSTYPE (line 294) | typedef union YYSTYPE YYSTYPE;

FILE: bx_debug/symbols.cc
  function bx_dbg_symbol_command (line 40) | int bx_dbg_symbol_command(const char* filename, bool global, bx_address ...
  function bx_dbg_info_symbols_command (line 46) | void bx_dbg_info_symbols_command(const char *symbol)
  function bx_dbg_lbreakpoint_symbol_command (line 51) | int bx_dbg_lbreakpoint_symbol_command(const char *symbol, const char *co...
  function bx_address (line 57) | bx_address bx_dbg_get_symbol_value(const char *symbol)
  type symbol_entry_t (line 81) | struct symbol_entry_t
    method symbol_entry_t (line 83) | symbol_entry_t (bx_address _start = 0, const char* _name = 0)
  type lt_symbol_entry_t (line 104) | struct lt_symbol_entry_t
  type lt_rsymbol_entry_t (line 112) | struct lt_rsymbol_entry_t
  type context_t (line 120) | struct context_t
    method sym_set_t (line 133) | const sym_set_t* get_all_symbols() const {return &m_syms;}
    method rsym_set_t (line 134) | const rsym_set_t* get_all_rsymbols() const {return &m_rsyms;}
  function context_t (line 165) | context_t* context_t::get_context(bx_address i)
    method sym_set_t (line 133) | const sym_set_t* get_all_symbols() const {return &m_syms;}
    method rsym_set_t (line 134) | const rsym_set_t* get_all_rsymbols() const {return &m_rsyms;}
  function symbol_entry_t (line 170) | symbol_entry_t* context_t::get_symbol_entry(bx_address ip)
    method symbol_entry_t (line 83) | symbol_entry_t (bx_address _start = 0, const char* _name = 0)
  function symbol_entry_t (line 188) | symbol_entry_t* context_t::get_symbol_entry(const char *symbol) const
    method symbol_entry_t (line 83) | symbol_entry_t (bx_address _start = 0, const char* _name = 0)
  function bx_address (line 217) | bx_address bx_dbg_get_symbol_value(const char *symbol)
  function bx_dbg_symbol_command (line 276) | int bx_dbg_symbol_command(const char* filename, bool global, bx_address ...
  function bx_dbg_strprefix (line 347) | static bool bx_dbg_strprefix(const char *s1, const char *s2)
  function bx_dbg_info_symbols_command (line 359) | void bx_dbg_info_symbols_command(const char *symbol)
  function bx_dbg_lbreakpoint_symbol_command (line 418) | int bx_dbg_lbreakpoint_symbol_command(const char *symbol, const char *co...

FILE: bxdisasm.cc
  function char2byte (line 34) | unsigned char char2byte(unsigned char input)
  function hex2bin (line 48) | void hex2bin(Bit8u* target, const char* src, unsigned len)
  function main (line 58) | int main(int argn, const char **argv)

FILE: bxthread.cc
  function bx_create_event (line 27) | void bx_create_event(bx_thread_event_t *thread_ev)
  function bx_destroy_event (line 37) | void bx_destroy_event(bx_thread_event_t *thread_ev)
  function bx_set_event (line 47) | void bx_set_event(bx_thread_event_t *thread_ev)
  function bx_wait_for_event (line 58) | bool bx_wait_for_event(bx_thread_event_t *thread_ev)

FILE: bxthread.h
  type bx_thread_event_t (line 63) | typedef struct
  type bx_thread_sem_t (line 73) | typedef struct

FILE: config.cc
  function get_floppy_devtype_from_type (line 65) | int get_floppy_devtype_from_type(int type)
  function Bit64s (line 78) | static Bit64s bx_param_handler(bx_param_c *param, bool set, Bit64s val)
  function bx_init_std_nic_options (line 166) | void bx_init_std_nic_options(const char *name, bx_list_c *menu)
  function bx_init_usb_options (line 211) | void bx_init_usb_options(const char *usb_name, const char *pname, int ma...
  function bx_plugin_ctrl_init (line 266) | void bx_plugin_ctrl_init()
  function bx_plugin_ctrl_reset (line 277) | void bx_plugin_ctrl_reset(bool init_done)
  function bx_opt_plugin_available (line 302) | bool bx_opt_plugin_available(const char *plugname)
  function bx_init_config_interface_list (line 307) | void bx_init_config_interface_list()
  function bx_init_displaylib_list (line 329) | void bx_init_displaylib_list()
  function bx_init_vgaext_list (line 351) | void bx_init_vgaext_list()
  function bx_init_pcidev_list (line 375) | void bx_init_pcidev_list()
  function bx_init_options (line 400) | void bx_init_options()
  function bx_reset_options (line 1734) | void bx_reset_options()
  function bx_read_configuration (line 1792) | int bx_read_configuration(const char *rcfile)
  function bx_parse_cmdline (line 1809) | int bx_parse_cmdline(int arg, int argc, char *argv[])
  function parse_bochsrc (line 1870) | static int parse_bochsrc(const char *rcfile)
  function parse_line_unformatted (line 1945) | static int parse_line_unformatted(const char *context, char *line)
  function get_floppy_type_from_image (line 2068) | int get_floppy_type_from_image(const char *filename)
  function Bit32s (line 2103) | static Bit32s parse_log_options(const char *context, int num_params, cha...
  function parse_debug_symbols (line 2164) | static int parse_debug_symbols(const char *context, const char **params,...
  function parse_param_bool (line 2196) | static int parse_param_bool(const char *input, int len, const char *param)
  function bx_parse_param_from_list (line 2205) | int bx_parse_param_from_list(const char *context, const char *input, bx_...
  function bx_parse_usb_port_params (line 2249) | int bx_parse_usb_port_params(const char *context, const char *param,
  function bx_parse_nic_params (line 2321) | int bx_parse_nic_params(const char *context, const char *param, bx_list_...
  function bx_split_option_list (line 2350) | int bx_split_option_list(const char *msg, const char *rawopt, char **arg...
  function is_deprecated_option (line 2382) | bool is_deprecated_option(const char *oldparam, const char **newparam)
  function parse_line_formatted (line 2412) | static int parse_line_formatted(const char *context, int num_params, cha...
  function bx_write_param_list (line 3180) | int bx_write_param_list(FILE *fp, bx_list_c *base, const char *optname, ...
  function bx_write_floppy_options (line 3238) | int bx_write_floppy_options(FILE *fp, int drive)
  function bx_write_usb_options (line 3280) | int bx_write_usb_options(FILE *fp, int maxports, bx_list_c *base)
  function bx_write_clock_cmos_options (line 3301) | int bx_write_clock_cmos_options(FILE *fp)
  function bx_write_log_options (line 3328) | int bx_write_log_options(FILE *fp, bx_list_c *base)
  function bx_write_debugger_options (line 3364) | int bx_write_debugger_options(FILE *fp)
  function bx_write_configuration (line 3389) | int bx_write_configuration(const char *rc, int overwrite)

FILE: cpu/3dnow.cc
  function BX_CPP_INLINE (line 31) | BX_CPP_INLINE void prepare_softfloat_status_word(float_status_t &status,...

FILE: cpu/access2.cc
  function else (line 765) | else if (BX_CPU_THIS_PTR address_xlation.pages == 1) {
  function else (line 805) | else if (BX_CPU_THIS_PTR address_xlation.pages == 1) {
  function else (line 855) | else if (BX_CPU_THIS_PTR address_xlation.pages == 1) {

FILE: cpu/aes.cc
  function BX_CPP_INLINE (line 60) | BX_CPP_INLINE void AES_ShiftRows(BxPackedXmmRegister &state)
  function BX_CPP_INLINE (line 91) | BX_CPP_INLINE void AES_InverseShiftRows(BxPackedXmmRegister &state)
  function BX_CPP_INLINE (line 183) | BX_CPP_INLINE void AES_SubstituteBytes(BxPackedXmmRegister &state)
  function BX_CPP_INLINE (line 189) | BX_CPP_INLINE void AES_InverseSubstituteBytes(BxPackedXmmRegister &state)
  function gf_mul (line 202) | BX_CPP_INLINE unsigned gf_mul(unsigned a, unsigned b)
  function AES_MixColumns (line 222) | static void AES_MixColumns(BxPackedXmmRegister &state)
  function AES_InverseMixColumns (line 249) | static void AES_InverseMixColumns(BxPackedXmmRegister &state)
  function BX_CPP_INLINE (line 276) | BX_CPP_INLINE Bit32u AES_SubWord(Bit32u x)
  function BX_CPP_INLINE (line 287) | BX_CPP_INLINE Bit32u AES_RotWord(Bit32u x)
  function BX_CPP_INLINE (line 461) | BX_CPP_INLINE void xmm_pclmulqdq(BxPackedXmmRegister *r, Bit64u a, Bit64...

FILE: cpu/apic.cc
  function apic_bus_deliver_interrupt (line 42) | int apic_bus_deliver_interrupt(Bit8u vector, apic_dest_t dest, Bit8u del...
  function apic_bus_deliver_lowest_priority (line 92) | int apic_bus_deliver_lowest_priority(Bit8u vector, apic_dest_t dest, boo...
  function apic_bus_broadcast_interrupt (line 131) | int apic_bus_broadcast_interrupt(Bit8u vector, Bit8u delivery_mode, bool...
  function apic_bus_broadcast_eoi (line 147) | static void apic_bus_broadcast_eoi(Bit8u vector)
  function BOCHSAPI_MSVCONLY (line 155) | BOCHSAPI_MSVCONLY void apic_bus_deliver_smi(void)
  function apic_bus_broadcast_smi (line 160) | void apic_bus_broadcast_smi(void)
  function Bit32u (line 354) | Bit32u bx_local_apic_c::read_aligned(bx_phy_address addr)
  function Bit8u (line 899) | Bit8u bx_local_apic_c::acknowledge_int(void)
  function Bit8u (line 972) | Bit8u bx_local_apic_c::get_ppr(void)
  function Bit8u (line 994) | Bit8u bx_local_apic_c::get_apr(void)
  function Bit32u (line 1107) | Bit32u bx_local_apic_c::get_current_timer_count(void)
  function Bit64u (line 1153) | Bit64u bx_local_apic_c::get_tsc_deadline(void)
  function Bit32u (line 1165) | Bit32u bx_local_apic_c::read_vmx_preemption_timer(void)

FILE: cpu/apic.h
  type Bit32u (line 47) | typedef Bit32u apic_dest_t;
  function bx_phy_address (line 226) | bx_phy_address get_base(void) const { return base_addr; }
  function Bit8u (line 253) | Bit8u get_tpr(void) { return task_priority; }
  function BX_CPP_INLINE (line 293) | BX_CPP_INLINE bool is_x2apic_msr_range(Bit32u index) { return index >= 0...

FILE: cpu/avx/avx512.cc
  function BX_CPP_INLINE (line 1664) | BX_CPP_INLINE Bit32u ternlogd_scalar(Bit32u op1, Bit32u op2, Bit32u op3,...
  function BX_CPP_INLINE (line 1681) | BX_CPP_INLINE Bit64u ternlogq_scalar(Bit64u op1, Bit64u op2, Bit64u op3,...
  function BX_CPP_INLINE (line 2228) | BX_CPP_INLINE Bit64u pmultishiftqb_scalar(Bit64u val_64, Bit64u control)
  function BX_CPP_INLINE (line 2276) | BX_CPP_INLINE Bit64u pmadd52luq_scalar(Bit64u dst, Bit64u op1, Bit64u op2)
  function BX_CPP_INLINE (line 2284) | BX_CPP_INLINE Bit64u pmadd52huq_scalar(Bit64u dst, Bit64u op1, Bit64u op2)

FILE: cpu/avx/avx512_pfp.cc
  function float32 (line 383) | float32 float32_fixupimm(float32 dst, float32 op1, Bit32u op2, unsigned ...
  function float64 (line 478) | float64 float64_fixupimm(float64 dst, float64 op1, Bit32u op2, unsigned ...
  function fpclass (line 721) | static int fpclass(float_class_t op_class, int sign, int selector)
  function BX_CPP_INLINE (line 733) | static BX_CPP_INLINE int float32_fpclass(float32 op, int selector, int daz)
  function BX_CPP_INLINE (line 741) | static BX_CPP_INLINE int float64_fpclass(float64 op, int selector, int daz)
  function BX_CPP_INLINE (line 1253) | static BX_CPP_INLINE float32 float32_range(float32 a, float32 b, int ops...
  function BX_CPP_INLINE (line 1273) | static BX_CPP_INLINE float64 float64_range(float64 a, float64 b, int ops...
  function BX_CPP_INLINE (line 1413) | static BX_CPP_INLINE float32 float32_reduce(float32 a, Bit8u scale, floa...
  function BX_CPP_INLINE (line 1422) | static BX_CPP_INLINE float64 float64_reduce(float64 a, Bit8u scale, floa...

FILE: cpu/avx/avx512_rcp14.cc
  function Bit32u (line 8240) | static Bit32u rcp14_table_lookup(Bit32u mant, unsigned bias, Bit16s *exp)
  function float32 (line 8268) | float32 approximate_rcp14(float32 op, const float_status_t &status)
  function float64 (line 8322) | float64 approximate_rcp14(float64 op, const float_status_t &status)

FILE: cpu/avx/avx512_rsqrt14.cc
  function float32 (line 8242) | float32 approximate_rsqrt14(float32 op, bool daz)
  function float64 (line 8299) | float64 approximate_rsqrt14(float64 op, bool daz)

FILE: cpu/avx/xop.cc
  function BX_CPP_INLINE (line 136) | BX_CPP_INLINE Bit8u vpperm_bit_reverse(Bit8u v8)
  function BX_CPP_INLINE (line 148) | BX_CPP_INLINE Bit8u vpperm_noop(Bit8u v8) { return v8; }
  function BX_CPP_INLINE (line 149) | BX_CPP_INLINE Bit8u vpperm_invert(Bit8u v8) { return ~v8; }
  function BX_CPP_INLINE (line 150) | BX_CPP_INLINE Bit8u vpperm_invert_bit_reverse(Bit8u v8) { return vpperm_...
  function BX_CPP_INLINE (line 151) | BX_CPP_INLINE Bit8u vpperm_zeros(Bit8u v8) { return 0; }
  function BX_CPP_INLINE (line 152) | BX_CPP_INLINE Bit8u vpperm_ones(Bit8u v8) { return 0xff; }
  function BX_CPP_INLINE (line 153) | BX_CPP_INLINE Bit8u vpperm_replicate_msb(Bit8u v8) { return (((Bit8s) v8...
  function BX_CPP_INLINE (line 154) | BX_CPP_INLINE Bit8u vpperm_invert_replicate_msb(Bit8u v8) { return vpper...
  function BX_CPP_INLINE (line 264) | BX_CPP_INLINE Bit64s add_saturate64(Bit64s a, Bit64s b)

FILE: cpu/cet.cc
  function is_invalid_cet_control (line 41) | bool is_invalid_cet_control(bx_address val)

FILE: cpu/cpu.cc
  function bxICacheEntry_c (line 210) | bxICacheEntry_c* BX_CPU_C::getICacheEntry(void)

FILE: cpu/cpu.h
  function BX_CPP_INLINE (line 217) | BX_CPP_INLINE Bit64u CUT_OPMASK_TO(unsigned nelements) { return (BX_CONS...
  type BX_Instr_TLBControl (line 226) | enum BX_Instr_TLBControl {
  type BX_Instr_CacheControl (line 239) | enum BX_Instr_CacheControl {
  type BX_Instr_Branch (line 245) | enum BX_Instr_Branch {
  type BX_Instr_PrefetchHINT (line 260) | enum BX_Instr_PrefetchHINT {
  type BxExceptionInfo (line 300) | struct BxExceptionInfo {
  type BX_Exception (line 306) | enum BX_Exception {
  type CP_Exception_Error_Code (line 328) | enum CP_Exception_Error_Code {
  type BxCpuMode (line 338) | enum BxCpuMode {
  function BX_CPP_INLINE (line 351) | BX_CPP_INLINE bool IsCanonical(bx_address offset)
  function BX_CPP_INLINE (line 357) | BX_CPP_INLINE bool IsValidPhyAddr(bx_phy_address addr)
  function BX_CPP_INLINE (line 362) | BX_CPP_INLINE bool IsValidPageAlignedPhyAddr(bx_phy_address addr)
  type bx_regs_msr_t (line 608) | typedef struct
  type bx_gen_reg_t (line 674) | typedef struct {
  type bx_gen_reg_t (line 695) | typedef struct {
  type bx_gen_reg_t (line 721) | typedef struct {
  type bx_gen_reg_t (line 739) | typedef struct {
  type monitor_addr_t (line 777) | struct monitor_addr_t {
  function BX_CPP_INLINE (line 1079) | BX_CPP_INLINE void clear_event(Bit32u event) {
  function mask_event (line 1083) | void mask_event(Bit32u event) {
  function unmask_event (line 1086) | void unmask_event(Bit32u event) {
  function is_masked_event (line 1091) | bool is_masked_event(Bit32u event) {
  function is_pending (line 1095) | bool is_pending(Bit32u event) {
  function is_unmasked_event_pending (line 1098) | bool is_unmasked_event_pending(Bit32u event) {
  function Bit32u (line 1102) | Bit32u unmasked_events_pending(void) {
  function setEFlagsOSZAPC (line 1234) | void setEFlagsOSZAPC(Bit32u flags32) {
  function clearEFlagsOSZAPC (line 1243) | void clearEFlagsOSZAPC(void) {
  function getB_OF (line 1247) | unsigned getB_OF(void) { return BX_CPU_THIS_PTR oszapc.getB_OF(); }
  function get_OF (line 1248) | unsigned get_OF(void) { return BX_CPU_THIS_PTR oszapc.get_OF(); }
  function set_OF (line 1249) | void set_OF(bool val) { BX_CPU_THIS_PTR oszapc.set_OF(val); }
  function clear_OF (line 1250) | void clear_OF(void) { BX_CPU_THIS_PTR oszapc.clear_OF(); }
  function assert_OF (line 1251) | void assert_OF(void) { BX_CPU_THIS_PTR oszapc.assert_OF(); }
  function getB_SF (line 1253) | unsigned getB_SF(void) { return BX_CPU_THIS_PTR oszapc.getB_SF(); }
  function get_SF (line 1254) | unsigned get_SF(void) { return BX_CPU_THIS_PTR oszapc.get_SF(); }
  function set_SF (line 1255) | void set_SF(bool val) { BX_CPU_THIS_PTR oszapc.set_SF(val); }
  function clear_SF (line 1256) | void clear_SF(void) { BX_CPU_THIS_PTR oszapc.clear_SF(); }
  function assert_SF (line 1257) | void assert_SF(void) { BX_CPU_THIS_PTR oszapc.assert_SF(); }
  function getB_ZF (line 1259) | unsigned getB_ZF(void) { return BX_CPU_THIS_PTR oszapc.getB_ZF(); }
  function get_ZF (line 1260) | unsigned get_ZF(void) { return BX_CPU_THIS_PTR oszapc.get_ZF(); }
  function set_ZF (line 1261) | void set_ZF(bool val) { BX_CPU_THIS_PTR oszapc.set_ZF(val); }
  function clear_ZF (line 1262) | void clear_ZF(void) { BX_CPU_THIS_PTR oszapc.clear_ZF(); }
  function assert_ZF (line 1263) | void assert_ZF(void) { BX_CPU_THIS_PTR oszapc.assert_ZF(); }
  function getB_AF (line 1265) | unsigned getB_AF(void) { return BX_CPU_THIS_PTR oszapc.getB_AF(); }
  function get_AF (line 1266) | unsigned get_AF(void) { return BX_CPU_THIS_PTR oszapc.get_AF(); }
  function set_AF (line 1267) | void set_AF(bool val) { BX_CPU_THIS_PTR oszapc.set_AF(val); }
  function clear_AF (line 1268) | void clear_AF(void) { BX_CPU_THIS_PTR oszapc.clear_AF(); }
  function assert_AF (line 1269) | void assert_AF(void) { BX_CPU_THIS_PTR oszapc.assert_AF(); }
  function getB_PF (line 1271) | unsigned getB_PF(void) { return BX_CPU_THIS_PTR oszapc.getB_PF(); }
  function get_PF (line 1272) | unsigned get_PF(void) { return BX_CPU_THIS_PTR oszapc.get_PF(); }
  function set_PF (line 1273) | void set_PF(bool val) { BX_CPU_THIS_PTR oszapc.set_PF(val); }
  function clear_PF (line 1274) | void clear_PF(void) { BX_CPU_THIS_PTR oszapc.clear_PF(); }
  function assert_PF (line 1275) | void assert_PF(void) { BX_CPU_THIS_PTR oszapc.assert_PF(); }
  function getB_CF (line 1277) | unsigned getB_CF(void) { return BX_CPU_THIS_PTR oszapc.getB_CF(); }
  function get_CF (line 1278) | unsigned get_CF(void) { return BX_CPU_THIS_PTR oszapc.get_CF(); }
  function set_CF (line 1279) | void set_CF(bool val) { BX_CPU_THIS_PTR oszapc.set_CF(val); }
  function clear_CF (line 1280) | void clear_CF(void) { BX_CPU_THIS_PTR oszapc.clear_CF(); }
  function assert_CF (line 1281) | void assert_CF(void) { BX_CPU_THIS_PTR oszapc.assert_CF(); }
  function invalidate_prefetch_q (line 4316) | void invalidate_prefetch_q(void)
  function invalidate_stack_cache (line 4321) | void invalidate_stack_cache(void)
  function BX_SMF (line 4690) | BX_SMF Bit32u read_eflags(void) { return BX_CPU_THIS_PTR force_flags(); }
  function Bit8u (line 4760) | Bit8u get_apic_id(void) { return BX_CPU_THIS_PTR bx_cpuid; }
  function is_cpu_extension_supported (line 4763) | bool is_cpu_extension_supported(unsigned extension) {
  function which_cpu (line 4768) | unsigned which_cpu(void) { return BX_CPU_THIS_PTR bx_cpuid; }
  function bx_gen_reg_t (line 4769) | const bx_gen_reg_t *get_gen_regfile() { return BX_CPU_THIS_PTR gen_reg; }
  function Bit64u (line 4771) | Bit64u get_icount(void) { return BX_CPU_THIS_PTR icount; }
  function sync_icount (line 4772) | void sync_icount(void) { BX_CPU_THIS_PTR icount_last_sync = BX_CPU_THIS_...
  function Bit64u (line 4773) | Bit64u get_icount_last_sync(void) { return BX_CPU_THIS_PTR icount_last_s...
  function Bit32u (line 4777) | Bit32u get_eip(void) { return (BX_CPU_THIS_PTR gen_reg[BX_32BIT_REG_EIP]...
  function Bit16u (line 4778) | Bit16u get_ip (void) { return (BX_CPU_THIS_PTR gen_reg[BX_16BIT_REG_IP]....
  function Bit64u (line 4780) | Bit64u get_rip(void) { return (BX_CPU_THIS_PTR gen_reg[BX_64BIT_REG_RIP]...
  function Bit32u (line 4783) | Bit32u get_cpl(void) { return (BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].sele...
  function bx_address (line 4786) | bx_address get_ssp(void) { return (BX_CPU_THIS_PTR gen_reg[BX_64BIT_REG_...
  function VMsucceed (line 4996) | void VMsucceed(void) { clearEFlagsOSZAPC(); }
  function VMfailInvalid (line 4997) | void VMfailInvalid(void) { setEFlagsOSZAPC(EFlagsCFMask); }
  function get_cr8 (line 5516) | BX_CPP_INLINE unsigned BX_CPU_C::get_cr8(void)
  function get_cpu_mode (line 5560) | BX_CPP_INLINE unsigned BX_CPU_C::get_cpu_mode(void)

FILE: cpu/cpudb/amd/amd_k6_2_chomper.cc
  function bx_cpuid_t (line 250) | bx_cpuid_t *create_amd_k6_2_chomper_cpuid(BX_CPU_C *cpu) { return new am...

FILE: cpu/cpudb/amd/amd_k6_2_chomper.h
  function class (line 31) | class amd_k6_2_chomper_t : public bx_cpuid_t {

FILE: cpu/cpudb/amd/athlon64_clawhammer.cc
  function bx_cpuid_t (line 328) | bx_cpuid_t *create_athlon64_clawhammer_cpuid(BX_CPU_C *cpu) { return new...

FILE: cpu/cpudb/amd/athlon64_clawhammer.h
  function class (line 31) | class athlon64_clawhammer_t : public bx_cpuid_t {

FILE: cpu/cpudb/amd/athlon64_venice.cc
  function bx_cpuid_t (line 379) | bx_cpuid_t *create_athlon64_venice_cpuid(BX_CPU_C *cpu) { return new ath...

FILE: cpu/cpudb/amd/athlon64_venice.h
  function class (line 31) | class athlon64_venice_t : public bx_cpuid_t {

FILE: cpu/cpudb/amd/phenomx3_8650_toliman.cc
  function Bit32u (line 147) | Bit32u phenom_8650_toliman_t::get_svm_extensions_bitmask(void) const
  function bx_cpuid_t (line 554) | bx_cpuid_t *create_phenom_8650_toliman_cpuid(BX_CPU_C *cpu) { return new...

FILE: cpu/cpudb/amd/phenomx3_8650_toliman.h
  function class (line 31) | class phenom_8650_toliman_t : public bx_cpuid_t {

FILE: cpu/cpudb/amd/ryzen.cc
  function Bit32u (line 197) | Bit32u ryzen_t::get_svm_extensions_bitmask(void) const
  function bx_cpuid_t (line 776) | bx_cpuid_t *create_ryzen_cpuid(BX_CPU_C *cpu) { return new ryzen_t(cpu); }

FILE: cpu/cpudb/amd/ryzen.h
  function class (line 31) | class ryzen_t : public bx_cpuid_t {

FILE: cpu/cpudb/amd/trinity_apu.cc
  function Bit32u (line 181) | Bit32u trinity_apu_t::get_svm_extensions_bitmask(void) const
  function bx_cpuid_t (line 725) | bx_cpuid_t *create_trinity_apu_cpuid(BX_CPU_C *cpu) { return new trinity...

FILE: cpu/cpudb/amd/trinity_apu.h
  function class (line 31) | class trinity_apu_t : public bx_cpuid_t {

FILE: cpu/cpudb/amd/turion64_tyler.cc
  function bx_cpuid_t (line 453) | bx_cpuid_t *create_turion64_tyler_cpuid(BX_CPU_C *cpu) { return new turi...

FILE: cpu/cpudb/amd/turion64_tyler.h
  function class (line 31) | class turion64_tyler_t : public bx_cpuid_t {

FILE: cpu/cpudb/amd/zambezi.cc
  function Bit32u (line 174) | Bit32u zambezi_t::get_svm_extensions_bitmask(void) const
  function bx_cpuid_t (line 680) | bx_cpuid_t *create_zambezi_cpuid(BX_CPU_C *cpu) { return new zambezi_t(c...

FILE: cpu/cpudb/amd/zambezi.h
  function class (line 31) | class zambezi_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/atom_n270.cc
  function bx_cpuid_t (line 522) | bx_cpuid_t *create_atom_n270_cpuid(BX_CPU_C *cpu) { return new atom_n270...

FILE: cpu/cpudb/intel/atom_n270.h
  function class (line 31) | class atom_n270_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/broadwell_ult.cc
  function Bit32u (line 210) | Bit32u broadwell_ult_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 729) | bx_cpuid_t *create_broadwell_ult_cpuid(BX_CPU_C *cpu) { return new broad...

FILE: cpu/cpudb/intel/broadwell_ult.h
  function class (line 31) | class broadwell_ult_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/core2_penryn_t9600.cc
  function Bit32u (line 165) | Bit32u core2_penryn_t9600_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 580) | bx_cpuid_t *create_core2_penryn_t9600_cpuid(BX_CPU_C *cpu) { return new ...

FILE: cpu/cpudb/intel/core2_penryn_t9600.h
  function class (line 31) | class core2_penryn_t9600_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/core_duo_t2400_yonah.cc
  function bx_cpuid_t (line 520) | bx_cpuid_t *create_core_duo_t2400_yonah_cpuid(BX_CPU_C *cpu) { return ne...

FILE: cpu/cpudb/intel/core_duo_t2400_yonah.h
  function class (line 31) | class core_duo_t2400_yonah_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/corei3_cnl.cc
  function Bit32u (line 232) | Bit32u corei3_cnl_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 806) | bx_cpuid_t *create_corei3_cnl_cpuid(BX_CPU_C *cpu) { return new corei3_c...

FILE: cpu/cpudb/intel/corei3_cnl.h
  function class (line 31) | class corei3_cnl_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/corei5_arrandale_m520.cc
  function Bit32u (line 172) | Bit32u corei5_arrandale_m520_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 600) | bx_cpuid_t *create_corei5_arrandale_m520_cpuid(BX_CPU_C *cpu) { return n...

FILE: cpu/cpudb/intel/corei5_arrandale_m520.h
  function class (line 31) | class corei5_arrandale_m520_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/corei5_lynnfield_750.cc
  function Bit32u (line 151) | Bit32u corei5_lynnfield_750_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 576) | bx_cpuid_t *create_corei5_lynnfield_750_cpuid(BX_CPU_C *cpu) { return ne...

FILE: cpu/cpudb/intel/corei5_lynnfield_750.h
  function class (line 31) | class corei5_lynnfield_750_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/corei7_haswell_4770.cc
  function Bit32u (line 180) | Bit32u corei7_haswell_4770_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 681) | bx_cpuid_t *create_corei7_haswell_4770_cpuid(BX_CPU_C *cpu) { return new...

FILE: cpu/cpudb/intel/corei7_haswell_4770.h
  function class (line 31) | class corei7_haswell_4770_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/corei7_icelake-u.cc
  function Bit32u (line 238) | Bit32u corei7_icelake_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 835) | bx_cpuid_t *create_corei7_icelake_u_cpuid(BX_CPU_C *cpu) { return new co...

FILE: cpu/cpudb/intel/corei7_icelake-u.h
  function class (line 31) | class corei7_icelake_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/corei7_ivy_bridge_3770K.cc
  function Bit32u (line 190) | Bit32u corei7_ivy_bridge_3770k_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 680) | bx_cpuid_t *create_corei7_ivy_bridge_3770k_cpuid(BX_CPU_C *cpu) { return...

FILE: cpu/cpudb/intel/corei7_ivy_bridge_3770K.h
  function class (line 31) | class corei7_ivy_bridge_3770k_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/corei7_sandy_bridge_2600K.cc
  function Bit32u (line 186) | Bit32u corei7_sandy_bridge_2600k_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 627) | bx_cpuid_t *create_corei7_sandy_bridge_2600k_cpuid(BX_CPU_C *cpu) { retu...

FILE: cpu/cpudb/intel/corei7_sandy_bridge_2600K.h
  function class (line 31) | class corei7_sandy_bridge_2600k_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/corei7_skylake-x.cc
  function Bit32u (line 226) | Bit32u corei7_skylake_x_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 774) | bx_cpuid_t *create_corei7_skylake_x_cpuid(BX_CPU_C *cpu) { return new co...

FILE: cpu/cpudb/intel/corei7_skylake-x.h
  function class (line 31) | class corei7_skylake_x_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/p2_klamath.cc
  function bx_cpuid_t (line 162) | bx_cpuid_t *create_p2_klamath_cpuid(BX_CPU_C *cpu) { return new p2_klama...

FILE: cpu/cpudb/intel/p2_klamath.h
  function class (line 31) | class p2_klamath_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/p3_katmai.cc
  function bx_cpuid_t (line 180) | bx_cpuid_t *create_p3_katmai_cpuid(BX_CPU_C *cpu) { return new p3_katmai...

FILE: cpu/cpudb/intel/p3_katmai.h
  function class (line 31) | class p3_katmai_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/p4_prescott_celeron_336.cc
  function bx_cpuid_t (line 366) | bx_cpuid_t *create_p4_prescott_celeron_336_cpuid(BX_CPU_C *cpu) { return...

FILE: cpu/cpudb/intel/p4_prescott_celeron_336.h
  function class (line 31) | class p4_prescott_celeron_336_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/p4_willamette.cc
  function bx_cpuid_t (line 262) | bx_cpuid_t *create_p4_willamette_cpuid(BX_CPU_C *cpu) { return new p4_wi...

FILE: cpu/cpudb/intel/p4_willamette.h
  function class (line 31) | class p4_willamette_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/pentium.cc
  function bx_cpuid_t (line 137) | bx_cpuid_t *create_pentium_cpuid(BX_CPU_C *cpu) { return new pentium_t(c...

FILE: cpu/cpudb/intel/pentium.h
  function class (line 31) | class pentium_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/pentium_mmx.cc
  function bx_cpuid_t (line 139) | bx_cpuid_t *create_pentium_mmx_cpuid(BX_CPU_C *cpu) { return new pentium...

FILE: cpu/cpudb/intel/pentium_mmx.h
  function class (line 31) | class pentium_mmx_t : public bx_cpuid_t {

FILE: cpu/cpudb/intel/tigerlake.cc
  function Bit32u (line 242) | Bit32u tigerlake_t::get_vmx_extensions_bitmask(void) const
  function bx_cpuid_t (line 867) | bx_cpuid_t *create_tigerlake_cpuid(BX_CPU_C *cpu) { return new tigerlake...

FILE: cpu/cpudb/intel/tigerlake.h
  function class (line 31) | class tigerlake_t : public bx_cpuid_t {

FILE: cpu/cpuid.cc
  function BX_CPP_INLINE (line 179) | BX_CPP_INLINE static Bit32u ilog2(Bit32u x)
  function Bit32u (line 504) | Bit32u bx_cpuid_t::get_std_cpuid_leaf_7_ebx(Bit32u extra) const
  function Bit32u (line 622) | Bit32u bx_cpuid_t::get_std_cpuid_leaf_7_ecx(Bit32u extra) const
  type cpuid_function_t (line 768) | struct cpuid_function_t

FILE: cpu/cpuid.h
  type cpuid_function_t (line 27) | struct cpuid_function_t {
  function class (line 36) | class bx_cpuid_t {
  type bx_cpuid_t (line 147) | typedef bx_cpuid_t* (*bx_create_cpuid_method)(BX_CPU_C *cpu);

FILE: cpu/crc32.cc
  function BX_CPP_INLINE (line 36) | BX_CPP_INLINE Bit8u BitReflect8(Bit8u val8)
  function BX_CPP_INLINE (line 48) | BX_CPP_INLINE Bit16u BitReflect16(Bit16u val16)
  function BX_CPP_INLINE (line 53) | BX_CPP_INLINE Bit32u BitReflect32(Bit32u val32)
  function Bit32u (line 58) | static Bit32u mod2_64bit(Bit64u divisor, Bit64u dividend)

FILE: cpu/crregs.cc
  function Bit32u (line 1154) | Bit32u BX_CPU_C::get_cr4_allow_mask(void)
  function Bit32u (line 1479) | Bit32u BX_CPU_C::ReadCR8(bxInstruction_c *i)
  function Bit32u (line 1565) | Bit32u BX_CPU_C::code_breakpoint_match(bx_address laddr)
  function Bit32u (line 1599) | Bit32u BX_CPU_C::hwdebug_compare(bx_address laddr_0, unsigned size,
  function Bit32u (line 1768) | Bit32u BX_CPU_C::get_xcr0_allow_mask(void)
  function Bit32u (line 1787) | Bit32u BX_CPU_C::get_ia32_xss_allow_mask(void)

FILE: cpu/crregs.h
  type bx_cr0_t (line 39) | struct bx_cr0_t {
  function set32 (line 86) | void set32(Bit32u val) { val32 = val | 0x10; }
  type bx_cr4_t (line 116) | struct bx_cr4_t {
  function set32 (line 149) | void set32(Bit32u val) { val32 = val; }
  type bx_dr6_t (line 156) | struct bx_dr6_t {
  function set32 (line 174) | void set32(Bit32u val) { val32 = val; }
  type bx_dr7_t (line 177) | struct bx_dr7_t {
  function set32 (line 209) | void set32(Bit32u val) { val32 = val; }
  type bx_efer_t (line 223) | struct bx_efer_t {
  function set32 (line 240) | void set32(Bit32u val) { val32 = val; }
  type xcr0_t (line 264) | struct xcr0_t {
  function set32 (line 318) | void set32(Bit32u val) { val32 = val; }
  type XSaveRestoreStateHelper (line 333) | struct XSaveRestoreStateHelper {
  type BX_CPP_INLINE (line 349) | typedef struct msr {
  function BX_CPP_INLINE (line 370) | BX_CPP_INLINE bool set64(Bit64u new_val) {

FILE: cpu/ctrl_xfer16.cc
  function BX_CPP_INLINE (line 27) | BX_CPP_INLINE void BX_CPP_AttrRegparmN(1) BX_CPU_C::branch_near16(Bit16u...

FILE: cpu/ctrl_xfer32.cc
  function BX_CPP_INLINE (line 29) | BX_CPP_INLINE void BX_CPP_AttrRegparmN(1) BX_CPU_C::branch_near32(Bit32u...

FILE: cpu/ctrl_xfer64.cc
  function BX_CPP_INLINE (line 29) | BX_CPP_INLINE void BX_CPP_AttrRegparmN(1) BX_CPU_C::branch_near64(bxInst...

FILE: cpu/decoder/decoder.h
  type x86_feature_name (line 26) | enum x86_feature_name {
  type BxSegregs (line 139) | enum BxSegregs {
  type BxRegs8L (line 152) | enum BxRegs8L {
  type BxRegs8H (line 173) | enum BxRegs8H {
  type BxRegs16 (line 180) | enum BxRegs16 {
  type BxRegs32 (line 201) | enum BxRegs32 {
  type BxRegs64 (line 223) | enum BxRegs64 {
  type OpmaskRegs (line 259) | enum OpmaskRegs {
  type bx_avx_vector_length (line 271) | enum bx_avx_vector_length {

FILE: cpu/decoder/disasm.cc
  type bxIAOpcodeTable (line 49) | struct bxIAOpcodeTable

FILE: cpu/decoder/fetchdecode.h
  type BxDecodeError (line 38) | enum BxDecodeError {
  function BX_CPP_INLINE (line 64) | BX_CPP_INLINE Bit16u FetchWORD(const Bit8u *iptr)
  function BX_CPP_INLINE (line 69) | BX_CPP_INLINE Bit32u FetchDWORD(const Bit8u *iptr)
  function BX_CPP_INLINE (line 75) | BX_CPP_INLINE Bit64u FetchQWORD(const Bit8u *iptr)
  type bxIAOpcodeTable (line 90) | struct bxIAOpcodeTable {
  type bx_modrm (line 358) | struct bx_modrm {

FILE: cpu/decoder/fetchdecode32.cc
  type BxOpcodeDecodeDescriptor32 (line 72) | struct BxOpcodeDecodeDescriptor32 {
  type bx_modrm (line 1223) | struct bx_modrm
  function Bit8u (line 1227) | const Bit8u *parseModrm32(const Bit8u *iptr, unsigned &remain, bxInstruc...
  function Bit8u (line 1253) | const Bit8u *decodeModrm32(const Bit8u *iptr, unsigned &remain, bxInstru...
  function fetchImmediate (line 1398) | int fetchImmediate(const Bit8u *iptr, unsigned &remain, bxInstruction_c ...
  function evex_displ8_compression (line 1589) | unsigned evex_displ8_compression(const bxInstruction_c *i, unsigned ia_o...
  function BxDecodeError (line 1667) | BxDecodeError assign_srcs(bxInstruction_c *i, unsigned ia_opcode, unsign...
  function BxDecodeError (line 1715) | BxDecodeError assign_srcs(bxInstruction_c *i, unsigned ia_opcode, bool i...
  function decoder_vex32 (line 1849) | int decoder_vex32(const Bit8u *iptr, unsigned &remain, bxInstruction_c *...
  function decoder_evex32 (line 1965) | int decoder_evex32(const Bit8u *iptr, unsigned &remain, bxInstruction_c ...
  function decoder_xop32 (line 2106) | int decoder_xop32(const Bit8u *iptr, unsigned &remain, bxInstruction_c *...
  function decoder32_fp_escape (line 2180) | int decoder32_fp_escape(const Bit8u *iptr, unsigned &remain, bxInstructi...
  function decoder32_modrm (line 2219) | int decoder32_modrm(const Bit8u *iptr, unsigned &remain, bxInstruction_c...
  function decoder32 (line 2246) | int decoder32(const Bit8u *iptr, unsigned &remain, bxInstruction_c *i, u...
  function decoder_creg32 (line 2269) | int decoder_creg32(const Bit8u *iptr, unsigned &remain, bxInstruction_c ...
  function decoder32_3dnow (line 2300) | int decoder32_3dnow(const Bit8u *iptr, unsigned &remain, bxInstruction_c...
  function decoder32_nop (line 2327) | int decoder32_nop(const Bit8u *iptr, unsigned &remain, bxInstruction_c *...
  function decoder_simple32 (line 2339) | int decoder_simple32(const Bit8u *iptr, unsigned &remain, bxInstruction_...
  function decoder_ud32 (line 2351) | int decoder_ud32(const Bit8u *iptr, unsigned &remain, bxInstruction_c *i...
  function Bit16u (line 2356) | Bit16u findOpcode(const Bit64u *opMap, Bit32u decmask)
  function fetchDecode32 (line 2374) | int fetchDecode32(const Bit8u *iptr, bool is_32, bxInstruction_c *i, uns...
  function assignHandler (line 2516) | int assignHandler(bxInstruction_c *i, Bit32u fetchModeMask)

FILE: cpu/decoder/fetchdecode64.cc
  type bxIAOpcodeTable (line 101) | struct bxIAOpcodeTable
  type bx_modrm (line 111) | struct bx_modrm
  type BxOpcodeDecodeDescriptor64 (line 128) | struct BxOpcodeDecodeDescriptor64 {
  function decoder_vex64 (line 1173) | int decoder_vex64(const Bit8u *iptr, unsigned &remain, bxInstruction_c *...
  function decoder_evex64 (line 1295) | int decoder_evex64(const Bit8u *iptr, unsigned &remain, bxInstruction_c ...
  function decoder_xop64 (line 1458) | int decoder_xop64(const Bit8u *iptr, unsigned &remain, bxInstruction_c *...
  function decoder_ud64 (line 1561) | int decoder_ud64(const Bit8u *iptr, unsigned &remain, bxInstruction_c *i...
  function decoder64_fp_escape (line 1566) | int decoder64_fp_escape(const Bit8u *iptr, unsigned &remain, bxInstructi...
  function decoder64_modrm (line 1601) | int decoder64_modrm(const Bit8u *iptr, unsigned &remain, bxInstruction_c...
  function decoder64 (line 1628) | int decoder64(const Bit8u *iptr, unsigned &remain, bxInstruction_c *i, u...
  function decoder_creg64 (line 1659) | int decoder_creg64(const Bit8u *iptr, unsigned &remain, bxInstruction_c ...
  function decoder64_3dnow (line 1698) | int decoder64_3dnow(const Bit8u *iptr, unsigned &remain, bxInstruction_c...
  function decoder64_nop (line 1724) | int decoder64_nop(const Bit8u *iptr, unsigned &remain, bxInstruction_c *...
  function decoder_simple64 (line 1742) | int decoder_simple64(const Bit8u *iptr, unsigned &remain, bxInstruction_...
  function Bit8u (line 1754) | const Bit8u *parseModrm64(const Bit8u *iptr, unsigned &remain, bxInstruc...
  function Bit8u (line 1787) | const Bit8u *decodeModrm64(const Bit8u *iptr, unsigned &remain, bxInstru...
  function fetchDecode64 (line 1873) | int fetchDecode64(const Bit8u *iptr, bxInstruction_c *i, unsigned remain...

FILE: cpu/decoder/instr.h
  function class (line 49) | class bxInstruction_c {
  function BX_CPP_INLINE (line 212) | BX_CPP_INLINE void init(unsigned os32, unsigned as32, unsigned os64, uns...
  function os32L (line 217) | BX_CPP_INLINE unsigned os32L(void) const {
  function BX_CPP_INLINE (line 220) | BX_CPP_INLINE void setOs32B(unsigned bit) {
  function BX_CPP_INLINE (line 223) | BX_CPP_INLINE void assertOs32(void) {
  function os64L (line 228) | BX_CPP_INLINE unsigned os64L(void) const {
  function BX_CPP_INLINE (line 231) | BX_CPP_INLINE void assertOs64(void) {
  function os64L (line 235) | BX_CPP_INLINE unsigned os64L(void) const { return 0; }
  function osize (line 237) | BX_CPP_INLINE unsigned osize(void) const {
  function as32L (line 241) | BX_CPP_INLINE unsigned as32L(void) const {
  function BX_CPP_INLINE (line 244) | BX_CPP_INLINE void setAs32B(unsigned bit) {
  function as64L (line 249) | BX_CPP_INLINE unsigned as64L(void) const {
  function BX_CPP_INLINE (line 252) | BX_CPP_INLINE void clearAs64(void) {
  function as64L (line 256) | BX_CPP_INLINE unsigned as64L(void) const { return 0; }
  function asize (line 259) | BX_CPP_INLINE unsigned asize(void) const {
  function BX_CPP_INLINE (line 262) | BX_CPP_INLINE bx_address asize_mask(void) const {
  function extend8bitL (line 267) | BX_CPP_INLINE unsigned extend8bitL(void) const {
  function BX_CPP_INLINE (line 270) | BX_CPP_INLINE void assertExtend8bit(void) {
  function ilen (line 275) | BX_CPP_INLINE unsigned ilen(void) const {
  function BX_CPP_INLINE (line 278) | BX_CPP_INLINE void setILen(unsigned ilen) {
  function getIaOpcode (line 282) | BX_CPP_INLINE unsigned getIaOpcode(void) const {
  function BX_CPP_INLINE (line 285) | BX_CPP_INLINE void setIaOpcode(Bit16u op) {
  function BX_CPP_INLINE (line 288) | BX_CPP_INLINE const char* getIaOpcodeName(void) const {
  function BX_CPP_INLINE (line 291) | BX_CPP_INLINE const char* getIaOpcodeNameShort(void) const {
  function repUsedL (line 295) | BX_CPP_INLINE unsigned repUsedL(void) const {
  function lockRepUsedValue (line 298) | BX_CPP_INLINE unsigned lockRepUsedValue(void) const {
  function BX_CPP_INLINE (line 301) | BX_CPP_INLINE void setLockRepUsed(unsigned value) {
  function BX_CPP_INLINE (line 305) | BX_CPP_INLINE void setLock(void) {
  function BX_CPP_INLINE (line 308) | BX_CPP_INLINE bool getLock(void) const {
  function getVL (line 312) | BX_CPP_INLINE unsigned getVL(void) const {
  function BX_CPP_INLINE (line 319) | BX_CPP_INLINE void setVL(unsigned value) {
  function BX_CPP_INLINE (line 324) | BX_CPP_INLINE void setVexW(unsigned bit) {
  function getVexW (line 327) | BX_CPP_INLINE unsigned getVexW(void) const {
  function getVexW (line 331) | BX_CPP_INLINE unsigned getVexW(void) const { return 0; }
  function BX_CPP_INLINE (line 335) | BX_CPP_INLINE void setOpmask(unsigned reg) {
  function opmask (line 338) | BX_CPP_INLINE unsigned opmask(void) const {
  function BX_CPP_INLINE (line 342) | BX_CPP_INLINE void setEvexb(unsigned bit) {
  function getEvexb (line 345) | BX_CPP_INLINE unsigned getEvexb(void) const {
  function BX_CPP_INLINE (line 349) | BX_CPP_INLINE void setZeroMasking(unsigned bit) {
  function isZeroMasking (line 352) | BX_CPP_INLINE unsigned isZeroMasking(void) const {
  function BX_CPP_INLINE (line 356) | BX_CPP_INLINE void setRC(unsigned rc) {
  function getRC (line 359) | BX_CPP_INLINE unsigned getRC(void) const {
  function BX_CPP_INLINE (line 364) | BX_CPP_INLINE void setSrcReg(unsigned src, unsigned reg) {
  function getSrcReg (line 367) | BX_CPP_INLINE unsigned getSrcReg(unsigned src) const {
  function BX_CPP_INLINE (line 394) | BX_CPP_INLINE void assertModC0()
  function BX_CPP_INLINE (line 400) | BX_CPP_INLINE bxInstruction_c* getNextTrace(Bit32u currTraceLinkTimeStam...
  function BX_CPP_INLINE (line 404) | BX_CPP_INLINE void setNextTrace(bxInstruction_c* iptr, Bit32u traceLinkT...
  type BxDisasmStyle (line 413) | enum BxDisasmStyle {

FILE: cpu/descriptor.h
  type bx_selector_t (line 41) | typedef struct { /* bx_selector_t */
  type bx_descriptor_t (line 53) | typedef struct
  type bx_segment_reg_t (line 176) | typedef struct {
  type bx_global_segment_reg_t (line 181) | typedef struct {

FILE: cpu/event.cc
  function else (line 292) | else if (is_unmasked_event_pending(BX_EVENT_VMX_PREEMPTION_TIMER_EXPIRED...
  function else (line 297) | else if (is_unmasked_event_pending(BX_EVENT_VMX_VIRTUAL_NMI)) {
  function else (line 301) | else if (is_unmasked_event_pending(BX_EVENT_NMI)) {
  function else (line 328) | else if (is_unmasked_event_pending(BX_EVENT_SVM_VIRQ_PENDING))
  function else (line 334) | else if (BX_HRQ && BX_DBG_ASYNC_DMA) {

FILE: cpu/exception.cc
  type BxExceptionInfo (line 856) | struct BxExceptionInfo

FILE: cpu/faststring.cc
  function Bit32u (line 34) | Bit32u BX_CPU_C::FastRepMOVSB(unsigned srcSeg, Bit32u srcOff, unsigned d...
  function Bit32u (line 69) | Bit32u BX_CPU_C::FastRepMOVSB(bx_address laddrSrc, bx_address laddrDst, ...
  function Bit32u (line 109) | Bit32u BX_CPU_C::FastRepSTOSB(unsigned dstSeg, Bit32u dstOff, Bit8u val,...
  function Bit32u (line 131) | Bit32u BX_CPU_C::FastRepSTOSB(bx_address laddrDst, Bit8u val, Bit32u count)
  function Bit32u (line 161) | Bit32u BX_CPU_C::FastRepSTOSW(unsigned dstSeg, Bit32u dstOff, Bit16u val...
  function Bit32u (line 183) | Bit32u BX_CPU_C::FastRepSTOSW(bx_address laddrDst, Bit16u val, Bit32u co...
  function Bit32u (line 213) | Bit32u BX_CPU_C::FastRepSTOSD(unsigned dstSeg, Bit32u dstOff, Bit32u val...
  function Bit32u (line 235) | Bit32u BX_CPU_C::FastRepSTOSD(bx_address laddrDst, Bit32u val, Bit32u co...

FILE: cpu/flag_ctrl_pro.cc
  function Bit32u (line 101) | Bit32u BX_CPU_C::force_flags(void)

FILE: cpu/fpu/f2xm1.cc
  function float128 (line 72) | static float128 poly_exp(float128 x, float_status_t &status)
  function floatx80 (line 118) | floatx80 f2xm1(floatx80 a, float_status_t &status)

FILE: cpu/fpu/fpatan.cc
  function float128 (line 66) | static float128 poly_atan(float128 x1, float_status_t &status)
  function floatx80 (line 137) | floatx80 fpatan(floatx80 a, floatx80 b, float_status_t &status)

FILE: cpu/fpu/fprem.cc
  function Bit64u (line 32) | static Bit64u remainder_kernel(Bit64u aSig0, Bit64u bSig, int expDiff, B...
  function do_fprem (line 48) | static int do_fprem(floatx80 a, floatx80 b, floatx80 &r, Bit64u &q, int ...
  function floatx80_ieee754_remainder (line 174) | int floatx80_ieee754_remainder(floatx80 a, floatx80 b, floatx80 &r, Bit6...
  function floatx80_remainder (line 188) | int floatx80_remainder(floatx80 a, floatx80 b, floatx80 &r, Bit64u &q, f...

FILE: cpu/fpu/fpu.cc
  function Bit16u (line 84) | Bit16u BX_CPU_C::x87_get_FCS(void)
  function Bit16u (line 92) | Bit16u BX_CPU_C::x87_get_FDS(void)
  function bx_address (line 100) | bx_address BX_CPU_C::fpu_save_environment(bxInstruction_c *i)
  function bx_address (line 216) | bx_address BX_CPU_C::fpu_load_environment(bxInstruction_c *i)
  function FPU_tagof (line 621) | int FPU_tagof(const floatx80 &reg)

FILE: cpu/fpu/fpu_arith.cc
  function float_status_t (line 31) | float_status_t i387cw_to_softfloat_status_word(Bit16u control_word)
  function floatx80 (line 68) | floatx80 FPU_handle_NaN(floatx80 a, int aIsNaN, float32 b32, int bIsNaN,...
  function FPU_handle_NaN (line 101) | int FPU_handle_NaN(floatx80 a, float32 b, floatx80 &r, float_status_t &s...
  function floatx80 (line 117) | floatx80 FPU_handle_NaN(floatx80 a, int aIsNaN, float64 b64, int bIsNaN,...
  function FPU_handle_NaN (line 150) | int FPU_handle_NaN(floatx80 a, float64 b, floatx80 &r, float_status_t &s...

FILE: cpu/fpu/fpu_compare.cc
  function status_word_flags_fpu_compare (line 37) | static int status_word_flags_fpu_compare(int float_relation)

FILE: cpu/fpu/fpu_const.cc
  function BX_CPP_INLINE (line 48) | BX_CPP_INLINE floatx80 FPU_round_const(const floatx80 &a, int adj)

FILE: cpu/fpu/fsincos.cc
  function Bit64u (line 37) | static Bit64u argument_reduction_kernel(Bit64u aSig0, int Exp, Bit64u *z...
  function reduce_trig_arg (line 54) | static int reduce_trig_arg(int expDiff, int &zSign, Bit64u &aSig0, Bit64...
  function BX_CPP_INLINE (line 124) | BX_CPP_INLINE float128 poly_sin(float128 x, float_status_t &status)
  function BX_CPP_INLINE (line 152) | BX_CPP_INLINE float128 poly_cos(float128 x, float_status_t &status)
  function BX_CPP_INLINE (line 172) | BX_CPP_INLINE void sincos_invalid(floatx80 *sin_a, floatx80 *cos_a, floa...
  function BX_CPP_INLINE (line 178) | BX_CPP_INLINE void sincos_tiny_argument(floatx80 *sin_a, floatx80 *cos_a...
  function floatx80 (line 184) | static floatx80 sincos_approximation(int neg, float128 r, Bit64u quotien...
  function fsincos (line 223) | int fsincos(floatx80 a, floatx80 *sin_a, floatx80 *cos_a, float_status_t...
  function fsin (line 309) | int fsin(floatx80 &a, float_status_t &status)
  function fcos (line 314) | int fcos(floatx80 &a, float_status_t &status)
  function ftan (line 346) | int ftan(floatx80 &a, float_status_t &status)

FILE: cpu/fpu/fyl2x.cc
  function float128 (line 62) | static float128 poly_ln(float128 x1, float_status_t &status)
  function float128 (line 91) | static float128 poly_l2(float128 x, float_status_t &status)
  function float128 (line 102) | static float128 poly_l2p1(float128 x, float_status_t &status)
  function floatx80 (line 137) | floatx80 fyl2x(floatx80 a, floatx80 b, float_status_t &status)
  function floatx80 (line 250) | floatx80 fyl2xp1(floatx80 a, floatx80 b, float_status_t &status)

FILE: cpu/fpu/poly.cc
  function float128 (line 42) | float128 EvalPoly(float128 x, float128 *arr, int n, float_status_t &status)
  function float128 (line 66) | float128 EvenPoly(float128 x, float128 *arr, int n, float_status_t &status)
  function float128 (line 86) | float128 OddPoly(float128 x, float128 *arr, int n, float_status_t &status)

FILE: cpu/fpu/softfloat-compare.h
  function BX_CPP_INLINE (line 45) | BX_CPP_INLINE int float32_eq_ordered_quiet(float32 a, float32 b, float_s...
  function BX_CPP_INLINE (line 52) | BX_CPP_INLINE int float32_lt_ordered_signalling(float32 a, float32 b, fl...
  function BX_CPP_INLINE (line 59) | BX_CPP_INLINE int float32_le_ordered_signalling(float32 a, float32 b, fl...
  function BX_CPP_INLINE (line 66) | BX_CPP_INLINE int float32_unordered_quiet(float32 a, float32 b, float_st...
  function BX_CPP_INLINE (line 73) | BX_CPP_INLINE int float32_neq_unordered_quiet(float32 a, float32 b, floa...
  function BX_CPP_INLINE (line 80) | BX_CPP_INLINE int float32_nlt_unordered_signalling(float32 a, float32 b,...
  function BX_CPP_INLINE (line 87) | BX_CPP_INLINE int float32_nle_unordered_signalling(float32 a, float32 b,...
  function BX_CPP_INLINE (line 94) | BX_CPP_INLINE int float32_ordered_quiet(float32 a, float32 b, float_stat...
  function BX_CPP_INLINE (line 101) | BX_CPP_INLINE int float32_eq_unordered_quiet(float32 a, float32 b, float...
  function BX_CPP_INLINE (line 108) | BX_CPP_INLINE int float32_nge_unordered_signalling(float32 a, float32 b,...
  function BX_CPP_INLINE (line 115) | BX_CPP_INLINE int float32_ngt_unordered_signalling(float32 a, float32 b,...
  function BX_CPP_INLINE (line 122) | BX_CPP_INLINE int float32_false_quiet(float32 a, float32 b, float_status...
  function BX_CPP_INLINE (line 129) | BX_CPP_INLINE int float32_neq_ordered_quiet(float32 a, float32 b, float_...
  function BX_CPP_INLINE (line 136) | BX_CPP_INLINE int float32_ge_ordered_signalling(float32 a, float32 b, fl...
  function BX_CPP_INLINE (line 143) | BX_CPP_INLINE int float32_gt_ordered_signalling(float32 a, float32 b, fl...
  function BX_CPP_INLINE (line 150) | BX_CPP_INLINE int float32_true_quiet(float32 a, float32 b, float_status_...
  function BX_CPP_INLINE (line 157) | BX_CPP_INLINE int float32_eq_ordered_signalling(float32 a, float32 b, fl...
  function BX_CPP_INLINE (line 164) | BX_CPP_INLINE int float32_lt_ordered_quiet(float32 a, float32 b, float_s...
  function BX_CPP_INLINE (line 171) | BX_CPP_INLINE int float32_le_ordered_quiet(float32 a, float32 b, float_s...
  function BX_CPP_INLINE (line 178) | BX_CPP_INLINE int float32_unordered_signalling(float32 a, float32 b, flo...
  function BX_CPP_INLINE (line 185) | BX_CPP_INLINE int float32_neq_unordered_signalling(float32 a, float32 b,...
  function BX_CPP_INLINE (line 192) | BX_CPP_INLINE int float32_nlt_unordered_quiet(float32 a, float32 b, floa...
  function BX_CPP_INLINE (line 199) | BX_CPP_INLINE int float32_nle_unordered_quiet(float32 a, float32 b, floa...
  function BX_CPP_INLINE (line 206) | BX_CPP_INLINE int float32_ordered_signalling(float32 a, float32 b, float...
  function BX_CPP_INLINE (line 213) | BX_CPP_INLINE int float32_eq_unordered_signalling(float32 a, float32 b, ...
  function BX_CPP_INLINE (line 220) | BX_CPP_INLINE int float32_nge_unordered_quiet(float32 a, float32 b, floa...
  function BX_CPP_INLINE (line 227) | BX_CPP_INLINE int float32_ngt_unordered_quiet(float32 a, float32 b, floa...
  function BX_CPP_INLINE (line 234) | BX_CPP_INLINE int float32_false_signalling(float32 a, float32 b, float_s...
  function BX_CPP_INLINE (line 241) | BX_CPP_INLINE int float32_neq_ordered_signalling(float32 a, float32 b, f...
  function BX_CPP_INLINE (line 248) | BX_CPP_INLINE int float32_ge_ordered_quiet(float32 a, float32 b, float_s...
  function BX_CPP_INLINE (line 255) | BX_CPP_INLINE int float32_gt_ordered_quiet(float32 a, float32 b, float_s...
  function BX_CPP_INLINE (line 262) | BX_CPP_INLINE int float32_true_signalling(float32 a, float32 b, float_st...
  function BX_CPP_INLINE (line 273) | BX_CPP_INLINE int float64_eq_ordered_quiet(float64 a, float64 b, float_s...
  function BX_CPP_INLINE (line 280) | BX_CPP_INLINE int float64_lt_ordered_signalling(float64 a, float64 b, fl...
  function BX_CPP_INLINE (line 287) | BX_CPP_INLINE int float64_le_ordered_signalling(float64 a, float64 b, fl...
  function BX_CPP_INLINE (line 294) | BX_CPP_INLINE int float64_unordered_quiet(float64 a, float64 b, float_st...
  function BX_CPP_INLINE (line 301) | BX_CPP_INLINE int float64_neq_unordered_quiet(float64 a, float64 b, floa...
  function BX_CPP_INLINE (line 308) | BX_CPP_INLINE int float64_nlt_unordered_signalling(float64 a, float64 b,...
  function BX_CPP_INLINE (line 315) | BX_CPP_INLINE int float64_nle_unordered_signalling(float64 a, float64 b,...
  function BX_CPP_INLINE (line 322) | BX_CPP_INLINE int float64_ordered_quiet(float64 a, float64 b, float_stat...
  function BX_CPP_INLINE (line 329) | BX_CPP_INLINE int float64_eq_unordered_quiet(float64 a, float64 b, float...
  function BX_CPP_INLINE (line 336) | BX_CPP_INLINE int float64_nge_unordered_signalling(float64 a, float64 b,...
  function BX_CPP_INLINE (line 343) | BX_CPP_INLINE int float64_ngt_unordered_signalling(float64 a, float64 b,...
  function BX_CPP_INLINE (line 350) | BX_CPP_INLINE int float64_false_quiet(float64 a, float64 b, float_status...
  function BX_CPP_INLINE (line 357) | BX_CPP_INLINE int float64_neq_ordered_quiet(float64 a, float64 b, float_...
  function BX_CPP_INLINE (line 364) | BX_CPP_INLINE int float64_ge_ordered_signalling(float64 a, float64 b, fl...
  function BX_CPP_INLINE (line 371) | BX_CPP_INLINE int float64_gt_ordered_signalling(float64 a, float64 b, fl...
  function BX_CPP_INLINE (line 378) | BX_CPP_INLINE int float64_true_quiet(float64 a, float64 b, float_status_...
  function BX_CPP_INLINE (line 385) | BX_CPP_INLINE int float64_eq_ordered_signalling(float64 a, float64 b, fl...
  function BX_CPP_INLINE (line 392) | BX_CPP_INLINE int float64_lt_ordered_quiet(float64 a, float64 b, float_s...
  function BX_CPP_INLINE (line 399) | BX_CPP_INLINE int float64_le_ordered_quiet(float64 a, float64 b, float_s...
  function BX_CPP_INLINE (line 406) | BX_CPP_INLINE int float64_unordered_signalling(float64 a, float64 b, flo...
  function BX_CPP_INLINE (line 413) | BX_CPP_INLINE int float64_neq_unordered_signalling(float64 a, float64 b,...
  function BX_CPP_INLINE (line 420) | BX_CPP_INLINE int float64_nlt_unordered_quiet(float64 a, float64 b, floa...
  function BX_CPP_INLINE (line 427) | BX_CPP_INLINE int float64_nle_unordered_quiet(float64 a, float64 b, floa...
  function BX_CPP_INLINE (line 434) | BX_CPP_INLINE int float64_ordered_signalling(float64 a, float64 b, float...
  function BX_CPP_INLINE (line 441) | BX_CPP_INLINE int float64_eq_unordered_signalling(float64 a, float64 b, ...
  function BX_CPP_INLINE (line 448) | BX_CPP_INLINE int float64_nge_unordered_quiet(float64 a, float64 b, floa...
  function BX_CPP_INLINE (line 455) | BX_CPP_INLINE int float64_ngt_unordered_quiet(float64 a, float64 b, floa...
  function BX_CPP_INLINE (line 462) | BX_CPP_INLINE int float64_false_signalling(float64 a, float64 b, float_s...
  function BX_CPP_INLINE (line 469) | BX_CPP_INLINE int float64_neq_ordered_signalling(float64 a, float64 b, f...
  function BX_CPP_INLINE (line 476) | BX_CPP_INLINE int float64_ge_ordered_quiet(float64 a, float64 b, float_s...
  function BX_CPP_INLINE (line 483) | BX_CPP_INLINE int float64_gt_ordered_quiet(float64 a, float64 b, float_s...
  function BX_CPP_INLINE (line 490) | BX_CPP_INLINE int float64_true_signalling(float64 a, float64 b, float_st...

FILE: cpu/fpu/softfloat-macros.h
  function BX_CPP_INLINE (line 46) | BX_CPP_INLINE Bit16u shift16RightJamming(Bit16u a, int count)
  function BX_CPP_INLINE (line 71) | BX_CPP_INLINE Bit32u shift32RightJamming(Bit32u a, int count)
  function BX_CPP_INLINE (line 96) | BX_CPP_INLINE Bit64u shift64RightJamming(Bit64u a, int count)
  function BX_CPP_INLINE (line 130) | BX_CPP_INLINE void shift64ExtraRightJamming(Bit64u a0, Bit64u a1, int co...
  function BX_CPP_INLINE (line 163) | BX_CPP_INLINE void add128(Bit64u a0, Bit64u a1, Bit64u b0, Bit64u b1, Bi...
  function BX_CPP_INLINE (line 178) | BX_CPP_INLINE void
  function BX_CPP_INLINE (line 191) | BX_CPP_INLINE void mul64To128(Bit64u a, Bit64u b, Bit64u *z0Ptr, Bit64u ...
  function Bit64u (line 223) | static Bit64u estimateDiv128To64(Bit64u a0, Bit64u a1, Bit64u b)
  function Bit32u (line 256) | static Bit32u estimateSqrt32(Bit16s aExp, Bit32u a)
  function BX_CPP_INLINE (line 310) | BX_CPP_INLINE int countLeadingZeros16(Bit16u a)
  function BX_CPP_INLINE (line 328) | BX_CPP_INLINE int countLeadingZeros32(Bit32u a)
  function BX_CPP_INLINE (line 348) | BX_CPP_INLINE int countLeadingZeros64(Bit64u a)
  function BX_CPP_INLINE (line 371) | BX_CPP_INLINE void shift128Right(Bit64u a0, Bit64u a1, int count, Bit64u...
  function BX_CPP_INLINE (line 403) | BX_CPP_INLINE void shift128RightJamming(Bit64u a0, Bit64u a1, int count,...
  function BX_CPP_INLINE (line 439) | BX_CPP_INLINE void shortShift128Left(Bit64u a0, Bit64u a1, int count, Bi...
  function BX_CPP_INLINE (line 453) | BX_CPP_INLINE void add192(
  function BX_CPP_INLINE (line 489) | BX_CPP_INLINE void sub192(
  function BX_CPP_INLINE (line 523) | BX_CPP_INLINE int eq128(Bit64u a0, Bit64u a1, Bit64u b0, Bit64u b1)
  function BX_CPP_INLINE (line 534) | BX_CPP_INLINE int le128(Bit64u a0, Bit64u a1, Bit64u b0, Bit64u b1)
  function BX_CPP_INLINE (line 545) | BX_CPP_INLINE int lt128(Bit64u a0, Bit64u a1, Bit64u b0, Bit64u b1)
  function BX_CPP_INLINE (line 559) | BX_CPP_INLINE void mul128By64To192(
  function BX_CPP_INLINE (line 587) | BX_CPP_INLINE void mul128To256(
  function BX_CPP_INLINE (line 635) | BX_CPP_INLINE void shift128ExtraRightJamming(

FILE: cpu/fpu/softfloat-muladd.cc
  function float32 (line 65) | static float32 propagateFloat32MulAddNaN(float32 a, float32 b, float32 c...
  function float64 (line 99) | static float64 propagateFloat64MulAddNaN(float64 a, float64 b, float64 c...
  function float32 (line 135) | float32 float32_muladd(float32 a, float32 b, float32 c, int flags, float...
  function float64 (line 349) | float64 float64_muladd(float64 a, float64 b, float64 c, int flags, float...

FILE: cpu/fpu/softfloat-round-pack.cc
  function Bit32s (line 68) | Bit32s roundAndPackInt32(int zSign, Bit64u exactAbsZ, float_status_t &st...
  function Bit64s (line 113) | Bit64s roundAndPackInt64(int zSign, Bit64u absZ0, Bit64u absZ1, float_st...
  function Bit64u (line 161) | Bit64u roundAndPackUint64(int zSign, Bit64u absZ0, Bit64u absZ1, float_s...
  function normalizeFloat16Subnormal (line 206) | void normalizeFloat16Subnormal(Bit16u aSig, Bit16s *zExpPtr, Bit16u *zSi...
  function float16 (line 235) | float16 roundAndPackFloat16(int zSign, Bit16s zExp, Bit16u zSig, float_s...
  function normalizeFloat32Subnormal (line 300) | void normalizeFloat32Subnormal(Bit32u aSig, Bit16s *zExpPtr, Bit32u *zSi...
  function float32 (line 329) | float32 roundAndPackFloat32(int zSign, Bit16s zExp, Bit32u zSig, float_s...
  function float32 (line 404) | float32 normalizeRoundAndPackFloat32(int zSign, Bit16s zExp, Bit32u zSig...
  function normalizeFloat64Subnormal (line 417) | void normalizeFloat64Subnormal(Bit64u aSig, Bit16s *zExpPtr, Bit64u *zSi...
  function float64 (line 446) | float64 roundAndPackFloat64(int zSign, Bit16s zExp, Bit64u zSig, float_s...
  function float64 (line 520) | float64 normalizeRoundAndPackFloat64(int zSign, Bit16s zExp, Bit64u zSig...
  function normalizeFloatx80Subnormal (line 535) | void normalizeFloatx80Subnormal(Bit64u aSig, Bit32s *zExpPtr, Bit64u *zS...
  function floatx80 (line 566) | floatx80 SoftFloatRoundAndPackFloatx80(int roundingPrecision,
  function floatx80 (line 721) | floatx80 roundAndPackFloatx80(int roundingPrecision,
  function floatx80 (line 751) | floatx80 normalizeRoundAndPackFloatx80(int roundingPrecision,
  function normalizeFloat128Subnormal (line 780) | void normalizeFloat128Subnormal(
  function float128 (line 825) | float128 roundAndPackFloat128(
  function float128 (line 873) | float128 normalizeRoundAndPackFloat128(

FILE: cpu/fpu/softfloat-specialize.cc
  function float32 (line 46) | float32 propagateFloat32NaN(float32 a, float32 b, float_status_t &status)
  function float64 (line 83) | float64 propagateFloat64NaN(float64 a, float64 b, float_status_t &status)
  function floatx80 (line 120) | floatx80 propagateFloatx80NaN(floatx80 a, floatx80 b, float_status_t &st...
  function float128 (line 161) | float128 propagateFloat128NaN(float128 a, float128 b, float_status_t &st...

FILE: cpu/fpu/softfloat-specialize.h
  type commonNaNT (line 52) | typedef struct {
  function BX_CPP_INLINE (line 72) | BX_CPP_INLINE Bit16u extractFloat16Frac(float16 a)
  function BX_CPP_INLINE (line 81) | BX_CPP_INLINE Bit16s extractFloat16Exp(float16 a)
  function BX_CPP_INLINE (line 90) | BX_CPP_INLINE int extractFloat16Sign(float16 a)
  function BX_CPP_INLINE (line 106) | BX_CPP_INLINE float16 packFloat16(int zSign, int zExp, Bit16u zSig)
  function BX_CPP_INLINE (line 116) | BX_CPP_INLINE int float16_is_nan(float16 a)
  function BX_CPP_INLINE (line 126) | BX_CPP_INLINE int float16_is_signaling_nan(float16 a)
  function BX_CPP_INLINE (line 136) | BX_CPP_INLINE int float16_is_denormal(float16 a)
  function BX_CPP_INLINE (line 145) | BX_CPP_INLINE float16 float16_denormal_to_zero(float16 a)
  function BX_CPP_INLINE (line 157) | BX_CPP_INLINE commonNaNT float16ToCommonNaN(float16 a, float_status_t &s...
  function BX_CPP_INLINE (line 172) | BX_CPP_INLINE float16 commonNaNToFloat16(commonNaNT a)
  function BX_CPP_INLINE (line 206) | BX_CPP_INLINE Bit32u extractFloat32Frac(float32 a)
  function BX_CPP_INLINE (line 215) | BX_CPP_INLINE Bit16s extractFloat32Exp(float32 a)
  function BX_CPP_INLINE (line 224) | BX_CPP_INLINE int extractFloat32Sign(float32 a)
  function BX_CPP_INLINE (line 240) | BX_CPP_INLINE float32 packFloat32(int zSign, Bit16s zExp, Bit32u zSig)
  function BX_CPP_INLINE (line 250) | BX_CPP_INLINE int float32_is_nan(float32 a)
  function BX_CPP_INLINE (line 260) | BX_CPP_INLINE int float32_is_signaling_nan(float32 a)
  function BX_CPP_INLINE (line 270) | BX_CPP_INLINE int float32_is_denormal(float32 a)
  function BX_CPP_INLINE (line 279) | BX_CPP_INLINE float32 float32_denormal_to_zero(float32 a)
  function BX_CPP_INLINE (line 291) | BX_CPP_INLINE commonNaNT float32ToCommonNaN(float32 a, float_status_t &s...
  function BX_CPP_INLINE (line 306) | BX_CPP_INLINE float32 commonNaNToFloat32(commonNaNT a)
  function BX_CPP_INLINE (line 324) | BX_CPP_INLINE float32 propagateFloat32NaN(float32 a, float_status_t &sta...
  function BX_CPP_INLINE (line 359) | BX_CPP_INLINE Bit64u extractFloat64Frac(float64 a)
  function BX_CPP_INLINE (line 368) | BX_CPP_INLINE Bit16s extractFloat64Exp(float64 a)
  function BX_CPP_INLINE (line 377) | BX_CPP_INLINE int extractFloat64Sign(float64 a)
  function BX_CPP_INLINE (line 393) | BX_CPP_INLINE float64 packFloat64(int zSign, Bit16s zExp, Bit64u zSig)
  function BX_CPP_INLINE (line 403) | BX_CPP_INLINE int float64_is_nan(float64 a)
  function BX_CPP_INLINE (line 413) | BX_CPP_INLINE int float64_is_signaling_nan(float64 a)
  function BX_CPP_INLINE (line 423) | BX_CPP_INLINE int float64_is_denormal(float64 a)
  function BX_CPP_INLINE (line 432) | BX_CPP_INLINE float64 float64_denormal_to_zero(float64 a)
  function BX_CPP_INLINE (line 444) | BX_CPP_INLINE commonNaNT float64ToCommonNaN(float64 a, float_status_t &s...
  function BX_CPP_INLINE (line 459) | BX_CPP_INLINE float64 commonNaNToFloat64(commonNaNT a)
  function BX_CPP_INLINE (line 477) | BX_CPP_INLINE float64 propagateFloat64NaN(float64 a, float_status_t &sta...
  function BX_CPP_INLINE (line 506) | BX_CPP_INLINE Bit64u extractFloatx80Frac(floatx80 a)
  function BX_CPP_INLINE (line 516) | BX_CPP_INLINE Bit32s extractFloatx80Exp(floatx80 a)
  function BX_CPP_INLINE (line 526) | BX_CPP_INLINE int extractFloatx80Sign(floatx80 a)
  function BX_CPP_INLINE (line 536) | BX_CPP_INLINE floatx80 packFloatx80(int zSign, Bit32s zExp, Bit64u zSig)
  function BX_CPP_INLINE (line 549) | BX_CPP_INLINE int floatx80_is_nan(floatx80 a)
  function BX_CPP_INLINE (line 559) | BX_CPP_INLINE int floatx80_is_signaling_nan(floatx80 a)
  function BX_CPP_INLINE (line 571) | BX_CPP_INLINE int floatx80_is_unsupported(floatx80 a)
  function BX_CPP_INLINE (line 582) | BX_CPP_INLINE commonNaNT floatx80ToCommonNaN(floatx80 a, float_status_t ...
  function BX_CPP_INLINE (line 597) | BX_CPP_INLINE floatx80 commonNaNToFloatx80(commonNaNT a)
  function BX_CPP_INLINE (line 619) | BX_CPP_INLINE floatx80 propagateFloatx80NaN(floatx80 a, float_status_t &...
  function BX_CPP_INLINE (line 654) | BX_CPP_INLINE Bit64u extractFloat128Frac1(float128 a)
  function BX_CPP_INLINE (line 664) | BX_CPP_INLINE Bit64u extractFloat128Frac0(float128 a)
  function BX_CPP_INLINE (line 674) | BX_CPP_INLINE Bit32s extractFloat128Exp(float128 a)
  function BX_CPP_INLINE (line 683) | BX_CPP_INLINE int extractFloat128Sign(float128 a)
  function BX_CPP_INLINE (line 701) | BX_CPP_INLINE float128 packFloat128(int zSign, Bit32s zExp, Bit64u zSig0...
  function BX_CPP_INLINE (line 714) | BX_CPP_INLINE float128 packFloat128(Bit64u zHi, Bit64u zLo)
  function BX_CPP_INLINE (line 733) | BX_CPP_INLINE int float128_is_nan(float128 a)
  function BX_CPP_INLINE (line 744) | BX_CPP_INLINE int float128_is_signaling_nan(float128 a)
  function BX_CPP_INLINE (line 756) | BX_CPP_INLINE commonNaNT float128ToCommonNaN(float128 a, float_status_t ...
  function BX_CPP_INLINE (line 770) | BX_CPP_INLINE float128 commonNaNToFloat128(commonNaNT a)

FILE: cpu/fpu/softfloat.cc
  function float32 (line 65) | float32 int32_to_float32(Bit32s a, float_status_t &status)
  function float64 (line 79) | float64 int32_to_float64(Bit32s a)
  function float32 (line 95) | float32 int64_to_float32(Bit64s a, float_status_t &status)
  function float64 (line 122) | float64 int64_to_float64(Bit64s a, float_status_t &status)
  function float32 (line 138) | float32 uint32_to_float32(Bit32u a, float_status_t &status)
  function float64 (line 151) | float64 uint32_to_float64(Bit32u a)
  function float32 (line 165) | float32 uint64_to_float32(Bit64u a, float_status_t &status)
  function float64 (line 190) | float64 uint64_to_float64(Bit64u a, float_status_t &status)
  function Bit32s (line 207) | Bit32s float32_to_int32(float32 a, float_status_t &status)
  function Bit32s (line 232) | Bit32s float32_to_int32_round_to_zero(float32 a, float_status_t &status)
  function Bit32u (line 271) | Bit32u float32_to_uint32_round_to_zero(float32 a, float_status_t &status)
  function Bit64s (line 309) | Bit64s float32_to_int64(float32 a, float_status_t &status)
  function Bit64s (line 341) | Bit64s float32_to_int64_round_to_zero(float32 a, float_status_t &status)
  function Bit64u (line 382) | Bit64u float32_to_uint64_round_to_zero(float32 a, float_status_t &status)
  function Bit64u (line 422) | Bit64u float32_to_uint64(float32 a, float_status_t &status)
  function Bit32u (line 465) | Bit32u float32_to_uint32(float32 a, float_status_t &status)
  function float64 (line 484) | float64 float32_to_float64(float32 a, float_status_t &status)
  function float32 (line 512) | float32 float32_round_to_int(float32 a, Bit8u scale, float_status_t &sta...
  function float32 (line 576) | float32 float32_frc(float32 a, float_status_t &status)
  function float32 (line 631) | float32 float32_getexp(float32 a, float_status_t &status)
  function float32 (line 660) | float32 float32_getmant(float32 a, float_status_t &status, int sign_ctrl...
  function float32 (line 724) | float32 float32_scalef(float32 a, float32 b, float_status_t &status)
  function float32 (line 821) | static float32 addFloat32Sigs(float32 a, float32 b, int zSign, float_sta...
  function float32 (line 918) | static float32 subFloat32Sigs(float32 a, float32 b, int zSign, float_sta...
  function float32 (line 1005) | float32 float32_add(float32 a, float32 b, float_status_t &status)
  function float32 (line 1024) | float32 float32_sub(float32 a, float32 b, float_status_t &status)
  function float32 (line 1043) | float32 float32_mul(float32 a, float32 b, float_status_t &status)
  function float32 (line 1115) | float32 float32_div(float32 a, float32 b, float_status_t &status)
  function float32 (line 1186) | float32 float32_sqrt(float32 a, float_status_t &status)
  function float_class_t (line 1244) | float_class_t float32_class(float32 a)
  function float32_compare (line 1273) | int float32_compare(float32 a, float32 b, int quiet, float_status_t &sta...
  function float32 (line 1313) | float32 float32_min(float32 a, float32 b, float_status_t &status)
  function float32 (line 1328) | float32 float32_max(float32 a, float32 b, float_status_t &status)
  function float32 (line 1344) | float32 float32_minmax(float32 a, float32 b, int is_max, int is_abs, flo...
  function Bit32s (line 1407) | Bit32s float64_to_int32(float64 a, float_status_t &status)
  function Bit32s (line 1431) | Bit32s float64_to_int32_round_to_zero(float64 a, float_status_t &status)
  function Bit32u (line 1475) | Bit32u float64_to_uint32_round_to_zero(float64 a, float_status_t &status)
  function Bit64s (line 1512) | Bit64s float64_to_int64(float64 a, float_status_t &status)
  function Bit64s (line 1549) | Bit64s float64_to_int64_round_to_zero(float64 a, float_status_t &status)
  function Bit64u (line 1593) | Bit64u float64_to_uint64_round_to_zero(float64 a, float_status_t &status)
  function Bit32u (line 1638) | Bit32u float64_to_uint32(float64 a, float_status_t &status)
  function Bit64u (line 1659) | Bit64u float64_to_uint64(float64 a, float_status_t &status)
  function float32 (line 1703) | float32 float64_to_float32(float64 a, float_status_t &status)
  function float64 (line 1738) | float64 float64_round_to_int(float64 a, Bit8u scale, float_status_t &sta...
  function float64 (line 1802) | float64 float64_frc(float64 a, float_status_t &status)
  function float64 (line 1857) | float64 float64_getexp(float64 a, float_status_t &status)
  function float64 (line 1886) | float64 float64_getmant(float64 a, float_status_t &status, int sign_ctrl...
  function float64 (line 1950) | float64 float64_scalef(float64 a, float64 b, float_status_t &status)
  function float64 (line 2048) | static float64 addFloat64Sigs(float64 a, float64 b, int zSign, float_sta...
  function float64 (line 2144) | static float64 subFloat64Sigs(float64 a, float64 b, int zSign, float_sta...
  function float64 (line 2231) | float64 float64_add(float64 a, float64 b, float_status_t &status)
  function float64 (line 2250) | float64 float64_sub(float64 a, float64 b, float_status_t &status)
  function float64 (line 2269) | float64 float64_mul(float64 a, float64 b, float_status_t &status)
  function float64 (line 2339) | float64 float64_div(float64 a, float64 b, float_status_t &status)
  function float64 (line 2418) | float64 float64_sqrt(float64 a, float_status_t &status)
  function float_class_t (line 2473) | float_class_t float64_class(float64 a)
  function float64_compare (line 2503) | int float64_compare(float64 a, float64 b, int quiet, float_status_t &sta...
  function float64 (line 2543) | float64 float64_min(float64 a, float64 b, float_status_t &status)
  function float64 (line 2558) | float64 float64_max(float64 a, float64 b, float_status_t &status)
  function float64 (line 2574) | float64 float64_minmax(float64 a, float64 b, int is_max, int is_abs, flo...
  function floatx80 (line 2637) | floatx80 int32_to_floatx80(Bit32s a)
  function floatx80 (line 2654) | floatx80 int64_to_floatx80(Bit64s a)
  function floatx80 (line 2670) | floatx80 float32_to_floatx80(float32 a, float_status_t &status)
  function floatx80 (line 2695) | floatx80 float64_to_floatx80(float64 a, float_status_t &status)
  function Bit32s (line 2724) | Bit32s floatx80_to_int32(floatx80 a, float_status_t &status)
  function Bit32s (line 2753) | Bit32s floatx80_to_int32_round_to_zero(floatx80 a, float_status_t &status)
  function Bit64s (line 2804) | Bit64s floatx80_to_int64(floatx80 a, float_status_t &status)
  function Bit64s (line 2846) | Bit64s floatx80_to_int64_round_to_zero(floatx80 a, float_status_t &status)
  function float32 (line 2890) | float32 floatx80_to_float32(floatx80 a, float_status_t &status)
  function float64 (line 2921) | float64 floatx80_to_float64(floatx80 a, float_status_t &status)
  function floatx80 (line 2955) | floatx80 floatx80_round_to_int(floatx80 a, float_status_t &status)
  function floatx80 (line 3043) | static floatx80 addFloatx80Sigs(floatx80 a, floatx80 b, int zSign, float...
  function floatx80 (line 3125) | static floatx80 subFloatx80Sigs(floatx80 a, floatx80 b, int zSign, float...
  function floatx80 (line 3215) | floatx80 floatx80_add(floatx80 a, floatx80 b, float_status_t &status)
  function floatx80 (line 3232) | floatx80 floatx80_sub(floatx80 a, floatx80 b, float_status_t &status)
  function floatx80 (line 3249) | floatx80 floatx80_mul(floatx80 a, floatx80 b, float_status_t &status)
  function floatx80 (line 3319) | floatx80 floatx80_div(floatx80 a, floatx80 b, float_status_t &status)
  function floatx80 (line 3407) | floatx80 floatx80_sqrt(floatx80 a, float_status_t &status)
  function float128 (line 3486) | float128 floatx80_to_float128(floatx80 a, float_status_t &status)
  function floatx80 (line 3508) | floatx80 float128_to_floatx80(float128 a, float_status_t &status)
  function floatx80 (line 3543) | floatx80 floatx80_mul(floatx80 a, float128 b, float_status_t &status)
  function float128 (line 3626) | static float128 addFloat128Sigs(float128 a, float128 b, int zSign, float...
  function float128 (line 3693) | static float128 subFloat128Sigs(float128 a, float128 b, int zSign, float...
  function float128 (line 3769) | float128 float128_add(float128 a, float128 b, float_status_t &status)
  function float128 (line 3788) | float128 float128_sub(float128 a, float128 b, float_status_t &status)
  function float128 (line 3807) | float128 float128_mul(float128 a, float128 b, float_status_t &status)
  function float128 (line 3870) | float128 float128_div(float128 a, float128 b, float_status_t &status)
  function float128 (line 3953) | float128 int64_to_float128(Bit64s a)

FILE: cpu/fpu/softfloat.h
  type Bit16u (line 47) | typedef Bit16u float16;
  type Bit32u (line 49) | typedef Bit32u float32;
  type Bit64u (line 50) | typedef Bit64u float64;
  type float_class_t (line 55) | typedef enum {
  type float_nan_handling_mode_t (line 68) | enum float_nan_handling_mode_t {
  type float_round_t (line 76) | enum float_round_t {
  type float_exception_flag_t (line 86) | enum float_exception_flag_t {
  type float_status_t (line 126) | struct float_status_t
  function BX_CPP_INLINE (line 154) | BX_CPP_INLINE int get_exception_flags(const float_status_t &status)
  function BX_CPP_INLINE (line 164) | BX_CPP_INLINE int float_exception_masked(const float_status_t &status, i...
  function BX_CPP_INLINE (line 173) | BX_CPP_INLINE int get_float_rounding_mode(const float_status_t &status)
  function BX_CPP_INLINE (line 183) | BX_CPP_INLINE int get_float_rounding_precision(const float_status_t &sta...
  function BX_CPP_INLINE (line 194) | BX_CPP_INLINE int get_float_nan_handling_mode(const float_status_t &status)
  function BX_CPP_INLINE (line 215) | BX_CPP_INLINE int get_denormals_are_zeros(const float_status_t &status)
  function BX_CPP_INLINE (line 225) | BX_CPP_INLINE int get_flush_underflow_to_zero(const float_status_t &status)
  function BX_CPP_INLINE (line 271) | BX_CPP_INLINE float32 float32_round_to_int(float32 a, float_status_t &st...
  function BX_CPP_INLINE (line 276) | BX_CPP_INLINE float32 float32_fmadd(float32 a, float32 b, float32 c, flo...
  function BX_CPP_INLINE (line 281) | BX_CPP_INLINE float32 float32_fmsub(float32 a, float32 b, float32 c, flo...
  function BX_CPP_INLINE (line 286) | BX_CPP_INLINE float32 float32_fnmadd(float32 a, float32 b, float32 c, fl...
  function BX_CPP_INLINE (line 291) | BX_CPP_INLINE float32 float32_fnmsub(float32 a, float32 b, float32 c, fl...
  function BX_CPP_INLINE (line 296) | BX_CPP_INLINE int float32_compare(float32 a, float32 b, float_status_t &...
  function BX_CPP_INLINE (line 301) | BX_CPP_INLINE int float32_compare_quiet(float32 a, float32 b, float_stat...
  function BX_CPP_INLINE (line 346) | BX_CPP_INLINE float64 float64_round_to_int(float64 a, float_status_t &st...
  function BX_CPP_INLINE (line 351) | BX_CPP_INLINE float64 float64_fmadd(float64 a, float64 b, float64 c, flo...
  function BX_CPP_INLINE (line 356) | BX_CPP_INLINE float64 float64_fmsub(float64 a, float64 b, float64 c, flo...
  function BX_CPP_INLINE (line 361) | BX_CPP_INLINE float64 float64_fnmadd(float64 a, float64 b, float64 c, fl...
  function BX_CPP_INLINE (line 366) | BX_CPP_INLINE float64 float64_fnmsub(float64 a, float64 b, float64 c, fl...
  function BX_CPP_INLINE (line 371) | BX_CPP_INLINE int float64_compare(float64 a, float64 b, float_status_t &...
  function BX_CPP_INLINE (line 376) | BX_CPP_INLINE int float64_compare_quiet(float64 a, float64 b, float_stat...
  type floatx80 (line 410) | struct floatx80 {	// leave alignment to compiler
  type floatx80 (line 415) | struct floatx80 {
  type float128 (line 460) | struct float128 {
  type float128 (line 464) | struct float128 {

FILE: cpu/fpu/softfloat16.cc
  function float_class_t (line 47) | float_class_t float16_class(float16 a)
  function float32 (line 75) | float32 float16_to_float32(float16 a, float_status_t &status)
  function float16 (line 103) | float16 float32_to_float16(float32 a, float_status_t &status)

FILE: cpu/fpu/softfloatx80.cc
  function Bit16s (line 39) | Bit16s floatx80_to_int16(floatx80 a, float_status_t &status)
  function Bit16s (line 65) | Bit16s floatx80_to_int16_round_to_zero(floatx80 a, float_status_t &status)
  function floatx80 (line 89) | floatx80 floatx80_extract(floatx80 &a, float_status_t &status)
  function floatx80 (line 134) | floatx80 floatx80_scale(floatx80 a, floatx80 b, float_status_t &status)
  function float_class_t (line 212) | float_class_t floatx80_class(floatx80 a)
  function floatx80_compare (line 249) | int floatx80_compare(floatx80 a, floatx80 b, int quiet, float_status_t &...

FILE: cpu/fpu/softfloatx80.h
  function BX_CPP_INLINE (line 68) | BX_CPP_INLINE int floatx80_compare(floatx80 a, floatx80 b, float_status_...
  function BX_CPP_INLINE (line 73) | BX_CPP_INLINE int floatx80_compare_quiet(floatx80 a, floatx80 b, float_s...

FILE: cpu/generic_cpuid.cc
  function Bit32u (line 986) | Bit32u bx_generic_cpuid_t::get_cpu_version_information(void) const
  function Bit32u (line 1005) | Bit32u bx_generic_cpuid_t::get_extended_cpuid_features(void) const
  function Bit32u (line 1108) | Bit32u bx_generic_cpuid_t::get_std_cpuid_features(void) const
  function Bit32u (line 1227) | Bit32u bx_generic_cpuid_t::get_std2_cpuid_features(void) const
  function Bit32u (line 1289) | Bit32u bx_generic_cpuid_t::get_ext2_cpuid_features(void) const
  function bx_cpuid_t (line 1351) | bx_cpuid_t *create_bx_generic_cpuid(BX_CPU_C *cpu) { return new bx_gener...

FILE: cpu/generic_cpuid.h
  function class (line 31) | class bx_generic_cpuid_t : public bx_cpuid_t {

FILE: cpu/gf2.cc
  function BX_CPP_INLINE (line 68) | BX_CPP_INLINE Bit8u affine_byte(Bit64u src2qw, Bit8u src1byte, Bit8u imm8)
  function BX_CPP_INLINE (line 78) | BX_CPP_INLINE void xmm_gf2p8affineqb(BxPackedXmmRegister *dst, const BxP...
  function BX_CPP_INLINE (line 85) | BX_CPP_INLINE Bit8u affine_inverse_byte(Bit64u src2qw, Bit8u src1byte, B...
  function BX_CPP_INLINE (line 90) | BX_CPP_INLINE void xmm_gf2p8affineinvqb(BxPackedXmmRegister *dst, const ...
  function BX_CPP_INLINE (line 258) | BX_CPP_INLINE Bit8u gf2p8mul(Bit8u a, Bit8u b)

FILE: cpu/i387.h
  function i387_t (line 50) | struct BOCHSAPI_MSVCONLY i387_t

FILE: cpu/icache.cc
  function flushICaches (line 43) | void flushICaches(void)
  function handleSMC (line 53) | void handleSMC(bx_phy_address pAddr, Bit32u mask)
  function genDummyICacheEntry (line 70) | void genDummyICacheEntry(bxInstruction_c *i)
  function bxICacheEntry_c (line 79) | bxICacheEntry_c* BX_CPU_C::serveICacheMiss(Bit32u eipBiased, bx_phy_addr...

FILE: cpu/icache.h
  function class (line 29) | class bxPageWriteStampTable
  type bxICacheEntry_c (line 107) | struct bxICacheEntry_c
  function BX_CPP_INLINE (line 120) | BX_CPP_INLINE void flushSMC(bxICacheEntry_c *e)
  function class (line 133) | class BOCHSAPI bxICache_c {

FILE: cpu/init.cc
  function bx_cpuid_t (line 87) | static bx_cpuid_t *cpuid_factory(BX_CPU_C *cpu)
  function Bit64s (line 564) | Bit64s BX_CPU_C::param_save(bx_param_c *param)

FILE: cpu/io.cc
  function Bit32u (line 35) | Bit32u BX_CPU_C::FastRepINSW(Bit32u dstOff, Bit16u port, Bit32u wordCount)
  function Bit32u (line 115) | Bit32u BX_CPU_C::FastRepOUTSW(unsigned srcSeg, Bit32u srcOff, Bit16u por...

FILE: cpu/lazy_flags.h
  type bx_lazyflags_entry (line 193) | struct bx_lazyflags_entry {
  function assert_flags_OxxxxC (line 240) | void assert_flags_OxxxxC() { set_flags_OxxxxC(1,1); }
  function getB_OF (line 244) | BX_CPP_INLINE unsigned bx_lazyflags_entry::getB_OF(void) const
  function get_OF (line 249) | BX_CPP_INLINE unsigned bx_lazyflags_entry::get_OF(void) const
  function getB_SF (line 273) | BX_CPP_INLINE unsigned bx_lazyflags_entry::getB_SF(void) const
  function get_SF (line 278) | BX_CPP_INLINE unsigned bx_lazyflags_entry::get_SF(void) const { return g...
  function getB_ZF (line 290) | BX_CPP_INLINE unsigned bx_lazyflags_entry::getB_ZF(void) const
  function get_ZF (line 295) | BX_CPP_INLINE unsigned bx_lazyflags_entry::get_ZF(void) const { return g...
  function getB_AF (line 324) | BX_CPP_INLINE unsigned bx_lazyflags_entry::getB_AF(void) const
  function get_AF (line 329) | BX_CPP_INLINE unsigned bx_lazyflags_entry::get_AF(void) const
  function getB_PF (line 353) | BX_CPP_INLINE unsigned bx_lazyflags_entry::getB_PF(void) const
  function get_PF (line 361) | BX_CPP_INLINE unsigned bx_lazyflags_entry::get_PF(void) const { return g...
  function getB_CF (line 375) | BX_CPP_INLINE unsigned bx_lazyflags_entry::getB_CF(void) const
  function get_CF (line 380) | BX_CPP_INLINE unsigned bx_lazyflags_entry::get_CF(void) const

FILE: cpu/msr.cc
  function isMemTypeValidMTRR (line 529) | bool isMemTypeValidMTRR(unsigned memtype)
  function BX_CPP_INLINE (line 543) | BX_CPP_INLINE bool isMemTypeValidPAT(unsigned memtype)
  function isValidMSR_PAT (line 548) | bool isValidMSR_PAT(Bit64u pat_val)
  function isValidMSR_FixedMTRR (line 558) | bool isValidMSR_FixedMTRR(Bit64u fixed_mtrr_val)

FILE: cpu/msr.h
  type MSR_Register (line 25) | enum MSR_Register {

FILE: cpu/paging.cc
  function BX_CPP_INLINE (line 666) | BX_CPP_INLINE Bit32u calculate_pcd_pwt(Bit32u entry)
  function BX_CPP_INLINE (line 673) | BX_CPP_INLINE Bit32u calculate_pat(Bit32u entry, Bit32u lpf_mask)
  function bx_phy_address (line 685) | bx_phy_address BX_CPU_C::translate_linear_long_mode(bx_address laddr, Bi...
  function bx_phy_address (line 945) | bx_phy_address BX_CPU_C::translate_linear_load_PDPTR(bx_address laddr, u...
  function bx_phy_address (line 982) | bx_phy_address BX_CPU_C::translate_linear_PAE(bx_address laddr, Bit32u &...
  function bx_phy_address (line 1131) | bx_phy_address BX_CPU_C::translate_linear_legacy(bx_address laddr, Bit32...
  function bx_phy_address (line 1276) | bx_phy_address BX_CPU_C::translate_linear(bx_TLB_entry *tlbEntry, bx_add...
  function bx_phy_address (line 1639) | bx_phy_address BX_CPU_C::nested_walk_long_mode(bx_phy_address guest_padd...
  function bx_phy_address (line 1703) | bx_phy_address BX_CPU_C::nested_walk_PAE(bx_phy_address guest_paddr, uns...
  function bx_phy_address (line 1781) | bx_phy_address BX_CPU_C::nested_walk_legacy(bx_phy_address guest_paddr, ...
  function bx_phy_address (line 1838) | bx_phy_address BX_CPU_C::nested_walk(bx_phy_address guest_paddr, unsigne...
  function bx_phy_address (line 1903) | bx_phy_address BX_CPU_C::translate_guest_physical(bx_phy_address guest_p...
  function dbg_print_paging_pte (line 2159) | void dbg_print_paging_pte(int level, Bit64u entry)
  function dbg_print_ept_paging_pte (line 2196) | void dbg_print_ept_paging_pte(int level, Bit64u entry)

FILE: cpu/proc_ctrl.cc
  type cpuid_function_t (line 113) | struct cpuid_function_t
  function Bit64u (line 612) | Bit64u BX_CPU_C::get_TSC(void)

FILE: cpu/scalar_arith.h
  function parity_byte (line 29) | BX_CPP_INLINE unsigned parity_byte(Bit8u val_8)
  function tzcntw (line 36) | BX_CPP_INLINE unsigned tzcntw(Bit16u val_16)
  function tzcntd (line 49) | BX_CPP_INLINE unsigned tzcntd(Bit32u val_32)
  function tzcntq (line 62) | BX_CPP_INLINE unsigned tzcntq(Bit64u val_64)
  function lzcntw (line 77) | BX_CPP_INLINE unsigned lzcntw(Bit16u val_16)
  function lzcntd (line 90) | BX_CPP_INLINE unsigned lzcntd(Bit32u val_32)
  function lzcntq (line 103) | BX_CPP_INLINE unsigned lzcntq(Bit64u val_64)
  function popcntb (line 118) | BX_CPP_INLINE unsigned popcntb(Bit8u val_8)
  function popcntw (line 127) | BX_CPP_INLINE unsigned popcntw(Bit16u val_16)
  function popcntd (line 137) | BX_CPP_INLINE unsigned popcntd(Bit32u val_32)
  function popcntq (line 148) | BX_CPP_INLINE unsigned popcntq(Bit64u val_64)
  function BX_CPP_INLINE (line 162) | BX_CPP_INLINE Bit32u bextrd(Bit32u val_32, unsigned start, unsigned len)
  function BX_CPP_INLINE (line 178) | BX_CPP_INLINE Bit64u bextrq(Bit64u val_64, unsigned start, unsigned len)

FILE: cpu/segment_ctrl_pro.cc
  function BX_CPP_INLINE (line 239) | BX_CPP_INLINE void BX_CPU_C::validate_seg_reg(unsigned seg)
  function parse_selector (line 275) | void parse_selector(Bit16u raw_selector, bx_selector_t *selector)
  function Bit8u (line 283) | Bit8u get_ar_byte(const bx_descriptor_t *d)
  function set_ar_byte (line 291) | void set_ar_byte(bx_descriptor_t *d, Bit8u ar_byte)
  function parse_descriptor (line 422) | void parse_descriptor(Bit32u dword1, Bit32u dword2, bx_descriptor_t *temp)

FILE: cpu/sha.cc
  function BX_CPP_INLINE (line 38) | BX_CPP_INLINE Bit32u sha_f0(Bit32u B, Bit32u C, Bit32u D)
  function BX_CPP_INLINE (line 50) | BX_CPP_INLINE Bit32u sha_f1(Bit32u B, Bit32u C, Bit32u D)
  function BX_CPP_INLINE (line 62) | BX_CPP_INLINE Bit32u sha_f2(Bit32u B, Bit32u C, Bit32u D)
  function BX_CPP_INLINE (line 76) | BX_CPP_INLINE Bit32u sha_f(Bit32u B, Bit32u C, Bit32u D, unsigned index)
  function BX_CPP_INLINE (line 107) | BX_CPP_INLINE Bit32u rotate_r(Bit32u val_32, unsigned count)
  function BX_CPP_INLINE (line 112) | BX_CPP_INLINE Bit32u rotate_l(Bit32u val_32, unsigned count)
  function BX_CPP_INLINE (line 118) | BX_CPP_INLINE Bit32u sha256_transformation_rrr(Bit32u val_32, unsigned r...
  function BX_CPP_INLINE (line 123) | BX_CPP_INLINE Bit32u sha256_transformation_rrs(Bit32u val_32, unsigned r...

FILE: cpu/simd_compare.h
  function BX_CPP_INLINE (line 29) | BX_CPP_INLINE void xmm_pcmpltb(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 36) | BX_CPP_INLINE Bit32u xmm_pcmpltb_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 45) | BX_CPP_INLINE void xmm_pcmpltw(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 52) | BX_CPP_INLINE Bit32u xmm_pcmpltw_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 61) | BX_CPP_INLINE void xmm_pcmpltd(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 68) | BX_CPP_INLINE Bit32u xmm_pcmpltd_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 77) | BX_CPP_INLINE void xmm_pcmpltq(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 84) | BX_CPP_INLINE Bit32u xmm_pcmpltq_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 95) | BX_CPP_INLINE void xmm_pcmpltub(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 102) | BX_CPP_INLINE Bit32u xmm_pcmpltub_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 111) | BX_CPP_INLINE void xmm_pcmpltuw(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 118) | BX_CPP_INLINE Bit32u xmm_pcmpltuw_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 127) | BX_CPP_INLINE void xmm_pcmpltud(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 134) | BX_CPP_INLINE Bit32u xmm_pcmpltud_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 143) | BX_CPP_INLINE void xmm_pcmpltuq(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 150) | BX_CPP_INLINE Bit32u xmm_pcmpltuq_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 161) | BX_CPP_INLINE void xmm_pcmpleb(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 168) | BX_CPP_INLINE Bit32u xmm_pcmpleb_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 177) | BX_CPP_INLINE void xmm_pcmplew(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 184) | BX_CPP_INLINE Bit32u xmm_pcmplew_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 193) | BX_CPP_INLINE void xmm_pcmpled(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 200) | BX_CPP_INLINE Bit32u xmm_pcmpled_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 209) | BX_CPP_INLINE void xmm_pcmpleq(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 216) | BX_CPP_INLINE Bit32u xmm_pcmpleq_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 227) | BX_CPP_INLINE void xmm_pcmpleub(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 234) | BX_CPP_INLINE Bit32u xmm_pcmpleub_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 243) | BX_CPP_INLINE void xmm_pcmpleuw(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 250) | BX_CPP_INLINE Bit32u xmm_pcmpleuw_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 259) | BX_CPP_INLINE void xmm_pcmpleud(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 266) | BX_CPP_INLINE Bit32u xmm_pcmpleud_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 275) | BX_CPP_INLINE void xmm_pcmpleuq(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 282) | BX_CPP_INLINE Bit32u xmm_pcmpleuq_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 293) | BX_CPP_INLINE void xmm_pcmpgtb(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 300) | BX_CPP_INLINE Bit32u xmm_pcmpgtb_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 309) | BX_CPP_INLINE void xmm_pcmpgtw(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 316) | BX_CPP_INLINE Bit32u xmm_pcmpgtw_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 325) | BX_CPP_INLINE void xmm_pcmpgtd(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 332) | BX_CPP_INLINE Bit32u xmm_pcmpgtd_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 341) | BX_CPP_INLINE void xmm_pcmpgtq(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 348) | BX_CPP_INLINE Bit32u xmm_pcmpgtq_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 359) | BX_CPP_INLINE void xmm_pcmpgtub(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 366) | BX_CPP_INLINE Bit32u xmm_pcmpgtub_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 375) | BX_CPP_INLINE void xmm_pcmpgtuw(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 382) | BX_CPP_INLINE Bit32u xmm_pcmpgtuw_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 391) | BX_CPP_INLINE void xmm_pcmpgtud(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 398) | BX_CPP_INLINE Bit32u xmm_pcmpgtud_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 407) | BX_CPP_INLINE void xmm_pcmpgtuq(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 414) | BX_CPP_INLINE Bit32u xmm_pcmpgtuq_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 425) | BX_CPP_INLINE void xmm_pcmpgeb(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 432) | BX_CPP_INLINE Bit32u xmm_pcmpgeb_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 441) | BX_CPP_INLINE void xmm_pcmpgew(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 448) | BX_CPP_INLINE Bit32u xmm_pcmpgew_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 457) | BX_CPP_INLINE void xmm_pcmpged(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 464) | BX_CPP_INLINE Bit32u xmm_pcmpged_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 473) | BX_CPP_INLINE void xmm_pcmpgeq(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 480) | BX_CPP_INLINE Bit32u xmm_pcmpgeq_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 491) | BX_CPP_INLINE void xmm_pcmpgeub(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 498) | BX_CPP_INLINE Bit32u xmm_pcmpgeub_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 507) | BX_CPP_INLINE void xmm_pcmpgeuw(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 514) | BX_CPP_INLINE Bit32u xmm_pcmpgeuw_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 523) | BX_CPP_INLINE void xmm_pcmpgeud(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 530) | BX_CPP_INLINE Bit32u xmm_pcmpgeud_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 539) | BX_CPP_INLINE void xmm_pcmpgeuq(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 546) | BX_CPP_INLINE Bit32u xmm_pcmpgeuq_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 557) | BX_CPP_INLINE void xmm_pcmpeqb(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 564) | BX_CPP_INLINE Bit32u xmm_pcmpeqb_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 573) | BX_CPP_INLINE void xmm_pcmpeqw(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 580) | BX_CPP_INLINE Bit32u xmm_pcmpeqw_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 589) | BX_CPP_INLINE void xmm_pcmpeqd(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 596) | BX_CPP_INLINE Bit32u xmm_pcmpeqd_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 605) | BX_CPP_INLINE void xmm_pcmpeqq(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 612) | BX_CPP_INLINE Bit32u xmm_pcmpeqq_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 623) | BX_CPP_INLINE void xmm_pcmpneb(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 630) | BX_CPP_INLINE Bit32u xmm_pcmpneb_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 639) | BX_CPP_INLINE void xmm_pcmpnew(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 646) | BX_CPP_INLINE Bit32u xmm_pcmpnew_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 655) | BX_CPP_INLINE void xmm_pcmpned(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 662) | BX_CPP_INLINE Bit32u xmm_pcmpned_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 671) | BX_CPP_INLINE void xmm_pcmpneq(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 678) | BX_CPP_INLINE Bit32u xmm_pcmpneq_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 689) | BX_CPP_INLINE void xmm_pcmptrue(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 696) | BX_CPP_INLINE void xmm_pcmpfalse(BxPackedXmmRegister *op1, const BxPacke...
  function BX_CPP_INLINE (line 703) | BX_CPP_INLINE Bit32u xmm_pcmptrueb_mask(const BxPackedXmmRegister *op1, ...
  function BX_CPP_INLINE (line 708) | BX_CPP_INLINE Bit32u xmm_pcmptruew_mask(const BxPackedXmmRegister *op1, ...
  function BX_CPP_INLINE (line 713) | BX_CPP_INLINE Bit32u xmm_pcmptrued_mask(const BxPackedXmmRegister *op1, ...
  function BX_CPP_INLINE (line 718) | BX_CPP_INLINE Bit32u xmm_pcmptrueq_mask(const BxPackedXmmRegister *op1, ...
  function BX_CPP_INLINE (line 723) | BX_CPP_INLINE Bit32u xmm_pcmpfalse_mask(const BxPackedXmmRegister *op1, ...
  function BX_CPP_INLINE (line 730) | BX_CPP_INLINE Bit32u xmm_ptestmb_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 739) | BX_CPP_INLINE Bit32u xmm_ptestmw_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 748) | BX_CPP_INLINE Bit32u xmm_ptestmd_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 757) | BX_CPP_INLINE Bit32u xmm_ptestmq_mask(const BxPackedXmmRegister *op1, co...
  function BX_CPP_INLINE (line 766) | BX_CPP_INLINE Bit32u xmm_ptestnmb_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 775) | BX_CPP_INLINE Bit32u xmm_ptestnmw_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 784) | BX_CPP_INLINE Bit32u xmm_ptestnmd_mask(const BxPackedXmmRegister *op1, c...
  function BX_CPP_INLINE (line 793) | BX_CPP_INLINE Bit32u xmm_ptestnmq_mask(const BxPackedXmmRegister *op1, c...

FILE: cpu/simd_int.h
  function BX_CPP_INLINE (line 29) | BX_CPP_INLINE void xmm_pabsb(BxPackedXmmRegister *op)
  function BX_CPP_INLINE (line 36) | BX_CPP_INLINE void xmm_pabsw(BxPackedXmmRegister *op)
  function BX_CPP_INLINE (line 43) | BX_CPP_INLINE void xmm_pabsd(BxPackedXmmRegister *op)
  function BX_CPP_INLINE (line 50) | BX_CPP_INLINE void xmm_pabsq(BxPackedXmmRegister *op)
  function BX_CPP_INLINE (line 59) | BX_CPP_INLINE void xmm_pminsb(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 66) | BX_CPP_INLINE void xmm_pminub(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 73) | BX_CPP_INLINE void xmm_pminsw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 80) | BX_CPP_INLINE void xmm_pminuw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 87) | BX_CPP_INLINE void xmm_pminsd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 94) | BX_CPP_INLINE void xmm_pminud(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 101) | BX_CPP_INLINE void xmm_pminsq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 108) | BX_CPP_INLINE void xmm_pminuq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 115) | BX_CPP_INLINE void xmm_pmaxsb(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 122) | BX_CPP_INLINE void xmm_pmaxub(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 129) | BX_CPP_INLINE void xmm_pmaxsw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 136) | BX_CPP_INLINE void xmm_pmaxuw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 143) | BX_CPP_INLINE void xmm_pmaxsd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 150) | BX_CPP_INLINE void xmm_pmaxud(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 157) | BX_CPP_INLINE void xmm_pmaxsq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 164) | BX_CPP_INLINE void xmm_pmaxuq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 173) | BX_CPP_INLINE void xmm_unpcklps(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 181) | BX_CPP_INLINE void xmm_unpckhps(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 189) | BX_CPP_INLINE void xmm_unpcklpd(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 195) | BX_CPP_INLINE void xmm_unpckhpd(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 201) | BX_CPP_INLINE void xmm_punpcklbw(BxPackedXmmRegister *op1, const BxPacke...
  function BX_CPP_INLINE (line 221) | BX_CPP_INLINE void xmm_punpckhbw(BxPackedXmmRegister *op1, const BxPacke...
  function BX_CPP_INLINE (line 241) | BX_CPP_INLINE void xmm_punpcklwd(BxPackedXmmRegister *op1, const BxPacke...
  function BX_CPP_INLINE (line 253) | BX_CPP_INLINE void xmm_punpckhwd(BxPackedXmmRegister *op1, const BxPacke...
  function BX_CPP_INLINE (line 267) | BX_CPP_INLINE void xmm_packuswb(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 288) | BX_CPP_INLINE void xmm_packsswb(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 309) | BX_CPP_INLINE void xmm_packusdw(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 322) | BX_CPP_INLINE void xmm_packssdw(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 337) | BX_CPP_INLINE void xmm_pshufb(BxPackedXmmRegister *r, const BxPackedXmmR...
  function BX_CPP_INLINE (line 349) | BX_CPP_INLINE void xmm_pshufhw(BxPackedXmmRegister *r, const BxPackedXmm...
  function BX_CPP_INLINE (line 358) | BX_CPP_INLINE void xmm_pshuflw(BxPackedXmmRegister *r, const BxPackedXmm...
  function BX_CPP_INLINE (line 367) | BX_CPP_INLINE void xmm_shufps(BxPackedXmmRegister *r, const BxPackedXmmR...
  function BX_CPP_INLINE (line 375) | BX_CPP_INLINE void xmm_shufpd(BxPackedXmmRegister *r, const BxPackedXmmR...
  function BX_CPP_INLINE (line 381) | BX_CPP_INLINE void xmm_permilps(BxPackedXmmRegister *r, const BxPackedXm...
  function BX_CPP_INLINE (line 389) | BX_CPP_INLINE void xmm_permilpd(BxPackedXmmRegister *r, const BxPackedXm...
  function BX_CPP_INLINE (line 395) | BX_CPP_INLINE void xmm_permil2ps(BxPackedXmmRegister *r, const BxPackedX...
  function BX_CPP_INLINE (line 406) | BX_CPP_INLINE void xmm_permil2pd(BxPackedXmmRegister *r, const BxPackedX...
  function BX_CPP_INLINE (line 418) | BX_CPP_INLINE void ymm_vpermq(BxPackedYmmRegister *r, const BxPackedYmmR...
  function BX_CPP_INLINE (line 429) | BX_CPP_INLINE void xmm_psignb(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 437) | BX_CPP_INLINE void xmm_psignw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 445) | BX_CPP_INLINE void xmm_psignd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 455) | BX_CPP_INLINE Bit32u xmm_pmovmskb(const BxPackedXmmRegister *op)
  function BX_CPP_INLINE (line 479) | BX_CPP_INLINE Bit32u xmm_pmovmskw(const BxPackedXmmRegister *op)
  function BX_CPP_INLINE (line 495) | BX_CPP_INLINE Bit32u xmm_pmovmskd(const BxPackedXmmRegister *op)
  function BX_CPP_INLINE (line 507) | BX_CPP_INLINE Bit32u xmm_pmovmskq(const BxPackedXmmRegister *op)
  function BX_CPP_INLINE (line 517) | BX_CPP_INLINE void xmm_pmovm2b(BxPackedXmmRegister *dst, Bit32u mask)
  function BX_CPP_INLINE (line 524) | BX_CPP_INLINE void xmm_pmovm2w(BxPackedXmmRegister *dst, Bit32u mask)
  function BX_CPP_INLINE (line 531) | BX_CPP_INLINE void xmm_pmovm2d(BxPackedXmmRegister *dst, Bit32u mask)
  function BX_CPP_INLINE (line 538) | BX_CPP_INLINE void xmm_pmovm2q(BxPackedXmmRegister *dst, Bit32u mask)
  function BX_CPP_INLINE (line 546) | BX_CPP_INLINE void xmm_pblendb(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 553) | BX_CPP_INLINE void xmm_zero_pblendb(BxPackedXmmRegister *dst, const BxPa...
  function BX_CPP_INLINE (line 561) | BX_CPP_INLINE void simd_pblendb(BxPackedAvxRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 569) | BX_CPP_INLINE void simd_zero_pblendb(BxPackedAvxRegister *dst, const BxP...
  function BX_CPP_INLINE (line 578) | BX_CPP_INLINE void xmm_pblendw(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 585) | BX_CPP_INLINE void xmm_zero_pblendw(BxPackedXmmRegister *dst, const BxPa...
  function BX_CPP_INLINE (line 593) | BX_CPP_INLINE void simd_pblendw(BxPackedAvxRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 601) | BX_CPP_INLINE void simd_zero_pblendw(BxPackedAvxRegister *dst, const BxP...
  function BX_CPP_INLINE (line 610) | BX_CPP_INLINE void xmm_blendps(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 617) | BX_CPP_INLINE void xmm_zero_blendps(BxPackedXmmRegister *dst, const BxPa...
  function BX_CPP_INLINE (line 625) | BX_CPP_INLINE void simd_blendps(BxPackedAvxRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 633) | BX_CPP_INLINE void simd_zero_blendps(BxPackedAvxRegister *dst, const BxP...
  function BX_CPP_INLINE (line 642) | BX_CPP_INLINE void xmm_blendpd(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 649) | BX_CPP_INLINE void xmm_zero_blendpd(BxPackedXmmRegister *dst, const BxPa...
  function BX_CPP_INLINE (line 657) | BX_CPP_INLINE void simd_blendpd(BxPackedAvxRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 665) | BX_CPP_INLINE void simd_zero_blendpd(BxPackedAvxRegister *dst, const BxP...
  function BX_CPP_INLINE (line 674) | BX_CPP_INLINE void xmm_pblendvb(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 681) | BX_CPP_INLINE void xmm_pblendvw(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 688) | BX_CPP_INLINE void xmm_blendvps(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 695) | BX_CPP_INLINE void xmm_blendvpd(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 703) | BX_CPP_INLINE void xmm_andps(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 709) | BX_CPP_INLINE void xmm_andnps(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 715) | BX_CPP_INLINE void xmm_orps(BxPackedXmmRegister *op1, const BxPackedXmmR...
  function BX_CPP_INLINE (line 721) | BX_CPP_INLINE void xmm_xorps(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 729) | BX_CPP_INLINE void xmm_paddb(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 736) | BX_CPP_INLINE void xmm_paddw(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 743) | BX_CPP_INLINE void xmm_paddd(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 750) | BX_CPP_INLINE void xmm_paddq(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 757) | BX_CPP_INLINE void xmm_psubb(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 764) | BX_CPP_INLINE void xmm_psubw(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 771) | BX_CPP_INLINE void xmm_psubd(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 778) | BX_CPP_INLINE void xmm_psubq(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 787) | BX_CPP_INLINE void xmm_paddsb(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 794) | BX_CPP_INLINE void xmm_paddsw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 801) | BX_CPP_INLINE void xmm_paddusb(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 808) | BX_CPP_INLINE void xmm_paddusw(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 815) | BX_CPP_INLINE void xmm_psubsb(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 822) | BX_CPP_INLINE void xmm_psubsw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 829) | BX_CPP_INLINE void xmm_psubusb(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 840) | BX_CPP_INLINE void xmm_psubusw(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 853) | BX_CPP_INLINE void xmm_phaddw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 866) | BX_CPP_INLINE void xmm_phaddd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 874) | BX_CPP_INLINE void xmm_phaddsw(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 887) | BX_CPP_INLINE void xmm_phsubw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 900) | BX_CPP_INLINE void xmm_phsubd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 908) | BX_CPP_INLINE void xmm_phsubsw(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 923) | BX_CPP_INLINE void xmm_pavgb(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 930) | BX_CPP_INLINE void xmm_pavgw(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 939) | BX_CPP_INLINE void xmm_pmullw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 946) | BX_CPP_INLINE void xmm_pmulhw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 954) | BX_CPP_INLINE void xmm_pmulhuw(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 962) | BX_CPP_INLINE void xmm_pmulld(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 969) | BX_CPP_INLINE void xmm_pmullq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 976) | BX_CPP_INLINE void xmm_pmuldq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 982) | BX_CPP_INLINE void xmm_pmuludq(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 988) | BX_CPP_INLINE void xmm_pmulhrsw(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 997) | BX_CPP_INLINE void xmm_pmaddubsw(BxPackedXmmRegister *op1, const BxPacke...
  function BX_CPP_INLINE (line 1008) | BX_CPP_INLINE void xmm_pmaddwd(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 1019) | BX_CPP_INLINE void xmm_pbroadcastb(BxPackedXmmRegister *op, Bit8u val_8)
  function BX_CPP_INLINE (line 1026) | BX_CPP_INLINE void xmm_pbroadcastw(BxPackedXmmRegister *op, Bit16u val_16)
  function BX_CPP_INLINE (line 1033) | BX_CPP_INLINE void xmm_pbroadcastd(BxPackedXmmRegister *op, Bit32u val_32)
  function BX_CPP_INLINE (line 1040) | BX_CPP_INLINE void xmm_pbroadcastq(BxPackedXmmRegister *op, Bit64u val_64)
  function BX_CPP_INLINE (line 1048) | BX_CPP_INLINE void simd_pbroadcastb(BxPackedAvxRegister *op, Bit8u val_8...
  function BX_CPP_INLINE (line 1055) | BX_CPP_INLINE void simd_pbroadcastw(BxPackedAvxRegister *op, Bit16u val_...
  function BX_CPP_INLINE (line 1062) | BX_CPP_INLINE void simd_pbroadcastd(BxPackedAvxRegister *op, Bit32u val_...
  function BX_CPP_INLINE (line 1069) | BX_CPP_INLINE void simd_pbroadcastq(BxPackedAvxRegister *op, Bit64u val_...
  function BX_CPP_INLINE (line 1079) | BX_CPP_INLINE void xmm_psadbw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1096) | BX_CPP_INLINE Bit16u sad_quadruple(const BxPackedXmmRegister *op1, const...
  function BX_CPP_INLINE (line 1110) | BX_CPP_INLINE void xmm_mpsadbw(BxPackedXmmRegister *r, const BxPackedXmm...
  function BX_CPP_INLINE (line 1120) | BX_CPP_INLINE void xmm_dbpsadbw(BxPackedXmmRegister *r, const BxPackedXm...
  function BX_CPP_INLINE (line 1137) | BX_CPP_INLINE Bit32u simd_pconflictd(const BxPackedAvxRegister *op, int ...
  function BX_CPP_INLINE (line 1147) | BX_CPP_INLINE Bit32u simd_pconflictq(const BxPackedAvxRegister *op, int ...
  function BX_CPP_INLINE (line 1161) | BX_CPP_INLINE void xmm_pselect(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 1170) | BX_CPP_INLINE void xmm_psravw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1181) | BX_CPP_INLINE void xmm_psravd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1192) | BX_CPP_INLINE void xmm_psravq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1203) | BX_CPP_INLINE void xmm_psllvw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1214) | BX_CPP_INLINE void xmm_psllvd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1225) | BX_CPP_INLINE void xmm_psllvq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1236) | BX_CPP_INLINE void xmm_psrlvw(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1247) | BX_CPP_INLINE void xmm_psrlvd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1258) | BX_CPP_INLINE void xmm_psrlvq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1269) | BX_CPP_INLINE void xmm_psraw(BxPackedXmmRegister *op, Bit64u shift_64)
  function BX_CPP_INLINE (line 1284) | BX_CPP_INLINE void xmm_psrad(BxPackedXmmRegister *op, Bit64u shift_64)
  function BX_CPP_INLINE (line 1299) | BX_CPP_INLINE void xmm_psraq(BxPackedXmmRegister *op, Bit64u shift_64)
  function BX_CPP_INLINE (line 1314) | BX_CPP_INLINE void xmm_psrlw(BxPackedXmmRegister *op, Bit64u shift_64)
  function BX_CPP_INLINE (line 1326) | BX_CPP_INLINE void xmm_psrld(BxPackedXmmRegister *op, Bit64u shift_64)
  function BX_CPP_INLINE (line 1338) | BX_CPP_INLINE void xmm_psrlq(BxPackedXmmRegister *op, Bit64u shift_64)
  function BX_CPP_INLINE (line 1350) | BX_CPP_INLINE void xmm_psllw(BxPackedXmmRegister *op, Bit64u shift_64)
  function BX_CPP_INLINE (line 1362) | BX_CPP_INLINE void xmm_pslld(BxPackedXmmRegister *op, Bit64u shift_64)
  function BX_CPP_INLINE (line 1374) | BX_CPP_INLINE void xmm_psllq(BxPackedXmmRegister *op, Bit64u shift_64)
  function BX_CPP_INLINE (line 1386) | BX_CPP_INLINE void xmm_psrldq(BxPackedXmmRegister *op, Bit8u shift)
  function BX_CPP_INLINE (line 1405) | BX_CPP_INLINE void xmm_pslldq(BxPackedXmmRegister *op, Bit8u shift)
  function BX_CPP_INLINE (line 1424) | BX_CPP_INLINE void xmm_palignr(BxPackedXmmRegister *op2, const BxPackedX...
  function BX_CPP_INLINE (line 1453) | BX_CPP_INLINE void xmm_prorb(BxPackedXmmRegister *op, int shift)
  function BX_CPP_INLINE (line 1462) | BX_CPP_INLINE void xmm_prorw(BxPackedXmmRegister *op, int shift)
  function BX_CPP_INLINE (line 1471) | BX_CPP_INLINE void xmm_prord(BxPackedXmmRegister *op, int shift)
  function BX_CPP_INLINE (line 1480) | BX_CPP_INLINE void xmm_prorq(BxPackedXmmRegister *op, int shift)
  function BX_CPP_INLINE (line 1489) | BX_CPP_INLINE void xmm_prorvd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1497) | BX_CPP_INLINE void xmm_prorvq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1507) | BX_CPP_INLINE void xmm_prolb(BxPackedXmmRegister *op, int shift)
  function BX_CPP_INLINE (line 1516) | BX_CPP_INLINE void xmm_prolw(BxPackedXmmRegister *op, int shift)
  function BX_CPP_INLINE (line 1525) | BX_CPP_INLINE void xmm_prold(BxPackedXmmRegister *op, int shift)
  function BX_CPP_INLINE (line 1534) | BX_CPP_INLINE void xmm_prolq(BxPackedXmmRegister *op, int shift)
  function BX_CPP_INLINE (line 1543) | BX_CPP_INLINE void xmm_prolvd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1551) | BX_CPP_INLINE void xmm_prolvq(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 1561) | BX_CPP_INLINE void xmm_protb(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1578) | BX_CPP_INLINE void xmm_protw(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1595) | BX_CPP_INLINE void xmm_protd(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1612) | BX_CPP_INLINE void xmm_protq(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1629) | BX_CPP_INLINE void xmm_pshab(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1644) | BX_CPP_INLINE void xmm_pshaw(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1659) | BX_CPP_INLINE void xmm_pshad(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1674) | BX_CPP_INLINE void xmm_pshaq(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1689) | BX_CPP_INLINE void xmm_pshlb(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1704) | BX_CPP_INLINE void xmm_pshlw(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1719) | BX_CPP_INLINE void xmm_pshld(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1734) | BX_CPP_INLINE void xmm_pshlq(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 1751) | BX_CPP_INLINE void xmm_pdpbusd(BxPackedXmmRegister *dst, BxPackedXmmRegi...
  function BX_CPP_INLINE (line 1764) | BX_CPP_INLINE void xmm_pdpbusds(BxPackedXmmRegister *dst, BxPackedXmmReg...
  function BX_CPP_INLINE (line 1778) | BX_CPP_INLINE void xmm_pdpwssd(BxPackedXmmRegister *dst, BxPackedXmmRegi...
  function BX_CPP_INLINE (line 1789) | BX_CPP_INLINE void xmm_pdpwssds(BxPackedXmmRegister *dst, BxPackedXmmReg...

FILE: cpu/simd_pfp.h
  function BX_CPP_INLINE (line 29) | BX_CPP_INLINE void xmm_addps(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 36) | BX_CPP_INLINE void xmm_addps_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 46) | BX_CPP_INLINE void xmm_addpd(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 53) | BX_CPP_INLINE void xmm_addpd_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 63) | BX_CPP_INLINE void xmm_subps(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 70) | BX_CPP_INLINE void xmm_subps_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 80) | BX_CPP_INLINE void xmm_subpd(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 87) | BX_CPP_INLINE void xmm_subpd_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 97) | BX_CPP_INLINE void xmm_mulps(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 104) | BX_CPP_INLINE void xmm_mulps_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 114) | BX_CPP_INLINE void xmm_mulpd(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 121) | BX_CPP_INLINE void xmm_mulpd_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 131) | BX_CPP_INLINE void xmm_divps(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 138) | BX_CPP_INLINE void xmm_divps_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 148) | BX_CPP_INLINE void xmm_divpd(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 155) | BX_CPP_INLINE void xmm_divpd_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 165) | BX_CPP_INLINE void xmm_addsubps(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 173) | BX_CPP_INLINE void xmm_addsubps_mask(BxPackedXmmRegister *op1, const BxP...
  function BX_CPP_INLINE (line 196) | BX_CPP_INLINE void xmm_addsubpd(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 202) | BX_CPP_INLINE void xmm_addsubpd_mask(BxPackedXmmRegister *op1, const BxP...
  function BX_CPP_INLINE (line 217) | BX_CPP_INLINE void xmm_haddps(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 225) | BX_CPP_INLINE void xmm_haddps_mask(BxPackedXmmRegister *op1, const BxPac...
  function BX_CPP_INLINE (line 248) | BX_CPP_INLINE void xmm_haddpd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 254) | BX_CPP_INLINE void xmm_haddpd_mask(BxPackedXmmRegister *op1, const BxPac...
  function BX_CPP_INLINE (line 267) | BX_CPP_INLINE void xmm_hsubps(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 275) | BX_CPP_INLINE void xmm_hsubps_mask(BxPackedXmmRegister *op1, const BxPac...
  function BX_CPP_INLINE (line 298) | BX_CPP_INLINE void xmm_hsubpd(BxPackedXmmRegister *op1, const BxPackedXm...
  function BX_CPP_INLINE (line 304) | BX_CPP_INLINE void xmm_hsubpd_mask(BxPackedXmmRegister *op1, const BxPac...
  function BX_CPP_INLINE (line 319) | BX_CPP_INLINE void xmm_minps(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 326) | BX_CPP_INLINE void xmm_minps_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 336) | BX_CPP_INLINE void xmm_minpd(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 343) | BX_CPP_INLINE void xmm_minpd_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 353) | BX_CPP_INLINE void xmm_maxps(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 360) | BX_CPP_INLINE void xmm_maxps_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 370) | BX_CPP_INLINE void xmm_maxpd(BxPackedXmmRegister *op1, const BxPackedXmm...
  function BX_CPP_INLINE (line 377) | BX_CPP_INLINE void xmm_maxpd_mask(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 389) | BX_CPP_INLINE void xmm_fmaddps(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 396) | BX_CPP_INLINE void xmm_fmaddps_mask(BxPackedXmmRegister *op1, const BxPa...
  function BX_CPP_INLINE (line 406) | BX_CPP_INLINE void xmm_fmaddpd(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 413) | BX_CPP_INLINE void xmm_fmaddpd_mask(BxPackedXmmRegister *op1, const BxPa...
  function BX_CPP_INLINE (line 423) | BX_CPP_INLINE void xmm_fmsubps(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 430) | BX_CPP_INLINE void xmm_fmsubps_mask(BxPackedXmmRegister *op1, const BxPa...
  function BX_CPP_INLINE (line 440) | BX_CPP_INLINE void xmm_fmsubpd(BxPackedXmmRegister *op1, const BxPackedX...
  function BX_CPP_INLINE (line 447) | BX_CPP_INLINE void xmm_fmsubpd_mask(BxPackedXmmRegister *op1, const BxPa...
  function BX_CPP_INLINE (line 457) | BX_CPP_INLINE void xmm_fmaddsubps(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 465) | BX_CPP_INLINE void xmm_fmaddsubps_mask(BxPackedXmmRegister *op1, const B...
  function BX_CPP_INLINE (line 488) | BX_CPP_INLINE void xmm_fmaddsubpd(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 494) | BX_CPP_INLINE void xmm_fmaddsubpd_mask(BxPackedXmmRegister *op1, const B...
  function BX_CPP_INLINE (line 507) | BX_CPP_INLINE void xmm_fmsubaddps(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 515) | BX_CPP_INLINE void xmm_fmsubaddps_mask(BxPackedXmmRegister *op1, const B...
  function BX_CPP_INLINE (line 538) | BX_CPP_INLINE void xmm_fmsubaddpd(BxPackedXmmRegister *op1, const BxPack...
  function BX_CPP_INLINE (line 544) | BX_CPP_INLINE void xmm_fmsubaddpd_mask(BxPackedXmmRegister *op1, const B...
  function BX_CPP_INLINE (line 557) | BX_CPP_INLINE void xmm_fnmaddps(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 564) | BX_CPP_INLINE void xmm_fnmaddps_mask(BxPackedXmmRegister *op1, const BxP...
  function BX_CPP_INLINE (line 574) | BX_CPP_INLINE void xmm_fnmaddpd(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 581) | BX_CPP_INLINE void xmm_fnmaddpd_mask(BxPackedXmmRegister *op1, const BxP...
  function BX_CPP_INLINE (line 591) | BX_CPP_INLINE void xmm_fnmsubps(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 598) | BX_CPP_INLINE void xmm_fnmsubps_mask(BxPackedXmmRegister *op1, const BxP...
  function BX_CPP_INLINE (line 608) | BX_CPP_INLINE void xmm_fnmsubpd(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 615) | BX_CPP_INLINE void xmm_fnmsubpd_mask(BxPackedXmmRegister *op1, const BxP...
  function BX_CPP_INLINE (line 699) | BX_CPP_INLINE void xmm_scalefps(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 706) | BX_CPP_INLINE void xmm_scalefps_mask(BxPackedXmmRegister *op1, const BxP...
  function BX_CPP_INLINE (line 716) | BX_CPP_INLINE void xmm_scalefpd(BxPackedXmmRegister *op1, const BxPacked...
  function BX_CPP_INLINE (line 723) | BX_CPP_INLINE void xmm_scalefpd_mask(BxPackedXmmRegister *op1, const BxP...

FILE: cpu/smm.cc
  function BX_CPP_INLINE (line 404) | BX_CPP_INLINE Bit64u SMRAM_FIELD64(const Bit32u *saved_state, unsigned h...

FILE: cpu/smm.h
  type BX_SMM_State (line 72) | struct BX_SMM_State
  type SMMRAM_Fields (line 107) | enum SMMRAM_Fields {
  type SMMRAM_Fields (line 204) | enum SMMRAM_Fields {

FILE: cpu/sse.cc
  function BX_CPP_INLINE (line 628) | BX_CPP_INLINE Bit64u xmm_extrq(Bit64u src, unsigned shift, unsigned len)
  function BX_CPP_INLINE (line 642) | BX_CPP_INLINE Bit64u xmm_insertq(Bit64u dest, Bit64u src, unsigned shift...

FILE: cpu/sse_move.cc
  function Bit8u (line 46) | Bit8u BX_CPU_C::pack_FPU_TW(Bit16u twd)
  function Bit16u (line 62) | Bit16u BX_CPU_C::unpack_FPU_TW(Bit16u tag_byte)

FILE: cpu/sse_pfp.cc
  function float_status_t (line 53) | float_status_t mxcsr_to_softfloat_status_word(bx_mxcsr_t mxcsr)

FILE: cpu/sse_rcp.cc
  function float32 (line 293) | float32 approximate_rcp(float32 op)
  function float32 (line 639) | float32 approximate_rsqrt(float32 op)

FILE: cpu/sse_string.cc
  function compare_strings (line 32) | static void compare_strings(Bit8u BoolRes[16][16], const BxPackedXmmRegi...
  function find_eos32 (line 124) | static unsigned find_eos32(Bit32s reg32, Bit8u imm)
  function find_eos64 (line 137) | static unsigned find_eos64(Bit64s reg64, Bit8u imm)
  function find_eos (line 150) | static unsigned find_eos(const BxPackedXmmRegister &op, Bit8u imm)
  function override_if_data_invalid (line 166) | static bool override_if_data_invalid(bool val, bool i_valid, bool j_vali...
  function Bit16u (line 202) | static Bit16u aggregate(Bit8u BoolRes[16][16], unsigned len1, unsigned l...

FILE: cpu/svm.cc
  function BX_CPP_INLINE (line 56) | BX_CPP_INLINE Bit64u CanonicalizeAddress(Bit64u laddr)
  function BX_CPP_INLINE (line 66) | BX_CPP_INLINE Bit8u BX_CPU_C::vmcb_read8(unsigned offset)
  function BX_CPP_INLINE (line 83) | BX_CPP_INLINE Bit16u BX_CPU_C::vmcb_read16(unsigned offset)
  function BX_CPP_INLINE (line 100) | BX_CPP_INLINE Bit32u BX_CPU_C::vmcb_read32(unsigned offset)
  function BX_CPP_INLINE (line 117) | BX_CPP_INLINE Bit64u BX_CPU_C::vmcb_read64(unsigned offset)
  function BX_CPP_INLINE (line 134) | BX_CPP_INLINE void BX_CPU_C::vmcb_write8(unsigned offset, Bit8u val_8)
  function BX_CPP_INLINE (line 150) | BX_CPP_INLINE void BX_CPU_C::vmcb_write16(unsigned offset, Bit16u val_16)
  function BX_CPP_INLINE (line 166) | BX_CPP_INLINE void BX_CPU_C::vmcb_write32(unsigned offset, Bit32u val_32)
  function BX_CPP_INLINE (line 182) | BX_CPP_INLINE void BX_CPU_C::vmcb_write64(unsigned offset, Bit64u val_64)
  function BX_CPP_INLINE (line 198) | BX_CPP_INLINE void BX_CPU_C::svm_segment_read(bx_segment_reg_t *seg, uns...
  function BX_CPP_INLINE (line 210) | BX_CPP_INLINE void BX_CPU_C::svm_segment_write(bx_segment_reg_t *seg, un...
  type BxExceptionInfo (line 706) | struct BxExceptionInfo

FILE: cpu/svm.h
  type SVM_intercept_codes (line 31) | enum SVM_intercept_codes {
  type SVM_HOST_STATE (line 242) | typedef struct bx_SVM_HOST_STATE
  type SVM_GUEST_STATE (line 262) | typedef struct bx_SVM_GUEST_STATE
  type SVM_CONTROLS (line 288) | typedef struct bx_SVM_CONTROLS
  type VMCB_CACHE (line 332) | typedef struct bx_VMCB_CACHE

FILE: cpu/tasking.cc
  function Bit64u (line 917) | Bit64u BX_CPU_C::get_RSP_from_TSS(unsigned pl)

FILE: cpu/tlb.h
  function BX_CPP_INLINE (line 39) | BX_CPP_INLINE Bit32u PAGE_OFFSET(bx_address laddr)
  function BX_CPP_INLINE (line 44) | BX_CPP_INLINE bx_address LPFOf(bx_address laddr) { return laddr & LPF_MA...
  function BX_CPP_INLINE (line 45) | BX_CPP_INLINE bx_address PPFOf(bx_phy_address paddr) { return paddr & PP...
  function BX_CPP_INLINE (line 47) | BX_CPP_INLINE bx_address AlignedAccessLPFOf(bx_address laddr, unsigned a...
  type bx_ptr_equiv_t (line 64) | typedef bx_ptr_equiv_t bx_hostpageaddr_t;
  type BxMemtype (line 143) | typedef unsigned BxMemtype;
  type bx_TLB_entry (line 152) | struct bx_TLB_entry
  function BX_CPP_INLINE (line 170) | BX_CPP_INLINE void invalidate() {
  function BX_CPP_INLINE (line 199) | BX_CPP_INLINE void flush(void)
  function BX_CPP_INLINE (line 210) | BX_CPP_INLINE void flushNonGlobal(void)
  function BX_CPP_INLINE (line 228) | BX_CPP_INLINE void invlpg(bx_address laddr)

FILE: cpu/vapic.cc
  function Bit32u (line 66) | Bit32u BX_CPU_C::VMX_Read_Virtual_APIC(unsigned offset)
  function bx_phy_address (line 84) | bx_phy_address BX_CPU_C::VMX_Virtual_Apic_Read(bx_phy_address paddr, uns...
  function BX_CPP_INLINE (line 241) | BX_CPP_INLINE bool vapic_read_vector(Bit32u *arr, Bit8u vector)
  function BX_CPP_INLINE (line 248) | BX_CPP_INLINE void BX_CPU_C::vapic_set_vector(unsigned arrbase, Bit8u ve...
  function BX_CPP_INLINE (line 256) | BX_CPP_INLINE Bit8u BX_CPU_C::vapic_clear_and_find_highest_priority_int(...
  function else (line 436) | else if (is_pending(BX_EVENT_VMX_VEOI_UPDATE)) {

FILE: cpu/vmcs.cc
  function BX_CPP_INLINE (line 52) | BX_CPP_INLINE Bit32u vmcs_encoding(Bit32u type, Bit32u field)
  type bx_VMX_Cap (line 532) | struct bx_VMX_Cap
  type bx_VMX_Cap (line 569) | struct bx_VMX_Cap
  type bx_VMX_Cap (line 585) | struct bx_VMX_Cap
  type bx_VMX_Cap (line 611) | struct bx_VMX_Cap
  type bx_VMX_Cap (line 689) | struct bx_VMX_Cap
  type bx_VMX_Cap (line 797) | struct bx_VMX_Cap
  type bx_VMX_Cap (line 851) | struct bx_VMX_Cap

FILE: cpu/vmexit.cc
  function Bit32u (line 36) | Bit32u gen_instruction_info(bxInstruction_c *i, Bit32u reason, bool rw_f...
  function Bit16u (line 660) | Bit16u BX_CPU_C::VMX_Get_Current_VPID(void)
  type ve_info (line 745) | struct ve_info {

FILE: cpu/vmx.cc
  function BX_CPP_INLINE (line 283) | BX_CPP_INLINE bx_address BX_CPP_AttrRegparmN(1) BX_CPU_C::VMread_natural...
  function BX_CPP_INLINE (line 293) | BX_CPP_INLINE bx_address BX_CPP_AttrRegparmN(1) BX_CPU_C::VMread_natural...
  function BX_CPP_INLINE (line 398) | BX_CPP_INLINE void BX_CPU_C::VMfail(Bit32u error_code)
  function Bit32u (line 423) | Bit32u BX_CPU_C::VMXReadRevisionID(bx_phy_address pAddr)
  function BX_CPP_INLINE (line 479) | BX_CPP_INLINE static Bit32u rotate_r(Bit32u val_32)
  function BX_CPP_INLINE (line 484) | BX_CPP_INLINE static Bit32u rotate_l(Bit32u val_32)
  function BX_CPP_INLINE (line 490) | BX_CPP_INLINE static Bit32u vmx_pack_ar_field(Bit32u ar_field, VMCS_Acce...
  function BX_CPP_INLINE (line 512) | BX_CPP_INLINE static Bit32u vmx_unpack_ar_field(Bit32u ar_field, VMCS_Ac...
  type BxExceptionInfo (line 539) | struct BxExceptionInfo
  function VMX_error_code (line 563) | VMX_error_code BX_CPU_C::VMenterLoadCheckVmControls(void)
  function VMX_error_code (line 1052) | VMX_error_code BX_CPU_C::VMenterLoadCheckHostState(void)
  function BX_CPP_INLINE (line 1296) | BX_CPP_INLINE bool IsLimitAccessRightsConsistent(Bit32u limit, Bit32u ar)
  function Bit32u (line 1317) | Bit32u BX_CPU_C::VMenterLoadCheckGuestState(Bit64u *qualification)
  function Bit32u (line 2241) | Bit32u BX_CPU_C::LoadMSRs(Bit32u msr_cnt, bx_phy_address pAddr)
  function Bit32u (line 2282) | Bit32u BX_CPU_C::StoreMSRs(Bit32u msr_cnt, bx_phy_address pAddr)

FILE: cpu/vmx.h
  type VMX_error_code (line 39) | enum VMX_error_code {
  type VMX_vmexit_reason (line 71) | enum VMX_vmexit_reason {
  type VMX_vmentry_error (line 163) | enum VMX_vmentry_error {
  type VMX_vmabort_code (line 171) | enum VMX_vmabort_code {
  type VMFunctions (line 186) | enum VMFunctions {
  type VMCS_Access_Rights_Format (line 492) | enum VMCS_Access_Rights_Format {
  function class (line 501) | class VMCS_Mapping {
  type VMX_state (line 556) | enum VMX_state {
  type VMCS_GUEST_STATE (line 565) | typedef struct bx_VMCS_GUEST_STATE
  type VMCS_HOST_STATE (line 612) | typedef struct bx_VMCS_HOST_STATE
  type VMX_CAP (line 654) | typedef struct bx_VMX_Cap
  type VMX_PLE (line 674) | struct VMX_PLE {
  type VMCS_CACHE (line 683) | typedef struct bx_VMCS
  type VMX_INVEPT_INVVPID_type (line 1183) | enum VMX_INVEPT_INVVPID_type {

FILE: cpu/wide_int.cc
  function partial_add (line 26) | static unsigned partial_add(Bit32u *sum, Bit32u b)
  function long_mul (line 33) | void long_mul(Bit128u *product, Bit64u op1, Bit64u op2)
  function long_neg (line 65) | void long_neg(Bit128s *n)
  function long_imul (line 73) | void long_imul(Bit128s *product, Bit64s op1, Bit64s op2)
  function long_shl (line 84) | void long_shl(Bit128u *a)
  function long_shr (line 92) | void long_shr(Bit128u *a)
  function long_sub (line 101) | unsigned long_sub(Bit128u *a,Bit128u *b)
  function long_le (line 111) | int long_le(Bit128u *a,Bit128u *b)
  function long_div (line 120) | void long_div(Bit128u *quotient,Bit64u *remainder,const Bit128u *dividen...
  function long_idiv (line 180) | void long_idiv(Bit128s *quotient,Bit64s *remainder,Bit128s *dividend,Bit...

FILE: cpu/wide_int.h
  type Bit128u (line 30) | typedef
  type Bit128s (line 35) | typedef
  type Bit128u (line 41) | typedef
  type Bit128s (line 46) | typedef

FILE: cpu/xmm.h
  type BxPackedZmmRegister (line 192) | typedef BxPackedZmmRegister BxPackedAvxRegister;
  type BxPackedYmmRegister (line 195) | typedef BxPackedYmmRegister BxPackedAvxRegister;
  function BX_CPP_INLINE (line 383) | BX_CPP_INLINE int is_clear(const BxPackedXmmRegister *r)
  function BX_CPP_INLINE (line 404) | BX_CPP_INLINE float32 convert_to_QNaN(float32 op)
  function BX_CPP_INLINE (line 410) | BX_CPP_INLINE float64 convert_to_QNaN(float64 op)
  function bx_mxcsr_t (line 471) | struct BOCHSAPI bx_mxcsr_t

FILE: crc.cc
  function init_crc32 (line 41) | static void init_crc32(void)
  function Bit32u (line 53) | Bit32u crc32(const Bit8u *buf, int len)

FILE: extplugin.h
  type _plugin_t (line 49) | struct _plugin_t
  type plugin_t (line 51) | typedef struct _plugin_t

FILE: gdbstub.cc
  function hex (line 61) | static int hex(char ch)
  function flush_debug_buffer (line 71) | static void flush_debug_buffer()
  function put_debug_char (line 85) | static void put_debug_char(char ch)
  function get_debug_char (line 92) | static char get_debug_char(void)
  function put_reply (line 103) | static void put_reply(const char* buffer)
  function get_command (line 130) | static void get_command(char* buffer)
  function hex2mem (line 188) | void hex2mem(char* buf, unsigned char* mem, int count)
  function hexdigit (line 212) | int hexdigit(char c)
  function Bit64u (line 222) | Bit64u read_little_endian_hex(char *&buf)
  function bx_gdbstub_break (line 255) | void bx_gdbstub_break(void)
  function bx_gdbstub_check (line 260) | int bx_gdbstub_check(unsigned int eip)
  function remove_breakpoint (line 324) | static int remove_breakpoint(Bit64u addr, int len)
  function insert_breakpoint (line 343) | static void insert_breakpoint(Bit64u addr)
  function do_pc_breakpoint (line 364) | static void do_pc_breakpoint(int insert, Bit64u addr, int len)
  function do_breakpoint (line 373) | static void do_breakpoint(int insert, char* buffer)
  function write_signal (line 391) | static void write_signal(char* buf, int signal)
  function access_linear (line 398) | static int access_linear(Bit64u laddress,
  function debug_loop (line 433) | static void debug_loop(void)

FILE: gui/amigagui.h
  type IntuitionBase (line 33) | struct IntuitionBase
  type GfxBase (line 34) | struct GfxBase
  type Library (line 35) | struct Library
  type Library (line 36) | struct Library
  type Library (line 38) | struct Library
  type Library (line 39) | struct Library
  type Library (line 40) | struct Library
  type Library (line 41) | struct Library
  type Screen (line 42) | struct Screen
  type Window (line 43) | struct Window
  type TextFont (line 44) | struct TextFont
  type IOStdReq (line 46) | struct IOStdReq
  type MsgPort (line 47) | struct MsgPort
  type Interrupt (line 48) | struct Interrupt
  type TextAttr (line 57) | struct TextAttr
  type Image (line 63) | struct Image
  type Gadget (line 64) | struct Gadget

FILE: gui/amigaos.cc
  class bx_amigaos_gui_c (line 38) | class bx_amigaos_gui_c : public bx_gui_c {
    method bx_amigaos_gui_c (line 40) | bx_amigaos_gui_c (void) {}
    type IFFHandle (line 53) | struct IFFHandle
    method ULONG (line 56) | static ULONG screenreqfunc(struct Hook *hook, struct ScreenModeRequest...
    method LONG (line 61) | LONG DispatcherFunc(void)
    type InputEvent (line 67) | struct InputEvent
    type InputEvent (line 69) | struct InputEvent
    type InputEvent (line 69) | struct InputEvent
    method setup_inputhandler (line 114) | void setup_inputhandler(void)
    method open_screen (line 151) | bool open_screen(void)
    type IntuitionBase (line 312) | struct IntuitionBase
    type GfxBase (line 318) | struct GfxBase
    type IntuiMessage (line 360) | struct IntuiMessage
    type Gadget (line 362) | struct Gadget
    type Message (line 369) | struct Message
  type IFFHandle (line 471) | struct IFFHandle
  type ContextNode (line 473) | struct ContextNode
  type IFFHandle (line 541) | struct IFFHandle
  type NewGadget (line 712) | struct NewGadget
  type Library (line 802) | struct Library
  type Library (line 804) | struct Library
  type IORequest (line 816) | struct IORequest
  type IORequest (line 817) | struct IORequest
  type IORequest (line 821) | struct IORequest
  type Interrupt (line 823) | struct Interrupt
  function show_pointer (line 828) | void show_pointer(void)
  function hide_pointer (line 833) | void hide_pointer(void)
  function freeiff (line 849) | void freeiff(struct IFFHandle *iff)

FILE: gui/carbon.cc
  type __bx_tool_pixmap (line 157) | struct __bx_tool_pixmap {
  class bx_carbon_gui_c (line 213) | class bx_carbon_gui_c : public bx_gui_c {
    method bx_carbon_gui_c (line 215) | bx_carbon_gui_c (void) {}
  function pascal (line 230) | pascal OSStatus CEvtHandleWindowToolCommand (EventHandlerCallRef nextHan...
  function pascal (line 250) | pascal OSStatus CEvtHandleWindowToolUpdate (EventHandlerCallRef nextHand...
  function pascal (line 259) | pascal OSStatus CEvtHandleWindowBackdropUpdate (EventHandlerCallRef next...
  function pascal (line 278) | pascal OSStatus CEvtHandleWindowEmulatorClick (EventHandlerCallRef nextH...
  function pascal (line 299) | pascal OSStatus CEvtHandleWindowEmulatorUpdate (EventHandlerCallRef next...
  function pascal (line 316) | pascal OSStatus CEvtHandleWindowEmulatorKeys (EventHandlerCallRef nextHa...
  function pascal (line 342) | pascal OSStatus CEvtHandleApplicationAppleEvent (EventHandlerCallRef nex...
  function pascal (line 364) | pascal OSStatus CEvtHandleApplicationMouseMoved (EventHandlerCallRef nex...
  function pascal (line 373) | pascal OSStatus CEvtHandleApplicationMouseUp (EventHandlerCallRef nextHa...
  function pascal (line 390) | pascal OSStatus CEvtHandleApplicationMenuClick (EventHandlerCallRef next...
  function pascal (line 414) | pascal OSStatus CEvtHandleApplicationMenus (EventHandlerCallRef nextHand...
  function MacPanic (line 533) | void MacPanic(void)
  function InitToolbox (line 538) | void InitToolbox(void)
  function pascal (line 558) | static pascal OSErr QuitAppleEventHandler(const AppleEvent *appleEvt, Ap...
  function CreateTile (line 565) | void CreateTile(void)
  function CreateMenus (line 643) | void CreateMenus(void)
  function CreateWindows (line 681) | void CreateWindows(void)
  function OSStatus (line 846) | OSStatus HandleKey(EventRef theEvent, Bit32u keyState)
  function BX_CPP_INLINE (line 913) | BX_CPP_INLINE void ResetPointer(void)
  function HidePointer (line 1550) | void HidePointer()
  function ShowPointer (line 1567) | void ShowPointer()
  function UpdateTools (line 1578) | void UpdateTools()
  function HideTools (line 1638) | void HideTools()
  function ShowTools (line 1659) | void ShowTools()
  function HideMenubar (line 1681) | void HideMenubar()
  function ShowMenubar (line 1700) | void ShowMenubar()
  function HideConsole (line 1715) | void HideConsole()
  function ShowConsole (line 1721) | void ShowConsole()
  function CreateKeyMap (line 1732) | void CreateKeyMap(void)
  function CreateVGAFont (line 1883) | void CreateVGAFont(unsigned char *vga_charmap)
  function BitMap (line 1913) | BitMap *CreateBitMap(unsigned width,  unsigned height)
  function BxEvent (line 1975) | static BxEvent * CarbonSiminterfaceCallback (void *theClass, BxEvent *ev...

FILE: gui/enh_dbg.cc
  type ASKTEXT (line 104) | struct ASKTEXT
  function MakeXlatTables (line 256) | void MakeXlatTables()
  function DoMatch (line 280) | int DoMatch(const char *text, const char *p, bool IsCaseSensitive)
  function VMatching (line 334) | int VMatching(const char *text, const char *p, bool IsCaseSensitive)
  function IsMatching (line 343) | int IsMatching(const char *text, const char *p, bool IsCaseSensitive)
  function SetHorzLimits (line 350) | void SetHorzLimits()
  function DockResize (line 372) | void DockResize (int DestIdx, Bit32u ParentX)
  function upr (line 417) | void upr(char* d)
  function ShowEflags (line 434) | void ShowEflags(char *buf)
  function UpdateStatus (line 462) | void UpdateStatus()
  function ReadBxLMem (line 522) | bool ReadBxLMem(Bit64u laddr, unsigned len, Bit8u *buf)
  function Bit64u (line 528) | Bit64u cvthex(char *p, Bit64u errval)
  function Bit64u (line 546) | Bit64u cvt64(char *nstr, bool negok)
  function isSSDisasm (line 572) | bool isSSDisasm(char *s)
  function ParseIDText (line 598) | void ParseIDText(const char *x)
  function FillRegs (line 681) | void FillRegs()
  function ParseBkpt (line 715) | void ParseBkpt()
  function FillSSE (line 754) | int FillSSE(int LineCount)
  function FillMMX (line 814) | int FillMMX(int LineCount)
  function FillDebugRegs (line 885) | int FillDebugRegs(int itemnum)
  function FillAsm (line 923) | void FillAsm(Bit64u LAddr, int MaxLines)
  function LoadRegList (line 1015) | void LoadRegList()
  function doAsmScroll (line 1161) | void doAsmScroll()
  function CanDoLA (line 1200) | void CanDoLA(Bit64u *h)
  function InitRegObjects (line 1219) | void InitRegObjects()
  function doUpdate (line 1361) | void doUpdate()
  function FillGDT (line 1394) | void FillGDT()
  function FillIDT (line 1500) | void FillIDT()
  function AddPagingLine (line 1592) | void AddPagingLine(int LC, char *pa_lin, char *pa_phy)
  function FillPAGE (line 1618) | void FillPAGE()
  function FillStack (line 1679) | void FillStack()
  function prtbrk (line 1852) | void prtbrk (Bit32u seg, Bit64u addy, unsigned int id, bool enabled, cha...
  function FillBrkp (line 1869) | void FillBrkp()
  function FillDataX (line 1997) | void FillDataX(char* t, char C, bool doHex)
  function ShowData (line 2022) | void ShowData()
  function MakeRDnames (line 2090) | void MakeRDnames()
  function DoAllInit (line 2113) | void DoAllInit()
  function RefreshDataWin (line 2171) | void RefreshDataWin()
  function OnBreak (line 2203) | void OnBreak()
  function HexFromAsk (line 2254) | static int HexFromAsk(const char* ask, char* b)       // this routine co...
  function FindHex (line 2271) | static bool FindHex(const unsigned char* b1,int bs,const unsigned char* ...
  function AskText (line 2291) | bool AskText(const char *title, const char *prompt, char *DefaultText)
  function InitDataDump (line 2301) | bool InitDataDump(bool isLinear, Bit64u newDS)
  function ToggleSeeReg (line 2355) | void ToggleSeeReg(int cmd)
  function doNewWSize (line 2369) | void doNewWSize(int i)
  function ToggleGDT (line 2392) | void ToggleGDT()
  function ToggleIDT (line 2412) | void ToggleIDT()
  function TogglePAGE (line 2432) | void TogglePAGE()
  function ToggleStack (line 2448) | void ToggleStack()
  function ToggleBrkpt (line 2465) | void ToggleBrkpt()
  function TogglePTree (line 2481) | void TogglePTree()
  function doFind (line 2497) | void doFind()
  function doStepN (line 2554) | void doStepN()
  function doDisAsm (line 2573) | void doDisAsm()
  function SetBreak (line 2601) | void SetBreak(int OneEntry)
  function DelWatchpoint (line 2662) | void DelWatchpoint(bx_watchpoint *wp_array, unsigned *TotEntries, int i)
  function SetWatchpoint (line 2669) | void SetWatchpoint(unsigned *num_watchpoints, bx_watchpoint *watchpoint)
  function ChangeReg (line 2704) | void ChangeReg()
  function SetMemLine (line 2735) | void SetMemLine(int L)
  function HotKey (line 2813) | int HotKey (int ww, int Alt, int Shift, int Control)
  function ActivateMenuItem (line 3092) | void ActivateMenuItem (int cmd)
  function BxEvent (line 3399) | BxEvent *enh_dbg_notify_callback(void *unused, BxEvent *event)
  function strip_whitespace (line 3444) | static size_t strip_whitespace(char *s)
  function ReadSettings (line 3459) | void ReadSettings()
  function WriteSettings (line 3549) | void WriteSettings()
  function InitDebugDialog (line 3579) | void InitDebugDialog()
  function CloseDebugDialog (line 3590) | void CloseDebugDialog()

FILE: gui/enh_dbg.h
  type ASKTEXT (line 213) | struct ASKTEXT {
  type ASKTEXT (line 219) | struct ASKTEXT

FILE: gui/font/vga.bitmap.h
  type bx_fontcharbitmap_t (line 23) | typedef struct {

FILE: gui/gtk_enh_dbg_osdep.cc
  function ShowAskDialog (line 219) | bool ShowAskDialog()
  function InitMenus (line 273) | void InitMenus()
  function InsertListRow (line 459) | void InsertListRow(char *ColumnText[], int ColumnCount, int listnum, int...
  function ShowFW (line 488) | void ShowFW()
  function Invalidate (line 494) | void Invalidate(int i)
  function SetStatusText (line 502) | void SetStatusText(int column, const char *buf)
  function GetLIText (line 508) | void GetLIText(int listnum, int itemnum, int column, char *buf)
  function GetInputEntry (line 523) | void GetInputEntry(char *buf)
  function SetLIState (line 531) | void SetLIState(int listnum, int itemnum, bool Select)
  function GetNextSelectedLI (line 546) | int GetNextSelectedLI(int listnum, int StartPt)
  function GetASMTopIdx (line 578) | int GetASMTopIdx()
  function ScrollASM (line 598) | void ScrollASM(int pixels)
  function ToggleWSchecks (line 606) | void ToggleWSchecks(int newWS, int oldWS)
  function RepackLists (line 622) | void RepackLists(int FirstListIndex)
  function MoveLists (line 633) | void MoveLists()
  function VSizeChange (line 672) | void VSizeChange()
  function TakeInputFocus (line 708) | void TakeInputFocus()
  function MakeListsGray (line 713) | void MakeListsGray()
  function SetOutWinTxt (line 729) | void SetOutWinTxt()
  function SelectHistory (line 736) | void SelectHistory(int UpDown)
  function ClearInputWindow (line 743) | void ClearInputWindow()
  function SetMenuCheckmark (line 749) | void SetMenuCheckmark (int set, int ChkIdx)
  function GrayMenuItem (line 762) | void GrayMenuItem (int flag, int CmdIndex)
  function SpecialInit (line 774) | void SpecialInit()
  function RedrawColumns (line 801) | void RedrawColumns(int listnum)
  function SetAutoSize6_9 (line 806) | void SetAutoSize6_9()
  function ShowDListCols (line 815) | void ShowDListCols (int totcols)
  function StartListUpdate (line 826) | void StartListUpdate(int listnum)
  function EndListUpdate (line 961) | void EndListUpdate(int listnum)
  function DispMessage (line 998) | void DispMessage(const char *msg, const char *title)
  function HideTree (line 1012) | void HideTree()
  function ShowMemData (line 1024) | void ShowMemData(bool initting)
  function FillPTree (line 1055) | void FillPTree()
  function MakeTreeChild (line 1076) | void MakeTreeChild (TreeParent *h_P, int ChildCount, TreeParent *h_TC)
  function update_font (line 1084) | void update_font()
  function NewFont (line 1104) | bool NewFont()
  function sizing_cancel (line 1126) | void sizing_cancel()
  function enter_resize_mode (line 1146) | void enter_resize_mode()
  function Set_PreDock (line 1169) | void Set_PreDock(int ListNum, GdkEventButton *event)
  function gboolean (line 1183) | gboolean RegMouseDown_cb(GtkWidget *widget, GdkEventButton *event, gpoin...
  function gboolean (line 1213) | gboolean AsmMouseDown_cb(GtkWidget *widget, GdkEventButton *event, gpoin...
  function gboolean (line 1244) | gboolean MemMouseDown_cb(GtkWidget *widget, GdkEventButton *event, gpoin...
  function CPUb_cb (line 1313) | void CPUb_cb(GtkWidget *widget, gpointer CPUnum)    // "CPUnum" is the v...
  function nbCmd_cb (line 1334) | void nbCmd_cb(GtkWidget *widget, gpointer CmdIdx)       // "CmdIdx" is t...
  function Cmd_cb (line 1342) | void Cmd_cb(GtkWidget *widget, gpointer CmdIdx)     // "CmdIdx" is the v...
  function Close_cb (line 1353) | void Close_cb(GtkWidget *widget, gpointer data)
  function gboolean (line 1387) | gboolean keydown_event_cb(GtkWidget *widget, GdkEventKey *event, gpointe...
  function gboolean (line 1430) | gboolean redirect_keydown(GtkWidget *widget, GdkEvent *event, gpointer d...
  function gboolean (line 1439) | gboolean TblSizeEvent(GtkWidget *widget, GdkEventConfigure *event, gpoin...
  function Reg_DblClick (line 1487) | void Reg_DblClick (GtkTreeView *treeview, GtkTreePath *path, GtkTreeView...
  function Asm_DblClick (line 1495) | void Asm_DblClick (GtkTreeView *treeview, GtkTreePath *path, GtkTreeView...
  function Mem_DblClick (line 1503) | void Mem_DblClick (GtkTreeView *treeview, GtkTreePath *path, GtkTreeView...
  function gboolean (line 1557) | gboolean LvLeave(GtkWidget *widget, GdkEventCrossing *event, gpointer data)
  function gboolean (line 1579) | gboolean LV_MouseMove(GtkWidget *widget, GdkEventMotion *event, gpointer...
  function gboolean (line 1602) | gboolean LV_MouseDown(GtkWidget *widget, GdkEventButton *event, gpointer...
  function gboolean (line 1610) | gboolean VsEnter(GtkWidget *widget, GdkEventCrossing *event, gpointer Se...
  function gboolean (line 1630) | gboolean LV_MouseUp(GtkWidget *widget, GdkEventButton *event, gpointer d...
  function gboolean (line 1639) | gboolean LEB_MouseUp(GtkWidget *widget, GdkEventButton *event, gpointer ...
  function AttachSignals (line 1706) | void AttachSignals()
  function gboolean (line 1810) | static gboolean VGAWrefreshTick(GtkWidget *widget)
  function gboolean (line 1854) | static gboolean BochsUpdateTick(GtkWidget *widget)
  function HitBreak (line 1876) | void HitBreak()
  function ListClr_PaintCb (line 1888) | void ListClr_PaintCb(GtkTreeViewColumn *col,
  function MakeList (line 2044) | void MakeList(int listnum, const char *ColNameArray[])
  function MakeGTKthreads (line 2141) | void MakeGTKthreads()
  function OSInit (line 2149) | bool OSInit()
  function CloseDialog (line 2391) | void CloseDialog()
  function MakeBL (line 2399) | void MakeBL(TreeParent *h_P, bx_param_c *p)
  function ParseOSSettings (line 2437) | bool ParseOSSettings(const char *param, const char *value)
  function WriteOSSettings (line 2462) | void WriteOSSettings(FILE *fd)

FILE: gui/gui.cc
  function Bit32u (line 107) | Bit32u get_user_key(char *key)
  function Bit8u (line 121) | Bit8u reverse_bitorder(Bit8u b)
  function Bit32u (line 468) | Bit32u bx_gui_c::set_snapshot_mode(bool mode)
  function write (line 607) | write(fd, BX_GUI_THIS palette, 256 * 4);
  function else (line 630) | else if (BX_GUI_THIS guest_bpp == 32) {
  function Bit8u (line 730) | Bit8u bx_gui_c::get_modifier_keys(void)
  function Bit8u (line 739) | Bit8u bx_gui_c::set_modifier_keys(Bit8u modifier, bool pressed)
  function Bit8u (line 1027) | Bit8u bx_gui_c::get_mouse_headerbar_id()
  function bx_svga_tileinfo_t (line 1048) | bx_svga_tileinfo_t *bx_gui_c::graphics_tile_info(bx_svga_tileinfo_t *info)
  function Bit8u (line 1091) | Bit8u *bx_gui_c::graphics_tile_get(unsigned x0, unsigned y0,
  function bx_svga_tileinfo_t (line 1384) | bx_svga_tileinfo_t * bx_gui_c::graphics_tile_info_common(bx_svga_tileinf...

FILE: gui/gui.h
  type bx_vga_tminfo_t (line 73) | typedef struct {
  type bx_svga_tileinfo_t (line 87) | typedef struct {
  function virtual (line 137) | virtual void set_font(bool lg) {}
  function virtual (line 138) | virtual void draw_char(Bit8u ch, Bit8u fc, Bit8u bc, Bit16u xc, Bit16u yc,
  function virtual (line 142) | virtual void statusbar_setitem_specific(int element, bool active, bool w...
  function virtual (line 143) | virtual void set_tooltip(unsigned hbar_id, const char *tip) {}
  function virtual (line 151) | virtual void set_display_mode (disp_mode_t newmode) { /* default=no acti...
  function virtual (line 155) | virtual Bit32u get_sighandler_mask () {return 0;}
  function virtual (line 157) | virtual void sighandler (int sig) {}
  function virtual (line 160) | virtual void sim_is_idle(void) {}
  function virtual (line 166) | virtual void set_mouse_mode_absxy(bool mode) {}
  function virtual (line 168) | virtual void set_console_edit_mode(bool mode) {}
  function Bit8u (line 188) | Bit8u* get_snapshot_buffer(void) {return snapshot_buffer;}
  function has_gui_console (line 207) | bool has_gui_console(void) {return console.present;}
  function console_running (line 208) | bool console_running(void) {return console.running;}
  function has_gui_console (line 214) | bool has_gui_console(void) {return 0;}
  function console_running (line 215) | bool console_running(void) {return 0;}
  function console_refresh (line 216) | void console_refresh(bool force) {}
  function console_key_enq (line 217) | void console_key_enq(Bit8u key) {}
  function has_command_mode (line 219) | bool has_command_mode(void) {return command_mode.present;}
  function command_mode_active (line 220) | bool command_mode_active(void) {return command_mode.active;}
  function set_fullscreen_mode (line 222) | void set_fullscreen_mode(bool active) {fullscreen_mode = active;}
  function console_cleanup (line 252) | void console_cleanup(void) {}

FILE: gui/keymap.cc
  function init_parse (line 117) | static void init_parse()
  function init_parse_line (line 122) | static void init_parse_line(char *line_to_parse)
  function Bit32s (line 132) | static Bit32s get_next_word(char *output)
  function Bit32s (line 152) | static Bit32s get_next_keymap_line(FILE *fp, char *bxsym, char *modsym, ...
  type stat (line 208) | struct stat
  function Bit32u (line 268) | Bit32u bx_keymap_c::convertStringToBXKey(const char* string)
  function BXKeyEntry (line 281) | BXKeyEntry *bx_keymap_c::findHostKey(Bit32u key)
  function BXKeyEntry (line 296) | BXKeyEntry *bx_keymap_c::findAsciiChar(Bit8u ch)

FILE: gui/keymap.h
  type BXKeyEntry (line 52) | typedef struct BOCHSAPI {

FILE: gui/macintosh.cc
  class bx_macintosh_gui_c (line 101) | class bx_macintosh_gui_c : public bx_gui_c {
    method bx_macintosh_gui_c (line 103) | bx_macintosh_gui_c (void) {}
    method FixWindow (line 189) | void FixWindow(void)
    method MacPanic (line 227) | void MacPanic(void)
    method InitToolbox (line 232) | void InitToolbox(void)
    method CreateTile (line 243) | void CreateTile(void)
    method CreateMenus (line 323) | void CreateMenus(void)
    method CreateWindows (line 339) | void CreateWindows(void)
    method BX_CPP_INLINE (line 427) | BX_CPP_INLINE void HandleKey(EventRecord *event, Bit32u keyState)
    method BX_CPP_INLINE (line 480) | BX_CPP_INLINE void HandleToolClick(Point where)
    method BX_CPP_INLINE (line 501) | BX_CPP_INLINE void ResetPointer(void)
    method HandleMenuChoice (line 529) | void HandleMenuChoice(long menuChoice)
    method BX_CPP_INLINE (line 637) | BX_CPP_INLINE void HandleClick(EventRecord *event)
    method UpdateWindow (line 685) | void UpdateWindow(WindowPtr window)
    method if (line 794) | if ((!EqualPt(mousePt, prevPt)) || (curstate != mouse_button_state))
  function UpdateRgn (line 1162) | void UpdateRgn(RgnHandle rgn)
  function HidePointer (line 1175) | void HidePointer()
  function ShowPointer (line 1192) | void ShowPointer()
  function HideTools (line 1203) | void HideTools()
  function ShowTools (line 1222) | void ShowTools()
  function HideMenubar (line 1245) | void HideMenubar()
  function ShowMenubar (line 1282) | void ShowMenubar()
  function HideConsole (line 1312) | void HideConsole()
  function ShowConsole (line 1318) | void ShowConsole()
  function CreateKeyMap (line 1329) | void CreateKeyMap(void)
  function CreateVGAFont (line 1477) | void CreateVGAFont(void)
  function BitMap (line 1505) | BitMap *CreateBitMap(unsigned width,  unsigned height)
  function PixMapHandle (line 1526) | PixMapHandle CreatePixMap(unsigned left, unsigned top, unsigned width,

FILE: gui/nogui.cc
  class bx_nogui_gui_c (line 35) | class bx_nogui_gui_c : public bx_gui_c {
    method bx_nogui_gui_c (line 37) | bx_nogui_gui_c (void) {}

FILE: gui/paramtree.cc
  function Bit32u (line 191) | Bit32u bx_param_num_c::set_default_base(Bit32u val)
  function Bit64s (line 218) | Bit64s bx_param_num_c::get64()
  function Bit64s (line 538) | Bit64s bx_shadow_num_c::get64()
  function Bit64s (line 651) | Bit64s bx_shadow_bool_c::get64()
  function Bit64u (line 745) | Bit64u bx_param_enum_c::get_dependent_bitmap(Bit64s value)
  function Bit32s (line 880) | Bit32s bx_param_string_c::get(char *buf, int len)
  function Bit32s (line 955) | Bit32s bx_param_bytestring_c::get(char *buf, int len)
  function Bit8u (line 1070) | Bit8u bx_shadow_data_c::get(Bit32u index)
  function bx_list_c (line 1223) | bx_list_c* bx_list_c::clone()
  function bx_param_c (line 1255) | bx_param_c* bx_list_c::get(int index)
  function bx_param_c (line 1270) | bx_param_c* bx_list_c::get_by_name(const char *name)

FILE: gui/paramtree.h
  type bx_objtype (line 56) | typedef enum {
  function class (line 78) | class BOCHSAPI bx_object_c {
  function virtual (line 127) | virtual void reset() {}
  function bx_param_c (line 130) | bx_param_c *get_parent() { return (bx_param_c *) parent; }
  function set_format (line 134) | void set_format(const char *format) {text_format = format;}
  function set_long_format (line 137) | void set_long_format(const char *format) {long_text_format = format;}
  function virtual (line 149) | virtual void set_runtime_param(bool val) { runtime_param = val; }
  function virtual (line 156) | virtual void set_enabled(bool _enabled) { enabled = _enabled; }
  function bx_list_c (line 161) | bx_list_c *get_dependent_list() { return dependent_list; }
  function set_options (line 163) | void set_options(Bit32u _options) { options = _options; }
  function set_device_param (line 166) | void set_device_param(void *dev) { device = dev; }
  function virtual (line 169) | virtual int parse_param(const char *value) { return -1; }
  function virtual (line 171) | virtual void dump_param(FILE *fp) {}
  type Bit64s (line 175) | typedef Bit64s (*param_event_handler)(class bx_param_c *, bool set, Bit6...
  type Bit64s (line 176) | typedef Bit64s (*param_save_handler)(void *devptr, class bx_param_c *);
  function virtual (line 214) | virtual void reset() { set(initial_val); }
  function set_enable_handler (line 217) | void set_enable_handler(param_enable_handler handler) { enable_handler =...
  function virtual (line 220) | virtual Bit32s get() { return (Bit32s) get64(); }
  function set_base (line 223) | void set_base(int _base) { base = _base; }
  function Bit32u (line 230) | static Bit32u get_default_base() { return default_base; }
  function param_enable_handler (line 392) | param_enable_handler get_enable_handler() { return enable_handler; }
  function set_separator (line 421) | void set_separator(char sep) {separator = sep; }
  function isempty (line 428) | bool isempty() const;
  function Bit8u (line 459) | Bit8u *getptr() {return data_ptr;}
  function Bit8u (line 460) | const Bit8u *getptr() const {return data_ptr;}
  function FILE (line 481) | FILE **get_fpp() {return scratch_fpp;}
  type bx_listitem_t (line 486) | typedef struct _bx_listitem_t {
  function set_choice (line 547) | void set_choice(Bit32u new_choice) { choice = new_choice; }
  function bx_param_c (line 550) | bx_param_c *get_parent() { return parent; }

FILE: gui/rfb.cc
  class bx_rfb_gui_c (line 52) | class bx_rfb_gui_c : public bx_gui_c {
    method bx_rfb_gui_c (line 54) | bx_rfb_gui_c (void) {}
  type _rfbBitmaps (line 116) | struct _rfbBitmaps {
  type _rfbKeyboardEvent (line 126) | struct _rfbKeyboardEvent {
  type _rfbUpdateRegion (line 138) | struct _rfbUpdateRegion {
  function bx_svga_tileinfo_t (line 587) | bx_svga_tileinfo_t *bx_rfb_gui_c::graphics_tile_info(bx_svga_tileinfo_t ...
  function Bit8u (line 607) | Bit8u *bx_rfb_gui_c::graphics_tile_get(unsigned x0, unsigned y0,
  function Bit32u (line 718) | static Bit32u convertStringToRfbKey(const char *string)
  function InitWinsock (line 1115) | bool InitWinsock()
  function StopWinsock (line 1122) | bool StopWinsock()
  function BX_THREAD_FUNC (line 1129) | BX_THREAD_FUNC(rfbServerThreadInit, indata)
  function rfbStartThread (line 1201) | void rfbStartThread()
  function HandleRfbClient (line 1209) | void HandleRfbClient(SOCKET sClient)
  function ReadExact (line 1463) | int ReadExact(int sock, char *buf, int len)
  function WriteExact (line 1483) | int WriteExact(int sock, char *buf, int len)
  function DrawBitmap (line 1499) | void DrawBitmap(int x, int y, int width, int height, char *bmap,
  function DrawChar (line 1519) | void DrawChar(int x, int y, int width, int height, int fontx, int fonty,
  function UpdateScreen (line 1545) | void UpdateScreen(unsigned char *newBits, int x, int y, int width, int h...
  function SendUpdate (line 1578) | void SendUpdate(int x, int y, int width, int height, Bit32u encoding)
  function rfbSetUpdateRegion (line 1613) | void rfbSetUpdateRegion(unsigned x0, unsigned y0, unsigned w, unsigned h)
  function rfbAddUpdateRegion (line 1622) | void rfbAddUpdateRegion(unsigned x0, unsigned y0, unsigned w, unsigned h)
  function rfbSetStatusText (line 1657) | void rfbSetStatusText(int element, const char *text, bool active, Bit8u ...
  function VOID (line 1692) | VOID CALLBACK IPSTimerProc(HWND hWnd, UINT nMsg, UINT_PTR nIDEvent, DWOR...
  function DWORD (line 1699) | DWORD WINAPI rfbShowIPSthread(LPVOID)

FILE: gui/rfb.h
  type Bit32u (line 32) | typedef Bit32u         U32;
  type Bit16u (line 33) | typedef Bit16u         U16;
  type Bit8u (line 34) | typedef Bit8u          U8;
  type Bit32s (line 35) | typedef Bit32s         S32;
  type Bit16s (line 36) | typedef Bit16s         S16;
  type Bit8s (line 37) | typedef Bit8s          S8;
  type rfbRectangle (line 51) | typedef struct {
  type rfbPixelFormat (line 62) | typedef struct {
  type rfbClientInitMessage (line 96) | typedef struct {
  type rfbServerInitMessage (line 103) | typedef struct {
  type rfbSetPixelFormatMessage (line 125) | typedef struct {
  type rfbFixColourMapEntriesMessage (line 134) | typedef struct {
  type rfbSetEncodingsMessage (line 144) | typedef struct {
  type rfbFramebufferUpdateRequestMessage (line 153) | typedef struct {
  type rfbKeyEventMessage (line 165) | typedef struct {
  type rfbPointerEventMessage (line 175) | typedef struct {
  type rfbClientCutTextMessage (line 189) | typedef struct {
  type rfbClientToServerMessage (line 199) | typedef union {
  type rfbEncodingType (line 261) | typedef struct {
  type rfbFramebufferUpdateMessage (line 316) | typedef struct {
  type rfbFramebufferUpdateRectHeader (line 324) | typedef struct {
  type rfbCopyRect (line 330) | typedef struct {
  type rfbSetColourMapEntriesMessage (line 368) | typedef struct {
  type rfbBellMessage (line 379) | typedef struct {
  type rfbServerCutTextMessage (line 387) | typedef struct {
  type rfbServerToClientMessage (line 397) | typedef union {

FILE: gui/rfbkeys.h
  type rfbKeyTabEntry (line 342) | typedef struct {

FILE: gui/scrollwin.cc
  function LRESULT (line 33) | LRESULT CALLBACK ScrollWinProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA...
  function BOOL (line 154) | BOOL RegisterScrollWindow(HINSTANCE hinst)

FILE: gui/sdl.cc
  class bx_sdl_gui_c (line 47) | class bx_sdl_gui_c : public bx_gui_c {
  type bitmaps (line 82) | struct bitmaps {
  function sdl_set_status_text (line 120) | static void sdl_set_status_text(int element, const char *text, bool acti...
  function Bit32u (line 184) | static Bit32u sdl_sym_to_bx_key(SDLKey sym)
  function switch_to_windowed (line 316) | void switch_to_windowed(void)
  function switch_to_fullscreen (line 365) | void switch_to_fullscreen(void)
  function Uint32 (line 419) | Uint32 SDLCALL sdlTimer(Uint32 interval)
  function bx_sdl_morphos_exit (line 429) | void bx_sdl_morphos_exit(void)
  function DWORD (line 438) | DWORD WINAPI DebugGuiThread(LPVOID)
  function bx_svga_tileinfo_t (line 1370) | bx_svga_tileinfo_t *bx_sdl_gui_c::graphics_tile_info(bx_svga_tileinfo_t ...
  function Bit8u (line 1402) | Bit8u *bx_sdl_gui_c::graphics_tile_get(unsigned x0, unsigned y0, unsigne...
  function Bit32u (line 1519) | static Bit32u convertStringToSDLKey (const char *string)

FILE: gui/sdl2.cc
  class bx_sdl2_gui_c (line 46) | class bx_sdl2_gui_c : public bx_gui_c {
  type bitmaps (line 82) | struct bitmaps {
  function sdl_set_status_text (line 129) | static void sdl_set_status_text(int element, const char *text, bool acti...
  function Bit32u (line 198) | static Bit32u sdl_sym_to_bx_key(SDL_Keycode sym)
  function switch_to_windowed (line 327) | void switch_to_windowed(void)
  function switch_to_fullscreen (line 340) | void switch_to_fullscreen(void)
  function set_mouse_capture (line 352) | void set_mouse_capture(bool enable)
  function Uint32 (line 365) | Uint32 sdlTimer(Uint32 interval, void *param)
  function DWORD (line 375) | DWORD WINAPI DebugGuiThread(LPVOID)
  function bx_svga_tileinfo_t (line 1250) | bx_svga_tileinfo_t *bx_sdl2_gui_c::graphics_tile_info(bx_svga_tileinfo_t...
  function Bit8u (line 1282) | Bit8u *bx_sdl2_gui_c::graphics_tile_get(unsigned x0, unsigned y0, unsign...
  function Bit32u (line 1408) | static Bit32u convertStringToSDLKey (const char *string)
  function sdl2_ask_dialog (line 1422) | int sdl2_ask_dialog(BxEvent *event)
  function sdl2_yesno_dialog (line 1475) | int sdl2_yesno_dialog(bx_param_bool_c *bparam)
  function BxEvent (line 1508) | BxEvent *sdl2_notify_callback(void *unused, BxEvent *event)

FILE: gui/siminterface.cc
  type _rt_conf_entry_t (line 52) | struct _rt_conf_entry_t {
    type _rt_conf_entry_t (line 56) | struct _rt_conf_entry_t
  type _addon_option_t (line 59) | struct _addon_option_t {
    type _addon_option_t (line 63) | struct _addon_option_t
  class bx_real_sim_c (line 66) | class bx_real_sim_c : public bx_simulator_interface_c {
    method set_quit_context (line 86) | virtual void set_quit_context(jmp_buf *context) { quit_context = conte...
    method get_init_done (line 87) | virtual bool get_init_done() { return init_done; }
    method Bit32u (line 96) | virtual Bit32u gen_param_id() { return param_id++; }
    method get_default_log_action (line 105) | virtual int get_default_
Copy disabled (too large) Download .json
Condensed preview — 748 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (17,637K chars).
[
  {
    "path": ".bochsrc",
    "chars": 62327,
    "preview": "# You may now use double quotes around pathnames, in case\n# your pathname includes spaces.\n\n#==========================="
  },
  {
    "path": ".conf.amigaos",
    "chars": 122,
    "preview": "#!/bin/sh\n#\n# These options should work on Amiga/MorphOS\n#\n\n./configure --with-amigaos --disable-shared ${CONFIGURE_ARGS"
  },
  {
    "path": ".conf.everything",
    "chars": 1056,
    "preview": "# This script tries to turn on nearly every configure option.\n# It is useful for finding compile problems, but it may tu"
  },
  {
    "path": ".conf.linux",
    "chars": 2195,
    "preview": "#!/bin/sh\n#\n# .conf.linux\n#\n\n#which_config=normal\nwhich_config=plugins\n\nCC=\"gcc\"\nCXX=\"c++\"\nCFLAGS=\"-Wall -O3 -fomit-fram"
  },
  {
    "path": ".conf.macos",
    "chars": 995,
    "preview": "#!/bin/sh\n\n# This script will run configure for a Macintosh/CodeWarrior Pro\n# environment.  I actually run this on my Li"
  },
  {
    "path": ".conf.macosx",
    "chars": 1236,
    "preview": "#!/bin/sh\n\n# this sets up the compile for MacOS X\n#\n# To support plugins on macosx, you must have \"dlcompat\" installed. "
  },
  {
    "path": ".conf.nothing",
    "chars": 363,
    "preview": "#!/bin/sh\n#\n# These are the steps I typically use to configure and compile Bochs\n# on a Win32 system with cygwin (v.20.1"
  },
  {
    "path": ".conf.sparc",
    "chars": 539,
    "preview": "#!/bin/sh\n\n#\n# These are the steps I typically use to configure and compile Bochs.\n#\n\n# superSPARC w/ Solaris 2.x\nset ec"
  },
  {
    "path": ".conf.win32-cygwin",
    "chars": 927,
    "preview": "#!/bin/sh\n#\n# These are the steps I typically use to configure and compile Bochs\n# on a Win32 system with Cygwin (v1.7.2"
  },
  {
    "path": ".conf.win32-vcpp",
    "chars": 932,
    "preview": "#!/bin/sh\n\nset echo\n\n./configure --target=pentium-pc-windows \\\n            --enable-sb16 \\\n            --enable-ne2000 \\"
  },
  {
    "path": ".conf.win64-cross-mingw32",
    "chars": 1020,
    "preview": "#!/bin/sh\n#\n# Example script for configuring and compiling Bochs on Linux for Windows.\n#\n\nCC=\"x86_64-w64-mingw32-gcc\"\nCX"
  },
  {
    "path": ".conf.win64-vcpp",
    "chars": 928,
    "preview": "#!/bin/sh\n\nset echo\n\n./configure --target=x86_64-windows \\\n            --enable-sb16 \\\n            --enable-ne2000 \\\n   "
  },
  {
    "path": "CHANGES",
    "chars": 215365,
    "preview": "-------------------------------------------------------------------------\nChanges in 2.7 (August 1, 2021):\n\nBrief summar"
  },
  {
    "path": "COPYING",
    "chars": 26428,
    "preview": "\t\t  GNU LESSER GENERAL PUBLIC LICENSE\n\t\t       Version 2.1, February 1999\n\n Copyright (C) 1991, 1999 Free Software Found"
  },
  {
    "path": "LICENSE",
    "chars": 301,
    "preview": "The following points clarify the Bochs license:\n\n1) Bochs as a whole is released under the GNU Lesser General Public Lic"
  },
  {
    "path": "Makefile.in",
    "chars": 30795,
    "preview": "# Copyright (C) 2001-2021  The Bochs Project\n#\n# This library is free software; you can redistribute it and/or\n# modify "
  },
  {
    "path": "PARAM_TREE.txt",
    "chars": 3692,
    "preview": "$Id: PARAM_TREE.txt 14082 2021-01-24 10:16:22Z vruppert $\n\nStarting from Bochs 2.3 the parameters are organized in a tre"
  },
  {
    "path": "README",
    "chars": 4387,
    "preview": "Bochs - The cross platform IA-32 (x86) emulator\nUpdated: Sun Aug  1 10:07:00 CEST 2021\nVersion: 2.7\n\nWHAT IS BOCHS?\n\nBoc"
  },
  {
    "path": "README-wxWidgets",
    "chars": 5464,
    "preview": "Readme for wxWidgets Interface\nUpdated Tue Dec 24 09:54:00 CET 2013\n\nContributors to wxWidgets port:\n  Don Becker (Psyon"
  },
  {
    "path": "TESTFORM.txt",
    "chars": 4751,
    "preview": "-------------------------------------------------------------\nBOCHS TESTING FORM Version 0.6\n---------------------------"
  },
  {
    "path": "TODO",
    "chars": 9961,
    "preview": "This is the \"roadmap\" posted in the mailing list, augmented by\ncomments from the mailing list and the irc chat.\nAnybody "
  },
  {
    "path": "aclocal.m4",
    "chars": 232568,
    "preview": "#####################################################################\n# $Id: aclocal.m4,v 1.8 2009-02-08 09:05:51 vruppe"
  },
  {
    "path": "bios/Makefile.in",
    "chars": 3362,
    "preview": "# Copyright (C) 2001-2020  The Bochs Project\n#\n# This library is free software; you can redistribute it and/or\n# modify "
  },
  {
    "path": "bios/SeaBIOS-README",
    "chars": 683,
    "preview": "SeaBIOS is an open source implementation of a 16bit X86 BIOS. SeaBIOS\ncan run in an emulator or it can run natively on X"
  },
  {
    "path": "bios/SeaVGABIOS-README",
    "chars": 1605,
    "preview": "SeaVGABIOS is a sub-project of the SeaBIOS project - it is an open\nsource implementation of a 16bit X86 VGA BIOS\n(http:/"
  },
  {
    "path": "bios/VGABIOS-elpin-LICENSE",
    "chars": 454,
    "preview": "The VGA BIOS from Elpin Systems, Inc. (http://www.elpin.com/)\nis now permanently licensed for use with bochs, courtesy\no"
  },
  {
    "path": "bios/VGABIOS-lgpl-README",
    "chars": 10084,
    "preview": "Bochs VGABios\n-------------\n\nThe goal of this project is to have a LGPL'd Video Bios in Bochs and qemu.\nThis VGA Bios is"
  },
  {
    "path": "bios/acpi-dsdt.dsl",
    "chars": 19269,
    "preview": "/*\n * Bochs/QEMU ACPI DSDT ASL definition\n *\n * Copyright (c) 2006 Fabrice Bellard\n *\n * This library is free software; "
  },
  {
    "path": "bios/acpi-dsdt.hex",
    "chars": 34410,
    "preview": "/*\n * \n * Intel ACPI Component Architecture\n * ASL Optimizing Compiler version 20130823-64\n * Copyright (c) 2000 - 2013 "
  },
  {
    "path": "bios/apmbios.S",
    "chars": 6546,
    "preview": "//  APM BIOS support for the Bochs BIOS\n//  Copyright (C) 2004 Fabrice Bellard\n//\n//  Debugging extensions, 16-bit inter"
  },
  {
    "path": "bios/bios_usage",
    "chars": 157,
    "preview": "#!/bin/csh -f\ngcc -E rombios.c | grep \"^\\.org\" | sed -e 's/\\.org //' | sed -e 's/ .*//' | sort >! temp.usage\nusage rombi"
  },
  {
    "path": "bios/biossums.c",
    "chars": 15661,
    "preview": "/*\n * $Id: biossums.c 13771 2020-01-04 22:46:00Z vruppert $\n *\n *  This library is free software; you can redistribute i"
  },
  {
    "path": "bios/makesym.perl",
    "chars": 921,
    "preview": "#!/usr/bin/perl\n#\n# $Id: makesym.perl,v 1.3 2009-12-30 20:28:23 sshwarts Exp $\n#\n# Read output file from as86 (e.g. romb"
  },
  {
    "path": "bios/notes",
    "chars": 1823,
    "preview": "####################\n# Read Disk Sector #\n####################\n\nSystem programming:\n-------------------\n\n(Int 13h, ah=2)"
  },
  {
    "path": "bios/rombios.c",
    "chars": 322563,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: rombios.c 14314 2021-07-14 16:10:19Z v"
  },
  {
    "path": "bios/rombios.h",
    "chars": 9160,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: rombios.h 14293 2021-06-27 14:50:26Z v"
  },
  {
    "path": "bios/rombios32.c",
    "chars": 75290,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: rombios32.c 14293 2021-06-27 14:50:26Z"
  },
  {
    "path": "bios/rombios32.ld",
    "chars": 595,
    "preview": "OUTPUT_FORMAT(\"elf32-i386\", \"elf32-i386\", \"elf32-i386\")\nOUTPUT_ARCH(i386)\nENTRY(_start);\nSECTIONS\n{\n        . = 0x000e00"
  },
  {
    "path": "bios/rombios32start.S",
    "chars": 2854,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: rombios32start.S 13788 2020-01-15 17:0"
  },
  {
    "path": "bios/usage.cc",
    "chars": 2542,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: usage.cc 12415 2014-07-10 11:14:49Z vr"
  },
  {
    "path": "bochs.h",
    "chars": 11324,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: bochs.h 14320 2021-07-25 18:01:28Z ssh"
  },
  {
    "path": "build/android/How_to_Build.txt",
    "chars": 2304,
    "preview": "1) At first, for building we need (64bit) linux, because already Android NDK support only x64 architecture. In\r\nexample,"
  },
  {
    "path": "build/android/bochs/AndroidAppSettings.cfg",
    "chars": 15844,
    "preview": "# The application settings for Android libSDL port\n\n# Specify application name (e.x. My Application)\nAppName=\"Bochs Core"
  },
  {
    "path": "build/android/bochs/AndroidBuild.sh",
    "chars": 1404,
    "preview": "#!/bin/sh\n\nLOCAL_PATH=`dirname $0`\nLOCAL_PATH=`cd $LOCAL_PATH && pwd`\n\nexport PATH=$LOCAL_PATH/..:$PATH # For our custom"
  },
  {
    "path": "build/android/build-all.sh",
    "chars": 102,
    "preview": "#!/bin/sh\n\nLOCAL_PATH=`dirname $0`\nLOCAL_PATH=`cd $LOCAL_PATH && pwd`\n\n./build-core.sh\n./build-ui.sh\n\n"
  },
  {
    "path": "build/android/build-core.sh",
    "chars": 472,
    "preview": "#!/bin/sh\n\nLOCAL_PATH=`dirname $0`\nLOCAL_PATH=`cd $LOCAL_PATH && pwd`\n\nif [ \\! -d bochs/bochs ] ; then\n   ln -s ../../.."
  },
  {
    "path": "build/android/build-ui.sh",
    "chars": 580,
    "preview": "#!/bin/sh\n\nLOCAL_PATH=`dirname $0`\nLOCAL_PATH=`cd $LOCAL_PATH && pwd`\n\nif [ \\! -d BochsLauncher/bochsApp/src ] ; then\n  "
  },
  {
    "path": "build/batch-build.perl",
    "chars": 8361,
    "preview": "#!/usr/bin/perl\n#####################################################################\n# $Id: batch-build.perl 13137 2017"
  },
  {
    "path": "build/linux/README.linux-binary",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "build/linux/bochs-dlx.in",
    "chars": 3097,
    "preview": "#!/bin/sh\nBOCHS=@prefix@/bin/bochs\nDLXINST=@prefix@/share/bochs/dlxlinux\nGZIP=@GZIP@\nif [ ! -z $1 ]; then\n  DLXPATH=$1\ne"
  },
  {
    "path": "build/macos/bochs.rsrc",
    "chars": 19401,
    "preview": "(This file must be converted with BinHex 4.0)\n\n:#Q*[BfKc,R*cFQ-!FR0bBe*6483!!!!!!!!!!$GVKP!!!!!!!3!!!$ES!!!ek!!\n!!)-!!!!"
  },
  {
    "path": "build/macos/macos_defines.h",
    "chars": 440,
    "preview": "#define NO_ASSEMBLER\n#define USE_WITH_CPU_SIM\n#define PARANOID\n\n#define fileno(A) 0\n#ifdef __cplusplus\n#include <cstddef"
  },
  {
    "path": "build/macosx/Info.plist.in",
    "chars": 937,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n<!DOCTYPE plist SYSTEM \"file://localhost/System/Library/DTDs/PropertyList.dtd\"> "
  },
  {
    "path": "build/macosx/README.macosx-binary",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "build/macosx/bochs.applescript",
    "chars": 2412,
    "preview": "property bochs_path : \"Contents/MacOS/bochs\"\nproperty bochs_app : \"\"\n\non run\n\ttell application \"Finder\" to get container"
  },
  {
    "path": "build/macosx/bochs.r",
    "chars": 93495,
    "preview": "data 'BNDL' (128) {\n\t$\"426F 6368 0000 0001 4652 4546 0000 0000\"            /* Boch....FREF.... */\n\t$\"0080 4943 4E23 0000"
  },
  {
    "path": "build/macosx/diskimage.pl",
    "chars": 3233,
    "preview": "#!/usr/bin/perl\n\n#\n#\n#\tCopyright (C) 1991-2002 and beyond by Bungie Studios, Inc.\n#\tand the \"Aleph One\" developers.\n#\n#\t"
  },
  {
    "path": "build/macosx/make-dmg.sh",
    "chars": 2656,
    "preview": "#!/bin/sh\n#\n# $Id: make-dmg.sh 10213 2011-02-25 15:32:08Z sshwarts $\n#\n# Make a DMG of Bochs.  This script must be run f"
  },
  {
    "path": "build/macosx/pbdevelopment.plist",
    "chars": 254,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist SYSTEM \"file://localhost/System/Library/DTDs/PropertyList.dtd\">\n<"
  },
  {
    "path": "build/macosx/script.r",
    "chars": 182354,
    "preview": "data 'scsz' (0) {\n\t$\"4000 0000 0000 0000 0000 0000 0000 0000\"            /* @............... */\n\t$\"0000 0000 0000 0000 0"
  },
  {
    "path": "build/makeall.sh",
    "chars": 152,
    "preview": "#!/bin/bash\n\nfor i in build-*; do\n  echo \"*** Starting make in $i ***\"\n  make -C $i\n  echo \"*** make done in $i ***\"\n  e"
  },
  {
    "path": "build/redhat/NOTES",
    "chars": 1404,
    "preview": "Here's a useful usenet article that shows how to build a filelist\ninstead of having to specify each one. \n--------------"
  },
  {
    "path": "build/redhat/bochs.rpmspec.template",
    "chars": 2829,
    "preview": "Summary: Bochs Project x86 PC Emulator\nName: bochs\nVersion: @SEDVERSION@\nRelease: 1\nLicense: LGPL\nGroup: Applications/Em"
  },
  {
    "path": "build/redhat/make-rpm",
    "chars": 2867,
    "preview": "#!/bin/bash -x\n#########################################################################\n# $Id: make-rpm 10766 2011-11-0"
  },
  {
    "path": "build/win32/README.win32-binary",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "build/win32/bochs.manifest",
    "chars": 626,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersi"
  },
  {
    "path": "build/win32/cc2cpp",
    "chars": 103,
    "preview": "#!/bin/sh\n\nlist=`find . -name '*.cc' | sed 's/\\.cc$//'`\nfor i in $list; do \n  mv ${i}.cc ${i}.cpp\ndone\n"
  },
  {
    "path": "build/win32/cpp2cc",
    "chars": 105,
    "preview": "#!/bin/sh\n\nlist=`find . -name '*.cpp' | sed 's/\\.cpp$//'`\nfor i in $list; do \n  mv ${i}.cpp ${i}.cc\ndone\n"
  },
  {
    "path": "build/win32/diffcc2cpp",
    "chars": 110,
    "preview": "#!/bin/sh\n\nlist=`find . -name '*.cpp' | sed 's/\\.cpp$//'`\nfor i in $list; do \n  diff -u ${i}.cc ${i}.cpp\ndone\n"
  },
  {
    "path": "build/win32/nsis/Makefile.in",
    "chars": 859,
    "preview": "# To build an NSIS installer, get NSIS version 3.04 or newer from\n# http://sourceforge.net/projects/nsis\n# Fix the MAKEN"
  },
  {
    "path": "build/win32/nsis/bochs.nsi.in",
    "chars": 17728,
    "preview": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r\n; $Id: bochs.nsi.in 14281 2021-06-13 08:02:33Z "
  },
  {
    "path": "bx_debug/Makefile.in",
    "chars": 5288,
    "preview": "#########################################################################\n# Copyright (C) 2001-2021  The Bochs Project\n#"
  },
  {
    "path": "bx_debug/dbg_breakpoints.cc",
    "chars": 10142,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: dbg_breakpoints.cc 14121 2021-02-04 18"
  },
  {
    "path": "bx_debug/dbg_main.cc",
    "chars": 129242,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: dbg_main.cc 14253 2021-05-23 04:59:43Z"
  },
  {
    "path": "bx_debug/debug.h",
    "chars": 12779,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: debug.h 14121 2021-02-04 18:25:27Z ssh"
  },
  {
    "path": "bx_debug/lexer.c",
    "chars": 88929,
    "preview": "\n#line 2 \"<stdout>\"\n\n#define  YY_INT_ALIGNED short int\n\n/* A lexical scanner generated by flex */\n\n#define yy_create_buf"
  },
  {
    "path": "bx_debug/lexer.l",
    "chars": 15402,
    "preview": "%{\n/////////////////////////////////////////////////////////////////////////\n// $Id: lexer.l 14051 2021-01-02 12:12:02Z "
  },
  {
    "path": "bx_debug/linux.cc",
    "chars": 2569,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: linux.cc 12909 2016-04-29 21:09:18Z ss"
  },
  {
    "path": "bx_debug/make-syscalls-linux.pl",
    "chars": 874,
    "preview": "#!/usr/bin/perl\n#\n# tested with linux 2.2.14\n# reads <asm/unistd.h>, outputs syscalls-linux.h\n\n$date = `date`;\nprint <<E"
  },
  {
    "path": "bx_debug/parser.cc",
    "chars": 165227,
    "preview": "/* A Bison parser, made by GNU Bison 3.0.4.  */\n\n/* Bison implementation for Yacc-like parsers in C\n\n   Copyright (C) 19"
  },
  {
    "path": "bx_debug/parser.h",
    "chars": 8390,
    "preview": "/* A Bison parser, made by GNU Bison 3.0.4.  */\n\n/* Bison interface for Yacc-like parsers in C\n\n   Copyright (C) 1984, 1"
  },
  {
    "path": "bx_debug/parser.y",
    "chars": 40439,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: parser.y 14121 2021-02-04 18:25:27Z ss"
  },
  {
    "path": "bx_debug/symbols.cc",
    "chars": 10798,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: symbols.cc 14121 2021-02-04 18:25:27Z "
  },
  {
    "path": "bx_debug/syscalls-linux.h",
    "chars": 6065,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: syscalls-linux.h 10209 2011-02-24 22:0"
  },
  {
    "path": "bxdisasm.cc",
    "chars": 3196,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: bxdisasm.cc 14091 2021-01-30 17:37:42Z"
  },
  {
    "path": "bxthread.cc",
    "chars": 2975,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: bxthread.cc 14089 2021-01-30 15:16:00Z"
  },
  {
    "path": "bxthread.h",
    "chars": 3345,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: bxthread.h 14089 2021-01-30 15:16:00Z "
  },
  {
    "path": "bxversion.h.in",
    "chars": 410,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// This file is checked in as bxversion.h.in. "
  },
  {
    "path": "bxversion.rc.in",
    "chars": 488,
    "preview": "1 VERSIONINFO\nFILEVERSION @VER_MAJOR@, @VER_MINOR@, @VER_REVISION@, @VER_SVN@\n{\n BLOCK \"StringFileInfo\"\n {\n  BLOCK \"0409"
  },
  {
    "path": "config.cc",
    "chars": 119121,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: config.cc 14312 2021-07-12 19:05:25Z v"
  },
  {
    "path": "config.guess",
    "chars": 48295,
    "preview": "#! /bin/sh\n# Attempt to guess a canonical system name.\n#   Copyright 1992-2019 Free Software Foundation, Inc.\n\ntimestamp"
  },
  {
    "path": "config.h.in",
    "chars": 28160,
    "preview": "//\n//  Copyright (C) 2001-2021  The Bochs Project\n//\n//  This library is free software; you can redistribute it and/or\n/"
  },
  {
    "path": "config.sub",
    "chars": 31611,
    "preview": "#! /bin/sh\n# Configuration validation subroutine script.\n#   Copyright 1992-2019 Free Software Foundation, Inc.\n\ntimesta"
  },
  {
    "path": "configure",
    "chars": 849173,
    "preview": "#! /bin/sh\n# From configure.in Id: configure.in 14330 2021-08-01 08:07:38Z vruppert .\n# Guess values for system-dependen"
  },
  {
    "path": "configure.in",
    "chars": 95188,
    "preview": "dnl // Process this file with autoconf to produce a configure script.\n\nAC_PREREQ(2.50)\nAC_INIT(bochs.h)\nAC_REVISION([[$I"
  },
  {
    "path": "cpu/3dnow.cc",
    "chars": 9301,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: 3dnow.cc 13466 2018-02-16 07:57:32Z ss"
  },
  {
    "path": "cpu/Makefile.in",
    "chars": 45092,
    "preview": "# Copyright (C) 2001-2017 The Bochs Project\n#\n# This library is free software; you can redistribute it and/or\n# modify i"
  },
  {
    "path": "cpu/access.cc",
    "chars": 16757,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: access.cc 14086 2021-01-30 08:35:35Z s"
  },
  {
    "path": "cpu/access.h",
    "chars": 12571,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: access.h 13486 2018-04-04 19:31:56Z ss"
  },
  {
    "path": "cpu/access2.cc",
    "chars": 48132,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: access2.cc 14086 2021-01-30 08:35:35Z "
  },
  {
    "path": "cpu/aes.cc",
    "chars": 16234,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: aes.cc 13520 2018-05-27 19:09:59Z sshw"
  },
  {
    "path": "cpu/apic.cc",
    "chars": 42590,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: apic.cc 14321 2021-07-25 18:02:36Z ssh"
  },
  {
    "path": "cpu/apic.h",
    "chars": 10692,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: apic.h 14086 2021-01-30 08:35:35Z sshw"
  },
  {
    "path": "cpu/arith16.cc",
    "chars": 13771,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: arith16.cc 13466 2018-02-16 07:57:32Z "
  },
  {
    "path": "cpu/arith32.cc",
    "chars": 15016,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: arith32.cc 13466 2018-02-16 07:57:32Z "
  },
  {
    "path": "cpu/arith64.cc",
    "chars": 15818,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: arith64.cc 13466 2018-02-16 07:57:32Z "
  },
  {
    "path": "cpu/arith8.cc",
    "chars": 14004,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: arith8.cc 13466 2018-02-16 07:57:32Z s"
  },
  {
    "path": "cpu/avx/Makefile.in",
    "chars": 14946,
    "preview": "# Copyright (C) 2017  The Bochs Project\n#\n# This library is free software; you can redistribute it and/or\n# modify it un"
  },
  {
    "path": "cpu/avx/avx.cc",
    "chars": 22072,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx.cc 13520 2018-05-27 19:09:59Z sshw"
  },
  {
    "path": "cpu/avx/avx2.cc",
    "chars": 19803,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx2.cc 13520 2018-05-27 19:09:59Z ssh"
  },
  {
    "path": "cpu/avx/avx512.cc",
    "chars": 85504,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512.cc 13853 2020-05-19 16:01:23Z s"
  },
  {
    "path": "cpu/avx/avx512_bitalg.cc",
    "chars": 6063,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_bitalg.cc 13466 2018-02-16 07:5"
  },
  {
    "path": "cpu/avx/avx512_broadcast.cc",
    "chars": 10717,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_broadcast.cc 13716 2019-12-21 2"
  },
  {
    "path": "cpu/avx/avx512_cvt.cc",
    "chars": 34538,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_cvt.cc 13466 2018-02-16 07:57:3"
  },
  {
    "path": "cpu/avx/avx512_fma.cc",
    "chars": 10997,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_fma.cc 13466 2018-02-16 07:57:3"
  },
  {
    "path": "cpu/avx/avx512_mask16.cc",
    "chars": 5567,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_mask16.cc 13466 2018-02-16 07:5"
  },
  {
    "path": "cpu/avx/avx512_mask32.cc",
    "chars": 5576,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_mask32.cc 13466 2018-02-16 07:5"
  },
  {
    "path": "cpu/avx/avx512_mask64.cc",
    "chars": 5437,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_mask64.cc 13466 2018-02-16 07:5"
  },
  {
    "path": "cpu/avx/avx512_mask8.cc",
    "chars": 5243,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_mask8.cc 13466 2018-02-16 07:57"
  },
  {
    "path": "cpu/avx/avx512_move.cc",
    "chars": 54764,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_move.cc 13716 2019-12-21 20:07:"
  },
  {
    "path": "cpu/avx/avx512_pfp.cc",
    "chars": 54736,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_pfp.cc 13466 2018-02-16 07:57:3"
  },
  {
    "path": "cpu/avx/avx512_rcp14.cc",
    "chars": 639059,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_rcp14.cc 13466 2018-02-16 07:57"
  },
  {
    "path": "cpu/avx/avx512_rsqrt14.cc",
    "chars": 637869,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx512_rsqrt14.cc 14086 2021-01-30 08:"
  },
  {
    "path": "cpu/avx/avx_cvt.cc",
    "chars": 11105,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx_cvt.cc 13466 2018-02-16 07:57:32Z "
  },
  {
    "path": "cpu/avx/avx_fma.cc",
    "chars": 10069,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx_fma.cc 13466 2018-02-16 07:57:32Z "
  },
  {
    "path": "cpu/avx/avx_pfp.cc",
    "chars": 33059,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: avx_pfp.cc 13466 2018-02-16 07:57:32Z "
  },
  {
    "path": "cpu/avx/gather.cc",
    "chars": 16154,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: gather.cc 13466 2018-02-16 07:57:32Z s"
  },
  {
    "path": "cpu/avx/tbm32.cc",
    "chars": 4361,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: tbm32.cc 13466 2018-02-16 07:57:32Z ss"
  },
  {
    "path": "cpu/avx/tbm64.cc",
    "chars": 4362,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: tbm64.cc 13466 2018-02-16 07:57:32Z ss"
  },
  {
    "path": "cpu/avx/vnni.cc",
    "chars": 5211,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: vnni.cc 13963 2020-10-03 09:23:28Z ssh"
  },
  {
    "path": "cpu/avx/xop.cc",
    "chars": 29589,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: xop.cc 13520 2018-05-27 19:09:59Z sshw"
  },
  {
    "path": "cpu/bcd.cc",
    "chars": 4795,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: bcd.cc 13466 2018-02-16 07:57:32Z sshw"
  },
  {
    "path": "cpu/bit.cc",
    "chars": 9728,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: bit.cc 13466 2018-02-16 07:57:32Z sshw"
  },
  {
    "path": "cpu/bit16.cc",
    "chars": 9114,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: bit16.cc 14086 2021-01-30 08:35:35Z ss"
  },
  {
    "path": "cpu/bit32.cc",
    "chars": 9160,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: bit32.cc 14086 2021-01-30 08:35:35Z ss"
  },
  {
    "path": "cpu/bit64.cc",
    "chars": 9730,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: bit64.cc 14086 2021-01-30 08:35:35Z ss"
  },
  {
    "path": "cpu/bmi32.cc",
    "chars": 6851,
    "preview": "/////////////////////////////////////////////////////////////////////////\r\n// $Id: bmi32.cc 14086 2021-01-30 08:35:35Z s"
  },
  {
    "path": "cpu/bmi64.cc",
    "chars": 7116,
    "preview": "/////////////////////////////////////////////////////////////////////////\r\n// $Id: bmi64.cc 14086 2021-01-30 08:35:35Z s"
  },
  {
    "path": "cpu/call_far.cc",
    "chars": 23529,
    "preview": "////////////////////////////////////////////////////////////////////////\n// $Id: call_far.cc 13699 2019-12-20 07:42:07Z "
  },
  {
    "path": "cpu/cet.cc",
    "chars": 14204,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: cet.cc 14086 2021-01-30 08:35:35Z sshw"
  },
  {
    "path": "cpu/cpu.cc",
    "chars": 23585,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: cpu.cc 14141 2021-02-11 15:05:06Z sshw"
  },
  {
    "path": "cpu/cpu.h",
    "chars": 285441,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: cpu.h 14318 2021-07-23 09:30:17Z sshwa"
  },
  {
    "path": "cpu/cpudb/Makefile.in",
    "chars": 18617,
    "preview": "# Copyright (C) 2015-2017 The Bochs Project\n#\n# This library is free software; you can redistribute it and/or\n# modify i"
  },
  {
    "path": "cpu/cpudb/amd/amd_k6_2_chomper.cc",
    "chars": 8254,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: amd_k6_2_chomper.cc 13153 2017-03-26 2"
  },
  {
    "path": "cpu/cpudb/amd/amd_k6_2_chomper.h",
    "chars": 2111,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: amd_k6_2_chomper.h 13111 2017-03-13 19"
  },
  {
    "path": "cpu/cpudb/amd/amd_k6_2_chomper.txt",
    "chars": 992,
    "preview": "------[ Versions ]------\n\nProgram Version : EVEREST v4.60.1629 Beta\nBenchDLL Version: 2.4.257.0\n\n------[ CPU Info ]-----"
  },
  {
    "path": "cpu/cpudb/amd/athlon64_clawhammer.cc",
    "chars": 10743,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: athlon64_clawhammer.cc 13153 2017-03-2"
  },
  {
    "path": "cpu/cpudb/amd/athlon64_clawhammer.h",
    "chars": 2227,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: athlon64_clawhammer.h 13111 2017-03-13"
  },
  {
    "path": "cpu/cpudb/amd/athlon64_clawhammer.txt",
    "chars": 3688,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/amd/athlon64_venice.cc",
    "chars": 12700,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: athlon64_venice.cc 13153 2017-03-26 20"
  },
  {
    "path": "cpu/cpudb/amd/athlon64_venice.h",
    "chars": 2195,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: athlon64_venice.h 13111 2017-03-13 19:"
  },
  {
    "path": "cpu/cpudb/amd/athlon64_venice.txt",
    "chars": 3820,
    "preview": "CPU-Z TXT Report\r\n-------------------------------------------------------------------------\r\n\r\nBinaries\r\n---------------"
  },
  {
    "path": "cpu/cpudb/amd/phenomx3_8650_toliman.cc",
    "chars": 18145,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: phenomx3_8650_toliman.cc 14100 2021-01"
  },
  {
    "path": "cpu/cpudb/amd/phenomx3_8650_toliman.h",
    "chars": 2678,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: phenomx3_8650_toliman.h 13111 2017-03-"
  },
  {
    "path": "cpu/cpudb/amd/phenomx3_8650_toliman.txt",
    "chars": 10808,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/amd/ryzen.cc",
    "chars": 24804,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: ryzen.cc 14149 2021-02-16 18:57:49Z ss"
  },
  {
    "path": "cpu/cpudb/amd/ryzen.h",
    "chars": 3060,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: ryzen.h 13119 2017-03-15 22:14:10Z ssh"
  },
  {
    "path": "cpu/cpudb/amd/ryzen.txt",
    "chars": 61320,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/amd/trinity_apu.cc",
    "chars": 23179,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: trinity_apu.cc 14149 2021-02-16 18:57:"
  },
  {
    "path": "cpu/cpudb/amd/trinity_apu.h",
    "chars": 3040,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: trinity_apu.h 13111 2017-03-13 19:44:1"
  },
  {
    "path": "cpu/cpudb/amd/trinity_apu.txt",
    "chars": 17152,
    "preview": "CPU-Z TXT Report\r\n-------------------------------------------------------------------------\r\n\r\nBinaries\r\n---------------"
  },
  {
    "path": "cpu/cpudb/amd/turion64_tyler.cc",
    "chars": 14950,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: turion64_tyler.cc 13783 2020-01-11 06:"
  },
  {
    "path": "cpu/cpudb/amd/turion64_tyler.h",
    "chars": 2331,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: turion64_tyler.h 13111 2017-03-13 19:4"
  },
  {
    "path": "cpu/cpudb/amd/turion64_tyler.txt",
    "chars": 6054,
    "preview": "CPU-Z TXT Report\r\n-------------------------------------------------------------------------\r\n\r\nBinaries\r\n---------------"
  },
  {
    "path": "cpu/cpudb/amd/zambezi.cc",
    "chars": 21425,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: zambezi.cc 14100 2021-01-30 19:40:18Z "
  },
  {
    "path": "cpu/cpudb/amd/zambezi.h",
    "chars": 2937,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: zambezi.h 13111 2017-03-13 19:44:14Z s"
  },
  {
    "path": "cpu/cpudb/amd/zambezi.txt",
    "chars": 17676,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/intel/atom_n270.cc",
    "chars": 16484,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: atom_n270.cc 14100 2021-01-30 19:40:18"
  },
  {
    "path": "cpu/cpudb/intel/atom_n270.h",
    "chars": 2404,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: atom_n270.h 13111 2017-03-13 19:44:14Z"
  },
  {
    "path": "cpu/cpudb/intel/atom_n270.txt",
    "chars": 5389,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/intel/broadwell_ult.cc",
    "chars": 24398,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: broadwell_ult.cc 14149 2021-02-16 18:5"
  },
  {
    "path": "cpu/cpudb/intel/broadwell_ult.h",
    "chars": 2639,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: broadwell_ult.h 13111 2017-03-13 19:44"
  },
  {
    "path": "cpu/cpudb/intel/broadwell_ult.txt",
    "chars": 14927,
    "preview": "------[ Versions ]------\n\nProgram Version : AIDA64 v5.00.3300\nBenchDLL Version: 4.1.627-x64\n\n------[ CPU Info ]------\n\nC"
  },
  {
    "path": "cpu/cpudb/intel/core2_penryn_t9600.cc",
    "chars": 18552,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: core2_penryn_t9600.cc 14100 2021-01-30"
  },
  {
    "path": "cpu/cpudb/intel/core2_penryn_t9600.h",
    "chars": 2553,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: core2_penryn_t9600.h 13111 2017-03-13 "
  },
  {
    "path": "cpu/cpudb/intel/core2_penryn_t9600.txt",
    "chars": 5751,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/intel/core_duo_t2400_yonah.cc",
    "chars": 16576,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: core_duo_t2400_yonah.cc 14100 2021-01-"
  },
  {
    "path": "cpu/cpudb/intel/core_duo_t2400_yonah.h",
    "chars": 2610,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: core_duo_t2400_yonah.h 13111 2017-03-1"
  },
  {
    "path": "cpu/cpudb/intel/core_duo_t2400_yonah.txt",
    "chars": 5253,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/intel/corei3_cnl.cc",
    "chars": 27367,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei3_cnl.cc 14149 2021-02-16 18:57:4"
  },
  {
    "path": "cpu/cpudb/intel/corei3_cnl.h",
    "chars": 2732,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei3_cnl.h 13531 2018-10-26 09:23:58"
  },
  {
    "path": "cpu/cpudb/intel/corei3_cnl.txt",
    "chars": 18929,
    "preview": "------[ Versions ]------\n\nProgram Version : AIDA64 Engineer v5.98.4811 Beta\nBenchDLL Version: 4.3.784-x64\nWindows Versio"
  },
  {
    "path": "cpu/cpudb/intel/corei5_arrandale_m520.cc",
    "chars": 19673,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei5_arrandale_m520.cc 14100 2021-01"
  },
  {
    "path": "cpu/cpudb/intel/corei5_arrandale_m520.h",
    "chars": 2588,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei5_arrandale_m520.h 13111 2017-03-"
  },
  {
    "path": "cpu/cpudb/intel/corei5_arrandale_m520.txt",
    "chars": 12634,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/intel/corei5_lynnfield_750.cc",
    "chars": 18425,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei5_lynnfield_750.cc 14100 2021-01-"
  },
  {
    "path": "cpu/cpudb/intel/corei5_lynnfield_750.h",
    "chars": 2580,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei5_lynnfield_750.h 13111 2017-03-1"
  },
  {
    "path": "cpu/cpudb/intel/corei5_lynnfield_750.txt",
    "chars": 12974,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/intel/corei7_haswell_4770.cc",
    "chars": 22165,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei7_haswell_4770.cc 14149 2021-02-1"
  },
  {
    "path": "cpu/cpudb/intel/corei7_haswell_4770.h",
    "chars": 2687,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei7_haswell_4770.h 13111 2017-03-13"
  },
  {
    "path": "cpu/cpudb/intel/corei7_haswell_4770.txt",
    "chars": 26505,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/intel/corei7_icelake-u.cc",
    "chars": 26931,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei7_icelake-u.cc 14149 2021-02-16 1"
  },
  {
    "path": "cpu/cpudb/intel/corei7_icelake-u.h",
    "chars": 2810,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei7_icelake-u.h 13768 2020-01-03 19"
  },
  {
    "path": "cpu/cpudb/intel/corei7_icelake-u.txt",
    "chars": 38323,
    "preview": "------[ Versions ]------\n\nProgram Version : AIDA64 Engineer v6.00.5169 Beta\nBenchDLL Version: 4.5.811-x64\nWindows Versio"
  },
  {
    "path": "cpu/cpudb/intel/corei7_ivy_bridge_3770K.cc",
    "chars": 22565,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei7_ivy_bridge_3770K.cc 14149 2021-"
  },
  {
    "path": "cpu/cpudb/intel/corei7_ivy_bridge_3770K.h",
    "chars": 2719,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei7_ivy_bridge_3770K.h 13111 2017-0"
  },
  {
    "path": "cpu/cpudb/intel/corei7_ivy_bridge_3770K.txt",
    "chars": 26329,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  },
  {
    "path": "cpu/cpudb/intel/corei7_sandy_bridge_2600K.cc",
    "chars": 20492,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei7_sandy_bridge_2600K.cc 14100 202"
  },
  {
    "path": "cpu/cpudb/intel/corei7_sandy_bridge_2600K.h",
    "chars": 2620,
    "preview": "/////////////////////////////////////////////////////////////////////////\n// $Id: corei7_sandy_bridge_2600K.h 13111 2017"
  },
  {
    "path": "cpu/cpudb/intel/corei7_sandy_bridge_2600K.txt",
    "chars": 14014,
    "preview": "CPU-Z TXT Report\n-------------------------------------------------------------------------\n\nBinaries\n-------------------"
  }
]

// ... and 548 more files (download for full content)

About this extraction

This page contains the full source code of the lubomyr/bochs GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 748 files (16.2 MB), approximately 4.3M tokens, and a symbol index with 4493 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!