Bochs Changelog

What's new in Bochs 2.6.11

Jan 6, 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

New in Bochs 2.6.10 (Dec 2, 2019)

  • 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 basicly 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).

New in Bochs 2.6.9 (Apr 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.

New in Bochs 2.6.8 (May 4, 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.

New in Bochs 2.6.7 (Nov 3, 2014)

  • LGPL'd VGABIOS updated from CVS (fixed building VBE modes list)
  • 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.
  • Misc:
  • Visual Studio workspace files updated to VS2013Ex format.
  • bximage_old/bxcommit: removed old obsolete image manipulation tools.
  • Documentation fixes and updates.

New in Bochs 2.6.6 (Jun 16, 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

New in Bochs 2.6.5 (Jun 2, 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 disam 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.

New in Bochs 2.6.2 (May 27, 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.

New in Bochs 2.6.1 (Apr 8, 2013)

  • CPU / CPUDB:
  • Bochs is fully aligned with rev45 of the of Intel(R) Architecture Manual.
  • Implemented Supervisor Mode Access Protection (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

New in Bochs 2.6 (Sep 3, 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)

New in Bochs 2.5.1 (Jan 9, 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

New in Bochs 2.5 (Nov 28, 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 "
  • 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

New in Bochs 2.5 Pre 1 (Nov 7, 2011)

  • 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 Archicture Manual (rev 040, AVX rev 011): XSAVEOPT, AVX/AVX2/FMA/F16C, BMI1/BMI2, SMEP, INVPCID; VMX: VMX Preemption Timer, Pause Loop Exiting and VM Functions
  • Implemented support for AMD SSE4A/XOP/FMA4/TBM instruction sets
  • etworking: 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

New in Bochs 2.4.6 (Feb 22, 2011)

  • 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 suppport)
  • Added write protect option for floppy drives.
  • Bugfixes / improved internal debugger + instrumentation.

New in Bochs 2.4.5 (Apr 26, 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_adress 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

New in Bochs 2.4.2 (Nov 10, 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

New in Bochs 2.4.1 (Jun 7, 2009)

  • Fixed bunch of CPUID issues
  • Bochs is now able to install and boot 64-bit Windows images!
  • Several bugfixes in CPU emulation (mostly for x87 instructions)
  • Fixed two critical deadlock bugs in the Win32 gui.
  • 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.
  • Rewritten obsolete hash_map code in dbg symbols module.
  • BIOS: implemented missing INT 15h/89h.

New in Bochs 2.3.7 (Jun 5, 2008)

  • 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