Changes in 2.6 (not yet released): - CPU - Implemented EPT A/D extensions support. Bochs is fully aligned with the latest published revision of Intel Architecture Manual (revision 043) now. - Implemented ADX (ADCX/ADOX) instructions support, the feature can be enabled using .bochsrc CPUID option. - Another 10% CPU emulation speedup with even more optimal lazy flags handling and stack access optimizations - 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 in 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 - Implemented "hideIPS" option in sdl and wx libraries - 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 - 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 [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)