Subject: CVS commit: pkgsrc/emulators/bochs
From: Ryo ONODERA
Date: 2015-07-01 15:39:17
Message id: 20150701133917.CF01798@cvs.netbsd.org

Log Message:
Update 2.6.2 to 2.6.8
---------------------
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 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.

Files:
RevisionActionfile
1.82modifypkgsrc/emulators/bochs/Makefile
1.18modifypkgsrc/emulators/bochs/PLIST
1.30modifypkgsrc/emulators/bochs/distinfo
1.1addpkgsrc/emulators/bochs/patches/patch-iodev_network_slirp_compat_cc