-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathCHANGES
4372 lines (4029 loc) · 210 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
-------------------------------------------------------------------------
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):