1 Changes after 2.3.7 release:
5 - Added graphical Bochs debugger under Win32 host !
6 - Thanks for Chourdakis Michael and Bruce Ewing.
7 - Many fixes in Bochs internal debugger and CPU instrumentation.
8 - Bugfixes for CPU emulation correctness.
12 - CPU and internal debugger
13 - Support new Intel Atom(R) MOVBE instruction, to enable configure with
15 - Support for 1G pages in long mode, to enable configure with
16 --enable-1g-pages option
17 - Implemented modern BIOSes mode limiting max reported CPUID function
18 to 3 using .bochsrc CPU option. The mode is required in order to
19 correctly install and boot WinNT.
20 - Many bugfixes for CPU emulation correctness (both x86 and x86-64).
21 - Updated CPU instrumentation callbacks.
22 - Fixed Bochs internal debugger breakpoints/watchpoints handling.
24 - Configure and compile
25 - Added ability to configure CPUID vendor/brand strings through .bochsrc
26 (patch from @SF by Doug Reed).
27 - Removed Peter Tattam's closed source external debugger interface from
29 - Added ability to choose Bochs log file name and Bochs debugger log file
30 name from Bochs command line (using new -log and -dbglog options)
31 - Removed --enable-guest2hos-tlb configure option. The option will be
32 always enabled for any Bochs configuration.
35 - Added S3 (suspend to RAM) ACPI state to BIOS (patch by Gleb Natapov)
39 - PACKET-DMA feature now supported by all ATAPI commands
40 - ATAPI command 0x1A added (based on the Qemu implementation)
42 - implemented I/O APIC device hardware reset
44 - Added limited ALSA sound support on Linux (PCM/MIDI output)
45 - FM synthesizer now usable with MIDI output (simple piano only)
46 - Fixed OPL frequency to MIDI note translation
47 - Fixed MIDI output command
49 - added keyboard controller commands 0xCA and 0xCB
52 - Updated Bochs TESTFORM to version 0.4
55 [2403372] rombios: check for valid cdrom before using it by Sebastian
56 [2307269] acpi: handle S3 by Sebastian
57 [2354134] TAP networking on Solaris/Sparc repaired
58 [2144692] The scsi device can not complete its writing data command by naiyue
59 [1827082] [PATCH] Configurable CPU vendor by Marcel Sondaar
60 [2217229] Panic on EBDA overflow in rombios32 by Sebastian
61 [2210194] Log pci class code by Sebastian
62 [1984662] red led for disk write and titlebar mod by ggbsf
63 [2142955] Fix for monitor/mwait by Doug Gibson
64 [2137774] Patch to fix bug: cdrom: read_block: lseek returned error by Gabor Olah
65 [2134642] Fix scan_to_scanascii table for F11 and F12 by Ben Guthro & Steve Ofsthun
66 [2123036] sdl fullscreen fix by ggbsf
67 [2073039] Remove CMOS accsess from AML code by Gleb Natapov
68 [2072168] smbios: add L1-L3 cache handle to processor information by Sebastian
69 [2055416] bochsrc cpu options for cpuid vendor and brand string by Doug Reed
70 [2035278] rombios: Fix return from BEV via retf by Sebastian
71 [2035260] rombios: El Torito load segment fix by Sebastian
72 [2031978] Fix VMware backdoor command 0Ah by Jamie Lokier
73 [2015277] Remove obsolete comment about DATA_SEG_DEFS_HERE hack by Sebastian
74 [2011268] Set new default format and unit only if both are supported by Sebastian
75 [2001919] gdbstub: fix qSupported reply by Sebastian
76 [2001912] gdbstub: enclose packet data by apostrophes by Sebastian
77 [1998071] fix missing SIGHUP and SIGQUIT with term ui on mingw by Sebastian
78 [1998063] fix wrong colors with term ui by Sebastian
79 [1995064] Compile fix needed for --enable-debugger and gcc 4.3 by Hans de Goede
80 [1994564] Fix typo in RDMSR BX_MSR_MTRRFIX16K_A0000 by Sebastian
81 [1994396] Change hard_drive_post #if by Sebastian
82 [1993235] TESTFORM email address update by Sebastian
83 [1992322] PATCH: fix compilation of bochs 2.3.7 on bigendian machines by Hans de Goede
84 [1991280] Shutdown status code 0Ch handler by Sebastian
85 [1990108] Shutdown status code 0Bh handler by Sebastian
86 [1988907] Shutdown status code 0Ah handler by Sebastian
87 [1984467] two typos in a release! (2.3.7)
88 [1981505] Init PIIX4 PCI to ISA bridge and IDE by Sebastian
90 - these S.F. bugs were closed
91 [2105989] could not read() hard drive image file at byte 269824
92 [1173093] Debugger totally not supports x86-64
93 [1803018] new win32debug dialog problems
94 [2141679] windows vcc build broken
95 [2162824] latest cvs fails to compile
96 [2164506] latest bochs fails to start
97 [2106514] RIS / startrom.com install ALMOST works
98 [2123358] SMP (HTT): wbinvd executed by CPU1 crashes CPU0
99 [2029758] BEV can return via retf instead of int 18h
100 [2026501] El Torito incorrect boot segment:offset
101 [2010173] x command breaks after one error about x/s or x/i
102 [2002758] Arch Linux: >>PANIC<< ATAPI command with zero byte count
103 [1992138] Misspell in cpu/ia_opcodes.h
104 [1990187] testform feedback
105 [1985387] fail to make using gcc4 with --enable-debugger
106 [1976171] Keyboard missing break code for enter (0x9C)
107 [1952548] String to char * warnings
108 [1940714] SYSENTER/SYSEXIT doesn't work in long mode
109 [1936132] Link problem with --enable-debugger & --enable-disasm
110 [1934477] Linear address wrap is not working
111 [1923803] legacy rombios - e820 map and ACPI_DATA_SIZE
112 [1919328] 00000000000i[APIC?] local apic in initializing
113 [1902928] with debugger cpu_loop leaves CPU with unstable state
114 [1898929] Bochs VESA BIOS violates specs (banks == 1)
115 [1875721] Bit "Accessed" in LDT/GDT descriptors & #PF
116 [1874124] bx_Instruction_c::ilen() const
118 - these S.F. feature requests were closed/implemented
119 [1363136] Full debugger SMP and 64 bit support
120 [2068304] Support for ACPI
121 [431032] debugger "x" command
122 [423420] profiling ideas (SMF)
123 [445342] Add FM support?
126 -------------------------------------------------------------------------
127 Changes in 2.3.7 (June 3, 2008):
131 + More optimizations in CPU code - Bochs 2.3.7 is more than 2x faster
132 than Bochs 2.3.5 build !
133 - Implemented LBA48 support in BIOS
134 - Added memory access tracing for Bochs internal debugger
135 - Implemented Intel(R) XSAVE/XRSTOR and AES instruction set extensions
136 - Many fixes in CPU emulation and internal debugger
137 - MenuetOS64 floppy images booting perfect again !
138 - updated LGPL'd VGABIOS to version 0.6b
140 Detailed change log :
143 - Support of XSAVE/XRSTOR CPU extensions, to enable configure with
144 --enable-xsave option
145 - Support of AES CPU extensions, to enable configure with
147 - Fixed Bochs failure on RISC host machines with BxRepeatSpeedups
149 - Implemented SYSENTER/SYSEXIT instructions in long mode
150 - More than 100 bugfixes for CPU emulation correctness (both x86 and x86-64)
151 - MenuetOS64 floppy images booting perfect again !
152 - Updated CPU instrumentation callbacks
154 - Bochs Internal Debugger and Disassembler
155 - Added memory access tracing for Bochs internal debugger, enable
156 by typing 'trace-mem on' in debugger command line
157 - Many bug fixes in Bochs internal debugger and disassembler
159 - System BIOS (Volker)
160 - Implemented LBA48 support
161 - Added generation of SSDT ACPI table that contains definitions
162 for available processors
163 - Added RTC device to ACPI DSDT table
164 - Added implementation of SMBIOS
166 - I/O devices (Volker)
168 - Implemented screen disable bit in sequencer register #1
169 - Implemented text mode cursor blinking
171 - new serial modes 'pipe-server' and 'pipe-client' for win32
172 - new serial mode 'socket-server'
174 - Configure and compile
175 - Fixed configure bug with enabling of POPCNT instruction, POPCNT
176 instruction should be enabled by default when SSE4.2 is enabled.
177 - Removed --enable-magic-breakpoint configure option. The option is
178 automatically enabled if Bochs internal debugger is compiled in.
179 It is still possible to turn on/off the feature through .bochsrc.
180 - Allow boot from network option in .bochsrc
181 - Added Bochs version info for Win32
184 - implemented text mode character blinking in some guis
185 - improved 'X' gui runtime dialogs
188 [1980833] Fix shutdown status code 5h handler by Kevin O'Connor
189 [1928848] "pipe" mode for serial port (win32 only) by Eugene Toder
190 [1956843] Set the compatible pci interrupt router back to PIIX by Sebastian
191 [1956366] Do not announce C2 & C3 cpu power state support by Igor Lvovsky
192 [1921733] support for LBA48 by Robert Millan
193 [1938185] Fix link problem with --enable-debugger by Sebastian
194 [1938182] Makefile.in - use @IODEV_LIB_VAR@ by Sebastian
195 [1928945] fix for legacy rombios - e820 map and ACPI_DATA_SIZE by Sebastian
196 [1925578] rombios32.c - fix ram_size in ram_probe for low memory setup by Sebastian
197 [1908921] rombios32.c - move uuid_probe() call by Sebastian
198 [1928902] improvements to load-symbols by Eugene Toder
199 [1925568] PATCH: msvc compilation by Eugene Toder
200 [1913150] rombios.c - e820 cover full size if memory <= 16 mb by Alexander van Heukelum
201 [1919804] rombios.c - fix and add #ifdef comments by Sebastian
202 [1909782] rombios.c - remove segment values from comment by Sebastian
203 [1908918] SMBIOS - BIOS characteristics fix by Sebastian
204 [1901027] BIOS boot menu support (take 3)
205 [1902579] rombios32.c - define pci ids by Sebastian
206 [1859447] Pass segment:offset to put_str and introduce %S by Sebastian
207 [1889057] rombios.c - boot failure message by Sebastian
208 [1891469] rombios.c - print BEV product string by Sebastian
209 [1889851] Win32 version information FILEVERSION for bochs.exe by Sebastian
210 [1889042] rombios.c - fix comment by Sebastian
211 [1881500] bochsrc, allow boot: network by Sebastian
212 [1880755] Win32 version information for bochs.exe by Sebastian
213 [1880471] SMBIOS fix type 0 by Sebastian
214 [1878558] SMBIOS fixes by Sebastian
215 [1864692] SMBIOS support by Filip Navara
216 [1865105] Move bios_table_area_end to 0xcc00 by Sebastian
217 [1875414] Makefile.in - change make use by Sebastian
218 [1874276] Added instrumentation for sysenter/sysexit by Lluis
219 [1873221] TLB page flush: add logical address to instrumentation by Lluis
220 [1830626] lba32 support by Samuel Thibault
221 [1861839] Move option rom scan after floppy and hard drive post by Sebastian
222 [1838283] Early vga bios init by Sebastian
223 [1838272] rom_scan range parameter by Sebastian
224 [1864680] Save CPUID signature by Filip Navara
226 - these S.F. bugs were closed
227 [1976171] Keyboard missing break code for enter (0x9C)
228 [666433] physical read/write breakpoint sometimes fails
229 [1744820] info gdt and info idt shows the entire tables
230 [1755652] graphics: MenuetOS64 shows black screen
231 [1782207] Windows Installer malfunction, Host=Linux, Guest=Win98SE
232 [1697762] OS/2 Warp Install Failed
233 [1952548] String to char * warnings
234 [1940714] SYSENTER/SYSEXIT doesn't work in long mode
235 [1422342] SYSRET errors
236 [1923803] legacy rombios - e820 map and ACPI_DATA_SIZE
237 [1936132] Link problem with --enable-debugger & --enable-disasm
238 [1934477] Linear address wrap is not working
239 [1424984] virtual machine freezes in Bochs 2.2.6
240 [1902928] with debugger cpu_loop leaves CPU with unstable state
241 [1898929] Bochs VESA BIOS violates specs (banks == 1)
242 [1569256] bug in datasegment change in long mode
243 [1830662] ACPI: no DMI BIOS year, acpi=force is required
244 [1868806] VGA blink enable & screen disable
245 [1875721] Bit "Accessed" in LDT/GDT descriptors & #PF
246 [1874124] bx_Instruction_c::ilen() const
247 [1873488] bochs-2.3.6 make fails on dbg_main.cc
249 - these S.F. feature requests were implemented
250 [1422769] SYSENTER/SYSEXIT support in x86-64 mode
251 [1847955] Version information for bochs(dbg).exe
252 [939797] SMBIOS support
254 -------------------------------------------------------------------------
255 Changes in 2.3.6 (December 24, 2007):
259 + More than 25% emulation speedup vs Bochs 2.3.5 release!
261 - Thanks to Darek Mihocka (http://www.emulators.com)
262 for providing patches and ideas that made the
265 + Up to 40% speedup vs Bochs 2.3.5 release with trace cache optimization!
267 - Lots of bugfixes in CPU emulation
268 - Bochs benchmarking support
269 - Added emulation of Intel SSE4.2 instruction set
271 Detailed change log :
274 - Added emulation of SSE4.2 instruction set, to enable use
275 --enable-sse=4 --enable-sse-extension configure options
276 to enable POPCNT instruction only use configure option
278 - Implemented MTRR emulation, to enable use --enable-mtrr configure
279 option. MTRRs is enabled by default when cpu-level >= 6.
280 - Implemented experimental MONITOR/MWAIT support including optimized
281 MWAIT CPU state and hardware monitoring of physical address range,
282 to enable use --enable-monitor-mwait configure option.
283 - Removed hostasm optimizations, after Bochs rebenchmarking it was found
284 that the feature bringing no speedup or even sometimes slows down
286 - Merged trace cache optimization patch, the trace cache optimization
287 is enabled by default when configure with --enable-all-optimizations
288 option, to disable trace cache optimization configure with
289 --disable-trace-cache
290 - Many minor bugfixes in CPU emulation (both ia32 and x86-64)
291 - Updated CPU instrumentation callbacks
293 - Bochs Internal Debugger and Disassembler
294 - Many fixes in Bochs internal debugger and disassembler, some debugger
295 interfaces significantly changed due transition to the param tree
297 - Added support for restoring of the CPU state from external file
298 directly from Bochs debugger
300 - Configure and compile
301 - Renamed configure option --enable-4meg-pages to --enable-large-pages.
302 The option enables page size extensions (PSE) which refers to 2M pages
304 - Removed --enable-save-restore configure option, save/restore feature
305 changed to be one of the basic Bochs features and compiled by default
306 for all configurations.
307 - Added new Bochs benchmark mode. To run Bochs in benchmark mode execute
308 it with new command line option 'bochs -benchmark time'. The emulation
309 will be automatically stopped after 'time' millions of emulation
311 - Another very useful option for benchmarking of Bochs could be enabled
312 using new 'print_timestamps' directive from .bochsrc:
313 print_timestamps: enable=1
314 - Added --enable-show-ips option to all configuration scripts used to
315 build release binaries, so all future releases will enjoy IPS display.
316 - Enable alignment check in the CPU and #AC exception by default for
317 --cpu-level >= 4 (like in real hardware)
320 [1491207] Trace Cache Speedup patch by Stanislav
321 [1857149] Define some IPL values by Sebastian
322 [1850183] Get memory access mode in BX_INSTR_LIN_READ by Lluis Vilanova
323 [1841421] pic: keep slave_pic.INT and master_pic.IRQ_in bit 2 in sync by Russ Cox
324 [1841420] give segment numbers in exception logs by Russ Cox
325 [1801696] Allow Intel builds on Mac OS X
326 [1830658] Fix >32GB disk banner by Samuel Thibault
327 [1813314] Move #define IPL_* and typedef ipl_entry by Sebastian
328 [1809001] Save PnP Option ROM Product Name string in IPL Boot Table by Sebastian
329 [1821242] Fix for #1801285, Niclist.exe broken by Sebastian
330 [1819567] Code warning cleanup
331 [1816162] Update comment on bios_printf() by Sebastian
332 [1811139] Trivial Fix when BX_PCIBIOS and BX_ROMBIOS32 not defined by Myles Watson
333 [1811190] Improve HD recognition and CD boot by Myles Watson
334 [1811860] Implement %X in bios_printf by Sebastian
335 [1809649] printf %lx %ld %lu by Myles Watson
336 [1809651] move BX_SUPPORT_FLOPPY by Myles Watson
337 [1809652] dpte and Int13DPT fixes by Myles Watson
338 [1809669] clip cylinders to 16383 in hard drive by Myles Watson
339 [1799903] Build BIOS on amd64 by Robert Millan
340 [1799877] Fix for parallel build (make -j2) by Robert Millan
342 - these S.F. bugs were closed
343 [1837354] website bug: View the Source link broken
344 [1801268] Reset from real mode no longer working
345 [1843250] Using forward slashes gives invalid filename
346 [1823446] BIOS bug, local APIC #0 not detected
347 [1801285] Niclist.exe broken
348 [1364472] breakpoints sometimes don't work
349 [994451] breakpoint bug
350 [1801295] NSIS installer vs Windows Notepad
351 [1715328] Unreal mode quirk
352 [1503972] debugger doesn't debug first instruction on exception
353 [1069071] div al, byte ptr [ds:0x7c18] fails to execute
354 [1800080] Wrong "BX_MAX_SMP_THREADS_SUPPORTED" assertion
356 - these S.F. feature requests were implemented
357 [1662687] Download for Win32-exe with x64 Mode and debugging
358 [604221] Debugger command: query lin->phys mapping
360 -------------------------------------------------------------------------
361 Changes in 2.3.5 (September 16, 2007):
364 - Critical problems fixed for x86-64 support in CPU and Bochs internal debugger
366 - The release compiled with x86-64 and ACPI
367 - Hard disk emulation supports ATA-6 (LBA48 addressing, UDMA modes)
368 - Added emulation of Intel SSE4.1 instruction set
370 Detailed change log :
373 - Fixed critical bug with 0x90 opcode (NOP) handling in x86-64 mode
374 - implied stack references where the stack address is not in canonical form
375 should causes a stack exception (#SS)
376 - Added emulation of SSE4.1 instruction set (Stanislav)
377 - Do not save and restore XMM8-XMM15 registers when not in x86-64 mode
378 - Fixed zero upper 32-bit part of GPR in x86-64 mode
379 - CMOV_GdEd should zero upper 32-bit part of GPR register even if the
380 'cmov' condition was false !
381 - Implemented CLFLUSH instruction, report non-zero cache size in CPUID
382 - Fixed PUSHA/POPA instructions behavior in real mode
383 - Fixed detection of inexact result by FPU
384 - Fixed denormals-are-zero (DAZ) handling by SSE convert instructions
385 - Implemented Misaligned Exception Mask support for SSE (MXCSR[17])
386 - Implemented Alignment Check in the CPU and #AC exception, to enable
387 use --enable-alignment-check configure option
390 - 2nd simulation support in wxBochs now almost usable (simulation cleanup
391 code added and memory leaks fixed)
393 - Configure and compile
394 - several fixes for MacOSX, OpenBSD and Solaris 10
395 - enable save/restore feature by default for all configurations
396 - reorganized SSE configure options to match Intel(R) Programming
397 Reference Manual, new option introduced for SSE extensions enabling.
398 To enable Intel Core Duo 2 new instructions use
399 --enable-sse=3 --enable-sse-extension
400 enabling of SSE4.1 (--enable-sse=4) will enable SSE3 extensions as well
401 - removed old PIT, always use new PIT written by Greg Alexander,
402 removed configure option --enable-new-pit
404 - I/O devices (Volker)
406 - partial non-DMA mode support (patch by John Comeau)
408 - hard disk emulation now supports ATA-6 (LBA48 addressing, UDMA modes)
409 - VMWare version 4 disk image support added (patch by Sharvil Nanavati)
411 - initial support for the PIIX4 ACPI controller
413 - added support for 3-button mouse with Mousesystems protocol
415 - experimental USB device change support added
416 - rewrite of the existing USB devices code
417 - new USB devices 'disk' and 'tablet' (ported from the Qemu project)
419 - Bochs internal debugger
420 - fixed broken debugger "rc file" option (execute debugger command from file)
421 - implementation of a gui frontend ("windebug") for win32 started
422 - gdbstub now accepts connection from any host
423 - several documentation updates
424 - a lot of disasm and internal debugger x86_64 support fixes
426 - Configuration interface
427 - fixes and improvements to the save state dialog handling
430 - text mode color handling improved in some guis
431 - win32 fullscreen mode (patch by John Comeau)
433 - System BIOS (Volker)
434 - 32-bit PM BIOS init code for ACPI, PCI, SMP and SMM (initial patches by
436 - PCI BIOS function "find class code" implemented
439 [1791000] 15h 8600h is reading the wrong stack frame by Sebastian
440 [1791016] rombios32.c, ram_probe(), BX_INFO missing value by Sebastian
441 [1786429] typo in bochsrc.5 by Sebastian
442 [1785204] Extend acpi_build_table_header to accept a revision number by Sebastian
443 [1766536] Partial Patch for Bug Report 1549873 by Ben Lunt
444 [1763578] ACPI Table Revision 0 -> 1
445 [1642490] implement alignment check and #AC exception by Stanislav Shwartsman
446 [1695652] [PATCH] .pcap pktlog and vnet PXE boot by Duane Voth
447 [1741153] Add expansion-ROM boot support to the ROMBIOS
448 [1734159] Implemented INT15h, fn 0xC2 (mouse), subfn 3, set resolution
449 [1712970] bios_printf %s fix
450 [1573297] PUSHA/POPA real mode fix by Stanislav Shwartsman
451 [1641816] partial support for non-DMA access to floppy by John Comeau
452 [1624032] shows where write outside of memory occurred by John Comeau
453 [1607793] allow fullscreen when app requests it by John Comeau
454 [1603013] Bugfix for major NOP problem on x64 by mvysin
455 [1600178] Make tap and tuntap compile on OpenBSD by Jonathan Gray
456 [1149659] improve gdbstub network efficiency by Avi Kivity
457 [1554502] Trivial FPU exception handling fix
459 - these S.F. bugs were closed
460 [1316008] Double faults when it shouldn't - gcc 4.0.2
461 [1787289] broken ABI for redolog class when enable-compressed-hd
462 [1787500] tftp_send_optack not 64bit clean
463 [1264540] Security issue with Bochs website
464 [1767217] Debugger Faults including ud2
465 [1729822] Various security issues in io device emulation
466 [1675202] mptable hosed (bad entry count in header)
467 [1197141] 'make install' installs to bad location
468 [1157623] x86Solaris10 cannot recoginize ACPI RSD PTR
469 [1768254] large HDD in Bochs/bximage
470 [1496157] Windows Vista Beta2 dosn't boot
471 [1755915] Illegal Hard Disk Signature Output
472 [1717790] info gdt and info idt scrolls away, too long result
473 [1726640] Debugger displays incorrect segment for mov instruction
474 [1719156] Typo in misc_mem.cpp
475 [1715270] Debugger broken in/beyond 2.3
476 [1689107] v8086 mode priviledge check failed
477 [1704484] A few checks when CPU_LEVEL < 4
478 [1678395] Problem with zero sector...
479 [876990] SA-RTL OS fails on PIC configuration
480 [1673582] save/restore didn't restore simulation correctly
481 [1586662] EDD int 13h bug, modify eax
482 [666618] POP_A Panic in DOS EMU
483 [1001485] panic: not enough bytes on stack
484 [1667336] delay times an order of magnitude slow
485 [1665601] crash disassembling bootcode
486 [1657065] CVS sources won't compile
487 [1653805] bochs's gdbstub uses incorrect protocol
488 [1640737] ASM sti command frezzes guest OS
489 [1636439] latest CVS sources don't compile under Cygwin
490 [1634357] disasm incorrect (no sign ext) displacement in 64-bit mode
491 [1376453] pcidev segfaults bochs
492 [1180890] IOAPIC in BOCHS - WinXP 64 in MP version
493 [1597528] 2.3 fails to compile on amd64
494 [1526255] FLD1 broken when compaling with gcc 4.0.x
495 [1597451] eth_fbsd is broken under FreeBSD
496 [1571949] Bochs will not compile under Solaris
497 [1500216] Bochs fails to boot BeOs CD
498 [1458339] bochs-2.2.6 WinXP Binary ACPI error installing FreeBSD 6.0
499 [1440011] patches needed for FreeBSD 6.0 to compile Bochs
500 [431674] some devices don't have a prefix
501 [458150] QNX demo disk crashes with new pit
502 [818322] Bochs 2.1 cvs: OS/2 - read verify on non disk
503 [906840] KBD: bogus scan codes generated in set 3
504 [1005053] No keyboard codes translation
505 [1109374] Problem with Scancodeset 2
506 [1572345] Bochs won't continue
507 [1568153] Bochs looks for (and loads?) unspecified display libraries
508 [1563462] Errors in /iodev/harddrv.h
509 [1562172] TLB_init() fails to initialize priv_check array if USE_TLB 0
510 [1385303] debugger crashes after panic
511 [1438227] crc.cpp missing in bx_debug version 2.2.6
512 [1501825] debugger crashes on to high input
513 [1420959] Memory leak + buffer overflow in Bochs debugger
514 [1553289] Error in Dis-assembler
515 [542464] I cannot use FLAT
516 [1548270] Bochs won't die with its pseudo terminal
517 [1545588] roundAndPackFloatx80 does not detect round up correctly
519 -------------------------------------------------------------------------
520 Changes in 2.3 (August 27, 2006):
523 - limited save/restore support added (config + log options, hardware state)
524 - configuration parameter handling rewritten to a parameter tree
525 - lots of cpu and internal debugger fixes
526 - hard disk geometry autodetection now supported by most of the image types
527 - hard disk emulation now supports ATA-3 (multiple sector transfers)
528 - VBE memory size increased to 8MB and several VGA/VBE fixes
529 - updated LGPL'd VGABIOS to version 0.6a
531 Detailed change log :
533 - CPU and internal debugger fixes
534 - Fixed bug in FSTENV instruction (Stanislav Shwartsman)
535 - Recognize #XF exception (19) when SSE is enabled
536 - Fixed bug in PSRAW/PSRAD MMX and SSE instructions
537 - Save and restore RIP/RSP only for FAULT-type exceptions, not for traps
538 - Correctly decode, disassemble and execute multi-byte NOP '0F F1' opcode
539 - Raise A20 line after system reset (Stanislav Shwartsman)
540 - Implemented SMI and NMI delivery (APIC) and handling in CPU (Stanislav)
541 - Experimental implementation of System Management Mode (Stanislav)
542 - Added emulation of SSE3E instructions (Stanislav Shwarstman)
543 - Save and restore FPU opcode, FIP and FDP in FXSAVE/FRSTOR instructions
544 - Fixed bug in MOVD_EdVd opcode (always generated #UD exception)
545 - Fixed critical issue, Bochs was not supporting > 16 bit LDT.LIMIT values
546 - Many fixes in Bochs internal debugger and disassembler
549 - Fixed SYSRET instruction implementation
550 - Fixed bug in CALL/JMP far through 64-bit callgate in x86-64 mode
551 - Correctly decode, disassemble and execute 'XCHG R8, rAX' instruction
552 - Correctly decode and execute 'BSWAP R8-R15' instructions
553 - Fixed ENTER and LEAVE instructions in x86-64 mode (Stanislav)
554 - Fixed CR4 exception condition (No Name)
555 - Fixed x86 debugger to support x86-64 mode (Stanislav)
558 - Support for Dual Core and Intel(R) HyperThreading Technology. Now you
559 could choose amount of cores per processor and amount of HT threads per
560 core from .bochsrc for SMP simulation (Stanislav Shwartsman)
561 - Allow to control SMP quantum value through .bochsrc CPU
562 option parameter. Previous Bochs versions used hardcoded quantum=5
564 - Fixed interrupt priority bug in service_local_apic()
565 - Fixed again reading of APIC IRR/ISR/TMR registers. Finally it becomes
568 - Configure and compile
569 - Moved configure time --enable-reset-on-triple-fault option to runtime,
570 the 'cpu' option in .bochsrc is extended and the old configure option
571 is deprecated (Stanislav Shwartsman)
572 - Removed --enable-pni configure option, to compile with PNI use
573 --enable-sse=3 instead (Stanislav Shwartsman)
574 - enable SEP (SYSENTER/SYSEXIT) support by default for Penitum II+
575 processor emulation (i.e. if cpu-level >= 6 and MMX is enabled)
578 - Limited save/restore support added. The state of CPU, memory and all
579 devices can be saved now (state of harddisk images not handled yet).
580 - Fixed several memory leaks
582 - configuration interface
583 - Configuration parameter handling rewritten to a parameter tree. This is
584 required for dynamic menus/dialogs, user-defined options and save/restore.
585 - Support for user-defined bochsrc options added
586 - help support at the parameter prompt in textconfig added
588 - I/O devices (Volker)
590 - partial sector transfers fixed
592 - several fixes to the IDE register behaviour (e.g. in case of a channel
593 with only one drive connected)
594 - fixed data alignment of 'growing' hard drive images (sharing images
595 between Windows and Linux now possible)
596 - disk geometry autodetection now supported by most of the image types
597 (unsupported: external, dll and compressed modes)
598 - multi sector read/write commands implemented
599 - hard disk now reporting ATA-3 supported
600 - ATAPI 'inquiry' now returns a unique device name
602 - reset sent to keyboard has no effect on the 8042 (scancode translation)
604 - forward PIRQ register changes to the I/O APIC (if present)
605 - attempt to fix and update the emulation part of 'pcidev' (untested)
607 - VBE memory size increased to 8MB and several VBE fixes
608 - VGA memory read access fixed (bit plane access and read mode)
609 - VGA memory is now a part of the common video memory
611 - System BIOS (Volker)
612 - enable interrupts before executing INT 19h
613 - fixed ATA device detection in case of one drive only connected to controller
614 - improved INT 15h function AX=E820h
615 - real mode PCI BIOS now returns IRQ routing information (function 0Eh)
616 - keyboard LED flags handling fixed and improved
617 - fixed handling of extended keys in INT 09h
618 - Updated LGPL'd VGABIOS to version 0.6a
621 [1340111] fixes and updates to usb support by Ben Lunt
622 [1539420] minor addition to pci_usb code by Ben Lunt
623 [1455958] call/jmp through call gate in 64-bit mode
624 [1433107] PATCH: fix compile with wxwindows 2.6 (unicode / utf8) by jwrdegoede
625 [1386671] Combined dual core and hyper-threading patch
627 - these S.F. bugs were closed
628 [833927] TTD: System Error TNT.40025: Unexpected processor exception
629 [789230] Sending code that shows lock up when setting idt
630 [909670] Problems with Symantec Ghost
631 [1540241] include missing in osdep.cc
632 [1539373] Incorrect disasm for "mov moffset,bla" in 64bit
633 [1538419] incorrect disassembly of [rip+disp] with rex.b
634 [1535432] shift+cursor key maps to a digit
635 [1504891] Knoopix 5.0.1 error
636 [1424355] bochs-2.2.6 ata failure in windoze 98se
637 [1533979] wrong disassembly of IN instruction
638 [620059] paste won't stop
639 [1164904] status bar doesn't show num/caps/scroll lock status
640 [1061720] ATA Support level for HD
641 [1522196] Broken CHANGES link in main page
642 [1438415] crash if screen scrolled downwards
643 [778441] Shouldn't interrupts be enable after BIOS?
644 [1514949] I got a problem with the 8253 timer
645 [1513544] disasm of 0xec (in AL,DX) returns ilen of 2 instead of 1
646 [1508947] APIC interrupt priority checking and interrupt delivery
647 [766286] Debugger halts after any GPF exception
648 [639143] va_list is not a pointer on linuxppc
649 [1501815] debugger examines memory over page-boundary wrong
650 [1503978] movsb/w/d doesn't work when direction is stored
651 [1499405] WinPCap has changed URL hosting
652 [1498519] APIC IRR bits not set while interrupts disabled
653 [1498193] Bochs segfaults on LTR instruction
654 [787140] Guest2HostTLB optimization bug
655 [1492070] instrument stop
656 [1487772] No SEP on P4
657 [1488335] Growing hard disk images severe interoperability errors!
658 [1076312] Shadow RAM and TLB
659 [1282249] The real i440FX chipset Award bios hangs
660 [1479763] mistake "mov ax,[es:di]" for "mov ax,[ds:di]"
661 [1453575] Misconfigured floppy DMA transfers do not terminate.
662 [1460068] Incorrect handling for the Options Menu Item
663 [910203] bochs-2.1.1 wx.lo failed
664 [1438654] PANIC when trying to run install-amd64-minimal-2005.0.iso
665 [1458320] compile hdimage.h fails
666 [1455880] bochs-2.2.6,2: make error on FreeBSD
667 [696890] Network wouldn't run under W2k hosting MSDOS
668 [673391] SMP timer problems
669 [1291059] wxWindows GUI on non-windows/configure issue
670 [1356450] bochs 2.2.1 errors-omittions
671 [1178017] Win98 guest cannot receive network packets from host
672 [1076315] a20_mask after restarting
673 [1436323] real hw does not panic when bad Ib in CMPSS_VssWssIb
674 [1435269] cdrom_amigaos is not compilable
675 [1433314] disasm issues
676 [1170614] relative jumps/calls wrong in debugger
677 [758121] user might get confused when interrupt handler invoked
678 [1170622] You cannot toggle OFF "show" flags
679 [1406387] JMP instruction should display absolute address
680 [1428813] PANIC: ROM address space out of range
681 [1426288] DR-DOSs EMM386 problem
682 [1412036] Bochs cannot recognize PCI NIC correctly
683 [435115] dbg: modebp broken and no docs
684 [1419366] disasm cs:eip does not work anymore
685 [1419393] SSE's #XF exception -> "exception(19): bad vector"
686 [1419429] disassembly of "260f6f00" show DS: instead of ES: prefix
687 [1417583] Interrupt behaviour changed from 2.2.1 to 2.2.5
688 [1418281] 'push' (6A) incorrectly disassembled
689 [1417791] FLDENV generating exception when real hw does not.
690 [1264583] OS/2 1.1 doesn't run
692 -------------------------------------------------------------------------
693 Changes in 2.2.6 (January 29, 2006):
695 - First major SMP release !
696 - several APIC and I/O APIC fixes make SMP Bochs booting Windows NT4.0
697 or Knoppix 4.0.2 without noapic kernel option in SMP configuration.
698 - critical APIC timer bug fixed
699 - obsolete SMP BIOS images removed (MP tables created dynamicaly)
700 - determine number of processors in SMP configuration through .bochsrc
701 new .bochsrc option 'CPU' allows to choose number of processors to emulate
702 - new configure option --enable-smp to configure Bochs for SMP support,
703 the old --enable-processors=N option is deprecated
704 - CPU and internal debugger fixes
705 - enabled #PCE bit in CR4 register, previosly setting of this bit
706 generated #GP(0) fault
707 - enabled LAHF/SAHF instructions in x86-64 mode
708 - fixed bug in PMULUDQ SSE2 instruction
709 - fixes in Bochs debugger
710 - Configure and compile
711 - enable VME (virtual 8086 mode extensions) by default if cpu-level >= 5
712 - enable Bochs disassembler by default for all configurations
713 - win32 installer script improvements
714 - ips parameter moved to new 'CPU' option
715 - show IPS value in status bar if BX_SHOW_IPS is enabled
717 - several fixes in the hard drive, keyboard, timer, usb and vga code
718 - new user button shortcut "bksl" (backslash)
719 - updated Bochs instrumentation examples
720 - user and development documentation improved
722 -------------------------------------------------------------------------
723 Changes in 2.2.5 (December 30, 2005):
726 - added virtual 8086 mode extensions (VME) implementation
727 - several fixes/improvements in x86-64 emulation, debugger and disassembler
728 - new serial mode 'socket' connects a network socket
729 - IDE busmaster DMA feature for harddisks and cdroms completed and enabled
730 - many improvements in Bochs emulated I/O devices (e.g. floppy, cdrom)
731 - Updated LGPL'd VGABIOS to version 0.5d
733 Detailed change log :
736 - fixed XMM registers restore in FXRSTOR instruction (Andrej Palkovsky)
737 - print registers dump to the log if tripple fault occured
738 - fixed PANIC in LTR instruction (Stanislav)
739 - added virtual 8086 mode extensions (VME) implementation, to enable
740 configure with --enable-vme (Stanislav)
741 - flush caches and TLBs when executing WBINVD and INVD instructions
742 - do not modify segment limit and AR bytes when modifying segment
743 register in real mode (support for unreal mode)
744 - fixed init/reset values for LDTR and TR registers
745 - reimplemented hardware task switching mechanism (Stanislav)
746 - generate #GP(0) when fetching instruction cross segment boundary
748 - CPU (x86-64) (Stanislav Shwartsman)
749 - implemented call_far/ret_far/jmp_far instructions in long mode
750 - fixed IRET operation in long mode
751 - fixed bug prevented setting of NXE/FFXSR bits in MSR.EFER register
752 - implemented RDTSCP instruction
753 - do not check CS.limit when prefetching instructions in long mode
754 - fixed masked write instructions (MASKMOVQ/MASKMOVDQU) in long mode
755 - fetchdecode fixes for x86-64
758 - Fixed bug in changing local APIC id (Stanislav)
759 - Fixed reading of IRR/ISR/TMR registers (patch by wmrieker)
760 - Implemented spurious interrupt register (Stanislav, patch by wmrieker)
761 - Fixed interrupt delivery bug (anonymous #SF patch)
762 - Correctly implemented ESR APIC register (Stanislav)
765 - Fixed bug in bochs debugger caused breakpoints doesn't fire sometimes
767 - watchpoints in device memory fixed (Nickolai Zeldovich)
768 - new debug interface to access Bochs CPU general purpose registers
769 with support for x86-64
771 - Disassembler (Stanislav Shwartsman)
772 - Fixed disassembly for FCOMI/FUCOMI instructions
773 - Full x86-64 support in disassembler. The disassembler module extended
774 to support x86-64 extensions. Still limited by Bochs debugger which
775 is not supporting x86-64 at all ;(
777 - I/O devices (Volker)
779 - memory management prepared for large BIOS images (up to 512k)
780 - slowdown timer sleep rate fixed (now using 1 msec on all platforms)
781 - some device specific parameter handlers moved into the device code
783 - new serial mode 'socket' connects a network socket (#SF patch by Andrew Backer)
785 - assign a unique serial number to each drive (fixes harddrive detection
786 problems with Linux kernels 2.6.x: "ignoring undecoded slave")
787 - geometry autodetection for 'flat' hard disk images added. Works with
788 images created with bximage (heads = 16, sectors per track = 63)
789 - ATAPI command 'read cd' implemented, some other commands improved
790 - cdrom read block function now tries up to 3 times before giving up
791 - emulation of raw cdrom reads added, some other lowlevel cdrom fixes
792 - IDE busmaster DMA feature for harddisks and cdroms completed and enabled
793 - disk image size limit changed from 32 to 127 GB
794 - split ATA/ATAPI emulation code and image handling code
796 - fixes for OS/2 (patch by Robin Kay)
797 - disk change line behaviour fixed (initial patch by Ben Lunt)
798 - end-of-track (EOT) condition handling implemented
799 - more accurate timing for read/write data and format track commands using
800 a motor speed of 300 RPM
801 - timing of recalibrate and seek commands now depends on the step rate,
802 date rate and the steps to do
803 - floppy controller type changed to 82077AA
805 - RTC 12-hour and binary mode implemented
806 - number of CMOS registers changed from 64 to 128
807 - bochsrc option 'cmosimage' improved
808 - save cmos image on exit if enabled
810 - simple speaker support for OS X added (patch by brianonn@telus.net)
812 - BeOS boot failure fix in the PCI IDE code
813 - don't register i/o and memory regions during PCI probe
815 - memory allocation for vga extensions fixed
817 - some bugfixes by Ben Lunt (mouse and keypad are usable now)
819 - VDE networking module now enabled on Linux
823 - new syntax for the userbutton shortcut string and more keys supported
825 - fixed keycode generation for right alt/ctrl/shift keys
826 - runtime dialog is now a property sheet
828 - simple dialog boxes for the "ask" and "user shortcut" feature implemented
829 - Slovenian keymap added (contributed by Mitja Ursic)
831 - configuration interface
832 - ask dialog is now enabled by default for win32, wx and x display libraries
833 - bochsrc option floppy_command_delay is obsolete now (floppy timing now based
835 - floppy image size detection now available in the whole config interface
836 - some device specific parameter handlers moved into the device code
837 - calculate BIOS ROM start address from image if not specified
839 - System BIOS (Volker)
840 - PCI i/o and memory base address initialization added
841 - several keyboard interrupt handler fixes (e.g. patch by japheth)
842 - several floppy fixes (e.g. OS/2 works with patch by Robin Kay)
843 - some more APM functions added
844 - Updated LGPL'd VGABIOS to version 0.5d
845 - generate SMP specific tables dynamicly by the Bochs memory init code
848 [1389776] Disk sizes over 64 Gbytes by Andrzej Zaborowski
849 [1359162] disasm support for x86-64 by Stanislav Shwartsman
850 [857235] task priority and other APIC bugs, etc by wmrieker
851 [1359011] build breaks for 386 + debugger + disasm by shirokuma
852 [1352761] Infinite loop when trying to debug a triple exception
853 [1311170] small APIC bug fix (interrupt sent to the wrong CPU)
854 [1309763] Watchpoints don't work in device memory by Nickolai Zeldovich
855 [1294930] change line status on floppy by Ben Lunt
856 [1282033] SSE FXRESTORE not working correctly by Ondrej Palkovsky
857 [816979] wget generalizations by Lyndon Nerenberg
858 [1214886] No more pageWriteStamp / unified icache by H. Johansson
859 [1107945] com->socket redirection support by Andrew Backer
861 - these S.F. bugs were closed
862 [669180] win95 install : unknown SET FEATURES subcommand 0x03
863 [1346692] bochs 2.2.1 VGA BIOS error
864 [1354963] floppy in KolibriOS
865 [1378204] error: bochs-2.2.1, --enable-sb16, --disable-gameport
866 [1368412] VDE problems in BOCHS
867 [533446] CPU and APIC devices appear twice
868 [1000796] bximage fails to create image of specified size
869 [1170793] Quarterdeck QEMM doesn't work
870 [923704] Multiple opcode prefixes don't reflect Trap 13
871 [1166392] DocBook/documentation issues
872 [1368239] broken grater than 4GB size of sparse type hd image
873 [1365830] i386 compile breaks on paging
874 [427550] Incomplete IRETD implementation
875 [1215081] MSVC workspace STILL not fixed
876 [736279] Jump to Task
877 [1356488] FD change fail & occur error
878 [957615] [CPU ] prefetch: RIP > CS.limit
879 [1353866] not booting linux-2.6.14
880 [1351667] load32bitOSImage does not work with --enable-x86-debugger
881 [1217476] Incorrect (?) handling of segment registers in real mode
882 [1184711] OS2 DOS crash [2.2.pre2]
883 [624330] support for disks > 32GiB
884 [1348368] bochs 2.2.1 bximage error
885 [1342081] Configuration Menu option failed
886 [1138616] OS/2 Warp 4 hangs when booting
887 [1049840] mouse and video conflict
888 [1164570] Unable to perform Fedora Core 4 test 1 installation
889 [1183201] Windows 2000 (MSDN build 2150?) does not completely install
890 [1194284] Can't boot from CD-ROM (Windows NT)
891 [962969] Windows NT crashes while trying to intall them.
892 [1054594] WinXP install halts (redo)
893 [1153107] Windows XP fails with BSOD on 'vga'
894 [938518] Win XP installation fails
895 [645420] getHostMemAddr vetoed direct read
896 [1179985] MS XENIX: >>PANIC<< VGABIOS panic at vgabios.c, line 0
897 [1329600] WBINVD and INVD should flush caches and TLB
898 [638924] eliminate BX_USE_CONFIG_INTERFACE
899 [1048711] Funny behaviour with CTRL
900 [1288450] keyboard BIOS error
901 [1310706] Keyboard - about key SHIFT
902 [1295981] Ubuntu 5.04 Live-CD won't boot in Bochs
903 [879047] APIC timer behavior different before reset and after
904 [1188506] I still can't install the german Windows XP!
905 [1301847] Windows XP dosn't boot - FXRSTOR problem ?
906 [661259] does not boot QNX under WinX
907 [924412] Keyboard lock states all whacked
908 [681127] MIPSpro compiler (IRIX) is allergic to ^M
909 [1285923] BIOS keyboard handler
910 [516639] ATA controller revisited...
911 [657918] does not boot BeOS under WinX
912 [649245] BeOS CD locks halfway on boot
913 [1094385] Attachment for bug 1090339 (beos failure)
914 [1183196] BeOS 4.5 developer CD does not install
915 [1090339] BeOS fails to boot
916 [639484] panics when int 13 is called
917 [711701] divide by zero
918 [704295] ATAPI/BIOS call missing
919 [682856] hard drive problems
920 [627691] Cursor keys problem
921 [588011] keyboard not working
922 [542260] os/2 warp crashes with floppy handling
923 [1273878] SB16 doesn't work in pure DOS
924 [542254] OS/2 FDC driver dies
925 [1099610] Windows 98 SE Does not install
926 [875479] cr3 problem on task switch
927 [731423] NE2000 causing PANIC on Win2K detection
928 [1156155] bochs fails to boot plan9 iso
929 [1251979] --enable-cpu-level=3 should assume --without-fpu
930 [1257538] Interupt 15h 83h - set wait event interval
931 [658396] Panic for DR DOS emm386
932 [679339] /? doesn't divulge Bochs command-line syntax
933 [1167016] call/jump/return_protected doesn't support x86-64
934 [1252432] Mac OS X compile bug
935 [881442] Bochs 2.1 PANIC when loading DOS Turbo Pascal protected mode
936 [1249324] Boch2.2.1 Buffer Overfollow in void bx_local_apic_c::init ()
937 [1197144] 'make install' has dependency on wget
938 [1079595] LTR:386TSS: loading tr.limit < 103
939 [1244070] Compilation Error in gui/rfb.cc
940 [761707] CPU error when trying to start Privateer
941 [517281] Crash running Privateer in DOS...
943 -------------------------------------------------------------------------
944 Changes in 2.2.1 (July 8, 2005):
946 - Fixed several compilation warnings and errors for different platforms (Volker)
947 - Fixed FPU tag word restore in FXRSTOR instruction (Stanislav)
948 - Added missing scancodes for F11 and F12 to BIOS translation table (Volker)
949 - Bochs disassembler bugfixes (h.johansson)
950 - About 5% emulation speed improvement (h.johansson)
951 - Handle writing of zero to APIC timer initial count register (Stanislav)
952 - Enable Idle-Hack for 'TERM' GUI (h.johansson)
953 - Reduced overhead of BX_SHOW_IPS option to minimum. Now every simulation
954 could run with --enable-show-ips without significant performance
956 - Fixed pcipnic register access (Volker)
957 - Limited write support for TFTP server in 'vnet' networking module added (Volker)
958 - Changed some timing defaults to more useful values (Volker)
959 - WinXP/2003 style common controls now supported (Vitaly Vorobyov)
960 - Updated LGPL'd VGABIOS to version 0.5c (Volker)
961 - Added new BX_INSTR_HLT callback to instrumentation (Stanislav)
963 -------------------------------------------------------------------------
964 Changes in 2.2 (May 28, 2005):
967 - New floating point emulator based on SoftFloat floating point
969 - improved x86-64 emulation
970 - Cirrus SVGA card emulation added
971 - status bar with indicators for keyboard, floppy, cdrom and disk (gui dependant)
972 - many improvements in Bochs emulated I/O devices (e.g. PCI subsystem)
974 Detailed change log :
977 - fixes for booting OS/2 by Dmitri Froloff
978 - fixed v8086 priveleged instruction processing bug (was also reported
979 by LightCone Aug 7 2003)
980 - exception process bug (was reported by Diego Henriquez Sat Nov 15
982 - segment validation with IRET instruction
983 - CS segment not present exception processing with IRET
984 - several fixes by Kevin Lawton
985 - add MSVC host asm instructions (patch by suzu)
986 - fixed bug in HADDPD/HSUBPD (SSE3) instructions
987 - fixed bug in float to integer SSE/SSE2 convert instructions
988 - fixed BCD instructions implementation
989 - execution speed improvements (sshwarts and psychosmur)
990 - fix MSR_APICBASE base address (Kangmo Kim, Christian Neubert)
991 - change BX_PANIC messages to BX_INFO when behaviour exactly
993 - EIP > CS.limit case should always cause #GP(0), even in real mode.
994 Fixed all jump, call and ret instructions for 16/32 modes
995 - fixed using invalid segment register for MOV instruction (h.johansson)
996 - fixed ET bit mismatch between CR0 and SMSW instruction
997 - fixed possible simulator #DIVZERO fault when executing IDIV instruction
998 - fixed undocumented flags handling for BTS, BTR, SHR, SHLD, MUL and IMUL
999 instructions (Stanislav Shwartsman)
1000 - added missed #GP(0) exception when loading incorrect flags combination
1001 to CR0 (Stanislav Shwartsman)
1002 - in case of --enable-ignore-bad-msr enabled read ignored MSRs as zero
1003 - enabled #DE, #TSD and #MCE bits in CR4 register, previosly setting
1004 of one of these bits generated #GP(0) (Stanislav, Volker Ruppert)
1005 - exceeding the instruction length limit of 15 bytes (this only can
1006 occur when redundant prefixes are placed before an instruction)
1007 generate #GP(0) (Stanislav Shwartsman)
1008 - corrected PAE functionality
1011 - fetchdecode fixes for x86-64 and 3DNow! (Stanislav)
1012 - fixed CF flag handling for SHL instruction in x86-64 mode (Stanislav)
1013 - implemented CR8 register (aliased to APIC.TPR[7:4]) (Stanislav)
1014 - implemented NXE bit (No-Execute page protection) support (Stanislav)
1015 - STOSQ instruction emulation fixed (Avi Kivity)
1016 - allow null SS selector for MOV SS, POP SS, and LSS instructions
1017 in long mode (Avi Kivity)
1018 - ignore segment bases for all segments (except FS and GS) in long
1020 - allow SYSENTER/SYSEXIT instructions together with x86-64 (Stanislav)
1021 - canonical address checking for RIP (Stanislav)
1023 - FPU (Stanislav Shwartsman)
1024 - totally rewritten all FPU code based on softfloat library
1025 - significantly improved accuracy of all floating point
1027 - implemented all missed P6 and PNI floating point instructions.
1028 - hundreds of bug fixes in FPU code.
1031 ! Unmasked underflow/overflow should correct the result
1032 by magic number for all operations, including float32
1035 - APIC (Zwane Mwaikambo)
1037 - Processor priority
1038 - Various interrupt delivery fixes
1039 - Focus processor checking
1043 - fixed MOV opcode 0x88, had exchanged the operands (h.johansson)
1044 - fixed MOV opcode 0xA3, had wrong operand size (h.johansson)
1045 - fixed BOUND opcode 0x62 (Stanislav)
1046 - fixed CALLW opcode 0xFF /3 and JMPW opcode 0xFF /5 (Stanislav)
1047 - fixed INS opcode 0x6D, had wrong operand size (Stanislav)
1048 - fixed disassembly for repeatable instructions (Stanislav)
1049 - fixed sign-extended immediate opcodes (Stanislav)
1050 - fixed MOVSS/MOVSD instructions opcode names (Stanislav)
1051 - fixed NEG instruction opcode name (Stanislav)
1052 - fixed CMPXCHG8B instruction, had wrong operand size (Stanislav)
1053 - fixed floating point instructions operands (Stanislav)
1054 - experimental support of AT&T syntax in disassembler (Stanislav)
1058 - handle cpu reset through port 0x92
1059 - new memory handler API for PCI i/o and memory handling (Frank Cornelis)
1060 - speaker emulation for Linux (David N. Welton) and Win32 (Volker Ruppert) added
1062 - PCI slot configuration added for 5 slots (Volker)
1063 - PCI irq routing, irq sharing and level sensitive irq mode implemented
1064 - ne2k device appears as a Realtec 8029 NIC if connected to a PCI slot
1065 - PCI IDE controller dummy device added
1066 - PCI host device mapping for Linux (Frank Cornelis)
1067 - PCI Pseudo-NIC emulation (Michael Brown)
1069 - multiple serial port support added (4 ports now available)
1070 - partial raw serial support on win32 (transmit data)
1071 - serial port i/o mode option added (modes: null, file, term, raw, mouse)
1073 - multiple parallel port support added (2 ports now available)
1075 - serial mouse support (Volker)
1076 - PS/2 and serial wheel mouse support (Ben Lunt)
1078 - USB mouse and keypad support (Ben Lunt)
1079 - config option to specify devices connected to USB ports
1081 - VBE 8 bit DAC support added
1082 - VBE memory now registered using DEV_register_memory_handlers()
1083 - CL-GD 54xx SVGA emulation added (Makoto Suzuki)
1084 - vga extension option added (choices: vbe, cirrus, none) (Volker)
1086 - raw floppy access now works on Win9x host (Ben Lunt)
1088 - MacOSX sound support (Brian Huffman)
1089 - networking modules
1090 - new: 'eth_vnet' simulates ARP, DHCP, ICMP-echo and read-only TFTP
1092 - new: 'eth_vde' for Virtual Distributed Ethernet (Renzo Davoli)
1095 - turn floppy motor off 2 seconds after last read/write/recalibrate command
1097 - int13_cdrom / 32 bit register update fixes for FreeBSD cdrom boot
1099 - APM and system shutdown support (Fabrice Bellard)
1100 - checksum calculation for expansion ROMs
1101 - extended floppy parameter table (Mike Nordell, Derek Favcus)
1102 - PCI IRQ initialisation added
1103 - boot sequence with up to 3 boot devices added
1106 - status bar with indicators for cdrom, floppy, harddisk and keyboard added
1107 (done in rfb, sdl, win32, wx and x)
1108 - 3rd (middle) mouse button now supported (rfb, sdl, win32, wx, x)
1109 - mouse wheel support (sdl, win32, x)
1110 - CTRL key + middle mouse button now used to toggle the mouse capture mode
1112 - text mode split screen feature added (sdl, win32, wx, x)
1113 - new gui function returns the display library capabilities (xres, yres, bpp)
1114 for the Bochs VBE support
1115 - display library specific options added - currently supported:
1116 rfb: timeout (time to wait for client connection)
1117 sdl: fullscreen (startup in fullscreen mode)
1118 win32: legacyF12 (use F12 to toggle mouse)
1119 - new graphics update API added (used by svga_cirrus) (Robin Kay)
1121 - configuration interface
1122 - win32: gui runtime dialogs replace textconfig runtime dialogs
1123 - set default IPS to 10000000 in .bochsrc sample
1124 - SB16 options dmatimer and loglevel now available at runtime
1126 - configure script / compile
1127 - --enable-ignore-bad-msr (ignore bad MSR references) option is enabled
1129 - --enable-mmx enabled by default only if cpu-level >= 5
1130 - --enable-4meg-pages will be enabled by default if cpu-level >= 5
1131 - fixes for Solaris SunPro (Robin Kay)
1132 - --enable-pni option added
1133 - --enable-show-ips option added, enable Instruction Per Second counter
1135 - autodetection for lowlevel sound support added
1138 - a bunch of updates in user and documentation docs (Alexander Schuch)
1140 - SF patches applied
1141 [894595] MSR_APICBASE always returns APIC ADDRESS 0 by Kangmo Kim
1142 [907163] ctrl_xfer8 clean/speed up
1143 [907161] clean/speed up of io.cc
1144 [899972] data xfer performance patch V 2.0.4
1145 [904549] imul gives incorrect result in long mode
1146 [877510] amd64 fixes...
1147 [903465] SEGV in iodev/ne2k.cc line 1211 on Alpha architecture by Christian Lestrade
1148 [903332] copy the bximage result to clipboard, etc by Lukewarm
1149 [950905] Do not PANIC on rare, bad input from user-mode by h.johansson
1150 [924428] ET bit mismatch between CR0 and MSW
1151 [869822] a real SVGA implementation by m_suzu
1152 [867045] fix for compiler errors on VC++ by m_suzu
1153 [838601] support for the over 2GB disk size with MSVC++
1154 [874816] local ARP/ping/DHCP simulator by m_suzu
1155 [976066] Keyboard: Get controller version by Ben Lunt
1156 [832330] ROMBIOS improvement (reduce stack consumption, etc.)
1157 [977900] READ_CDROM_TOC and base address by Ben Lunt
1158 [961665] WinXP patch to read physical CDROM's TOC by Ben Lunt
1159 [978793] CDROM_SENSE_MODE medium_type by Ben Lunt
1160 [615457] gif to png migration
1161 [1021767] Portability in sb16ctrl.c by Robert Millan
1162 [690400] gzip is confused by GZIP variable in Makefile
1163 [567595] guess floppy image size from image file length by Tal Benavidor
1164 [888426] bochsrc to make vnet useful by m_suzu
1165 [1021758] GNU/k*BSD host support by Robert Millan
1166 [969967] int 15/ah=87h clearing cr0 by Ben Lunt
1167 [1048327] Russian Keymap by Dmitry Soshnikov
1168 [851332] DESTDIR support for install_dlx by Ville Skyttä
1169 [970929] gdbstub support for MinGW tool chains by Muranaka Masaki
1170 [1021740] Turn gdb stub into a runtime option by Charles Duffy
1171 [1063329] RFB key press/release bug fix by Remko van der Vossen
1172 [1079240] Wheel Mouse by Ben Lunt
1173 [1087537] Fix for Win9x CD boot by lukewarm
1174 [1083218] Start of wheel for USB #2 by Ben Lunt
1175 [1098480] bochsrc: fixed floppya example by Alexander Schuch (ci-dev)
1176 [1094407] configure.in: changed wxWindows to wxWidgets by Alexander Schuch
1177 [1092058] serial.cc debug output cleanup by Ben Lunt
1178 [1101165] APIC base address by Christian Neubert (flashburn)
1179 [1093796] Fix for bug #1093786 (Nigel Horne)
1180 [1082584] The start of Bus mice and USB mice by Ben Lunt
1181 [1104695] msvc6 compatibility update (Royce Mitchell III)
1182 [1059199] VGA text font bug fix (Anonymous)
1183 [1108001] Null pointer on bx_atexit() (Ben Lunt)
1184 [1112093] Fixed mouse cursor remain area drawing (Anonymous)
1185 [1114826] Fix PCIBIOS (Destruction prevention of esi and edi)
1186 [1095473] Reading from a CDRW (Fixed) by Ben Lunt
1187 [1123895] x86-64 gdb/debugger fixes by Avi Kivity
1188 [1145423] stosq simulation bugfix by Avi Kivity
1189 [1151012] allow null ss on x86-64 by Avi Kivity
1190 [1153327] ignore segment bases in x86-64 by Avi Kivity
1191 [1153511] Fixed broken screen update (VBE)
1192 [1152808] use 'install' instead of 'cp' during installation by Avi Kivity
1193 [1159626] bugfix [1156776] keyboard scanmode fault by Rene Kootstra
1194 [843328] PATCH: support for Flat-style ToolBar with Win32GUI
1195 [1198308] PATCH: fix incorrect moving mouse cursor when wheel used
1196 [1200515] add TFTP server to vnet & ipv4 bug fix by easeway
1197 [1203305] tuntap incompatibility by Jan Kratochvil
1199 - SF patches partially applied
1200 [896733] Lazy flags, for more instructions, only 1 src op
1201 [1005422] Improve mouse cursol Grub when 2 buttons-mouse use (WIN32)
1202 (TODO: improved japanese keyboard support)
1205 - patch.rombios.markevich (Start/Stop Wait Timer) (Kory Markevich)
1206 - patch.apic-zwane (APIC fixes) (Zwane Mwaikambo)
1207 - patch.v8086-exception.lightcone (LightCone)
1209 - these S.F. bugs were closed
1210 #957660 >>PANIC<< APIC: R(curr timer count): delta < initial
1211 #1192654 60 x 90 text not quite right...
1212 #1189097 "configure --with-sdl --with-rfb" doesn't compile
1213 #1188980 Crash on XP when break into debugger
1214 #1186693 Improving quality of ./configure --help
1215 #1185245 Errors Making Bochs with Mingw32
1216 #1185289 PSE is not enabled by default on Pentium
1217 #1170620 info cpu scrolls away, is too long
1218 #1157998 ips shown even when waiting for input
1219 #663108 APIC Timer Bug
1220 #831750 bochs unlike real PC in paging
1221 #1182698 PAE support doesn't work
1222 #954400 debugger causes segfaults when gcc 3.4.0 is used
1223 #1171312 Possible SMP problem with ICACHE pageWriteStamp
1224 #1179964 PANIC: RIP>CS.limit when jumping to longmode
1225 #1171067 configure fails to add -lpthread
1226 #1171065 Term UI needs -lncurses
1227 #1171061 SDL GUI startup failure
1228 #1022056 win32 error build debug version..c2146
1229 #957190 error while attempting to compile sb16.cc
1230 #804797 Debugger: visualization problem (jmp)
1231 #675523 2.0.1 doesn't run on W2K?
1232 #1167358 When using 5430PCI in DR-DOS Bochs would panic with a PUSHAD
1233 #1164654 Bochs VBE bios causing exception 0B in Windows 95 (SVGA bios)
1234 #1162983 conflicts which configure could detect
1235 #1164536 Windows 95 B crashes during install
1236 #526978 cygwin: in an rxvt, stdout is flaky
1237 #542303 >>PANIC<< call_protected: CS selector null
1238 #859457 BRICKS game doesn't work
1239 #1159639 text modes on address A0000-BFFFF are not handled properly
1240 #1164225 define BX_SUPPORT_X86_64 0
1242 #1156776 keyboard scanmode fault
1243 #1162042 Duke Nukem 3D: >>PANIC<< iret: VM set on stack, CPL!=0
1244 #1161945 ctrl_xfer32 compile/make error
1245 #1157124 Bochs doesn't run with large amounts of memory in bochsrc
1246 #1154266 weird INT handling in V86 mode
1247 #1157051 default Bochs CVS doesn't work-out-of-the-box
1248 #923954 enter() with level > 0, >>PANIC<< iret: return CS selector
1249 #1098476 Privilege Problem after SYSEXIT
1250 #1121734 Bochs crashes when shutting down Win95
1251 #1099294 VESA for Win98 bogus
1252 #1112836 PGE-Bit crashes Bochs
1253 #947586 The specification difference in x86-64 emulation
1254 #1117145 Push reset Button, APIC0 Error occur
1255 #1123043 fpu stack pointer changed *despite* fault occured (e.g. #pf)
1256 #1122066 PANIC: iret: IP > descriptor limit when installing os/2 warp
1257 #809574 rm -f segfaults
1258 #593952 SuSE rm segfaults
1259 #929783 floppy not recogniced since 2.1
1260 #1099298 SB16 for Win98 Bogus
1261 #1079483 Reading from a CDRW
1262 #549793 flaw in interrupt gate handling(exception.cc)
1264 #805479 Booting from disk causes illegal instruction warnings
1265 #909677 pc-speaker doesn't work
1266 #831751 behaviour unrealistic
1267 #661213 CR4.TSD is broken
1268 #685508 PANIC: prefetch: RIP > CS.limit
1269 #1037923 Non-executable page support missed (NX bit, x86-64)
1270 #1106530 wrong disassemble result
1271 #1105208 drive order for boot gets saved wrong
1272 #661060 Problem with Win98SE
1273 #837377 Norton Ghost don't boot
1274 #876689 Unknown register 0x17 [CPU] / WIN98SE
1275 #947282 Bochs segfault
1276 #963317 Persistent Win98SE
1277 #1101168 APIC base address change
1278 #680737 panic when installing winme
1279 #1097187 Install FC3 on bochs-win failed
1280 #875461 vgabios-lgpl should be default
1281 #594797 Bochs segfaults
1282 #602994 bochs breaks boot kernel
1283 #571539 FreeBSD Install from CD Fails
1284 #774257 Device doesn't work under W98
1285 #759228 Installing Suse 8.2 in Bochs on WinME
1286 #792561 cant boot freebsd 5.1 from cdrom
1287 #804004 Live cd will halt on boot..
1288 #956173 FreeBSD won't boot iso install images in Bochs v2.1 or 2.2.
1289 #864401 >>PANIC<< jmp_ev: IP out of CS limits!
1290 #853831 Error on int 15h
1291 #1094150 DR-DOS 7.03: panics when using multitasker
1292 #655592 win98 hardwaredetection
1293 #1093786 Solaris 9 installation CD fails
1294 #959585 USB UHCI IO-Device
1295 #963314 Redhat Fedora Installer Kernel Panic and Crash
1296 #1086920 Bochs (cvs) doesn't compile on FreeBSD 5
1297 #879050 Bochs reports enabled APIC without support
1298 #1071199 dBaseII cause prefetch: RIP > CS limit
1299 #1070812 typecast error while compiling wx.cc
1300 #1068786 FSINCOS Cos value wrong at 90 degrees
1301 #675248 Panic: EIP > limit on win98 install
1302 #829793 [CPU ] prefetch: RIP > CS.limit
1303 #1034059 >>PANIC<< prefetch: running in bogus memory
1304 #1067813 pbm fpu_proto.h:144 ebuild gentoo bochs 2.1.1
1305 #922034 bios not aliased at 0xFFFFF000, registers wrong after reset
1306 #912666 Configure fails on Yellow Dog Linux 3.0.1
1307 #922038 Unexisting memory should read back as 0xFFFFFFFF
1309 #1057814 Shadow RAM not aligned
1310 #1057240 Invalid IRET32 implementation
1311 #809682 >> PANIC << : prefetch: RIP > CS.limit
1312 #618680 memory referencing problems
1313 #724262 A few things (Windows 2.03, Wolfenstein)
1314 #985375 Crash Mandrake 7.1
1315 #913418 compiler errors with --enable-external-debugger option
1316 #708847 CR8 access should not panic X86-64
1317 #1039499 Compile error pcipnic.cc (cygwin)
1318 #978024 compile against wxGTK-2.5.2 fails
1319 #639073 MacOSX: Networking not implemented
1320 #639074 MacOSX: Soundblaster not implemented
1321 #963264 Latest CVS --enable-pcidev fails to configue on YDL Linux
1322 #586282 Mac OS X, will not "make"
1323 #699532 CVS (as of 2003/03/07) cannot read disk images
1324 #639275 wrong more than 2GB size DVD-ROM
1325 #766020 info registers / dump_cpu get old eflags
1326 #655920 QuickBasic (qbx.exe) panics
1327 #676188 Error BX_MAX_DIRTY_PAGE_TABLE_MEGS
1328 #923821 LOCK not generating exceptions properly
1329 #1007747 Wrong configure?
1330 #1022577 show "call" command crashes bochs every time
1331 #681849 SuSE 8.1 Compile problem
1332 #660322 Install bochs 2.0 on SuSe 8,0
1333 #1022587 "Unrecognized args" message wrong after invalid show command
1334 #833118 TUN/TAP interface bug
1335 #1022178 tuntap module mangles incoming broadcast packets
1336 #1028682 Report incorrect disk parameters of floppy
1337 #1026234 make fails on Cygwin because of missing .exe extension
1338 #1026241 --enable-cpp needed for .conf.win32-cygwin
1339 #855323 BIOS Panic at rombios.c, line 1563
1340 #762773 ROM checksum is not checked in rom_scan_loop
1341 #657604 concat_image_t.lseek to byte -1378816 fa
1342 #800140 No AH=83h INT15h implemented
1343 #831965 Win32.zip BIOSes in wrong directory
1344 #873280 bximage crashes after createing "growing"
1345 #892223 bochsrc-sample.txt/vgaromimage option error
1346 #1014361 Bximage on WinXP won't create image
1347 #651510 bximage won't create larger than 2GB
1348 #759206 bximage fails on Win32 for hd images over 2Gb
1349 #759210 Bochs fails on image files over 2Gb on Win32
1350 #799785 bximage doesn't work
1351 #903345 Problem compiling harddrv.cc
1352 #933303 Bochs cannot lseek() HD images > 2GB on W32 platforms
1353 #888438 bximage crashes...(hacked fix included)
1354 #871720 bximage 2GB file size limit
1355 #930368 Can't create big hard drives (>2 GB)
1356 #912496 IDIV can cause simulator divide error
1357 #522111 Host os SIGILL, booting grub from hd
1358 #1005052 DMA Controller Model Problem
1359 #552939 Bochs window doesn't resize when win311
1360 #989478 I-Cache and undefined Instructions
1361 #661008 make install fails
1362 #845691 Workaround: Ne2k and Windows 2000 not working
1363 #923662 BIOS diskette motor countdown byte broken
1364 #848141 VGA problems running Scitech Display Driver on Win95
1365 #799370 Problem booting ReactOS 0.1.3
1366 #670143 No rule to make config.h
1367 #653444 with vbe/lgpl bios, scrn updates broken
1368 #655696 quickstart broken?
1370 #620853 Ne2000 ethernet card *NOT* supported
1372 #543476 Sound card does not work in Windows 95
1373 #529554 unsupported VBE features DISPI update
1374 #487316 Access violation on Win32
1375 #576253 RTC too fast
1376 #489748 io read from address 000003c0, len=2
1377 #656861 Gentoo Linux panics in VGA code
1378 #787184 Video BIOS's don't checksum correctly
1379 #988529 textconfig [Save options to] function output obsolete option
1380 #987293 Cannot accesss header/toolbar
1381 #988246 floppy read error
1382 #933199 speedup Bochs compilation 4x -> suggestion
1383 #979106 Incorrect disassembly table entry
1384 #658374 FPU incorrect emulation
1385 #706933 Problem with the F12-Key
1386 #477043 math_abort panic in RH 7.1
1387 #634371 Floating point problems
1388 #681138 // is not valid in C
1389 #643300 cpuid feature flag 15, cmov and fcmov
1390 #913697 missing division by 0 exeption in fpu emuation
1391 #923682 FSTENV/FINIT problems
1392 #923855 FPTAN doesn't work right with full NPX stack
1393 #924379 ET bit mismatch between CR0 and MSW
1394 #716116 Direct floppy access
1395 #962919 Mac: iodev/cdrom.cc disordered
1396 #954751 Two FPU.CPP in project
1397 #954359 Compile faile is 3dnow support is selected without SSE support
1398 #906412 FreeSCO error
1399 #942060 FDC Controller not conforming to specifications
1400 #938522 Win XP installation fails
1401 #923613 BOUND instruction exception handling is broken
1402 #923223 memtest86 errors
1403 #593342 autoconf script doesn't regenerate clean
1404 #616116 Crash on exit...
1405 #922042 shutdown through port 92 does not work
1406 #891633 02839990390p[CPU0 ] >>PANIC<< RDMSR: Unknown register 0x17
1407 #923653 DAA instruction is broken
1408 #911225 obscure AAA / AAS bugs
1409 #837206 Problems with numerical keys
1410 #658765 BOCHS halts in runtime config
1411 #890734 Bochsrc Parser Bug with commas included in strings
1412 #877285 MSR_APICBASE zero upon startup
1413 #526984 SDL compiled in cygwin just quits
1414 #886406 I/O permissions bug
1415 #883239 undefined symbols in gui/siminterface.h:1215
1416 #419647 on OSF1, cxx hates C++ inlines
1417 #809790 "No rule to make target `devices.cc?..."
1418 #873654 How compile without plug-in support ?
1419 #837161 Test case for BX_CPU_C::IRET32
1420 #888116 mmx.cc compile error
1422 -------------------------------------------------------------------------
1423 Changes in 2.1.1 (February 8, 2004):
1425 - fix bug in int15h function 0xe820 (Christian Neubert)
1426 - fix vmware3 disk support on big-endian platforms (Christophe Bothamy)
1427 - fix conditions for NM exception on FWAIT instruction (Christophe)
1428 - fix symbol conflict in rfb and x display libraries (Volker Ruppert)
1429 - allow 16 bit writes to ne2k page 0 (Kenneth Stailey)
1430 - notify display libraries on change of bpp (Volker)
1431 - fix bug in int13h function 0x10 (Volker)
1432 - fix floppy dialog error on win2k (Volker)
1433 - fix adress check in TSS IO permission bitmap (Christophe)
1434 - fix buffer overflow vulnerability pointed out by SeSoX (Christophe)
1435 - updates for MacOS compile (Daniel Gimpelevich)
1437 -------------------------------------------------------------------------
1438 Changes in 2.1 (January 9, 2004):
1442 - 3DNow!/SSE/SSE2/PNI instruction support
1443 - Vmware3/Sparse/Undoable/Growing harddisk images support
1444 - many VGA emulation improvements (e.g. high/true color VBE modes added)
1445 - No more X11 vga font required
1447 Detailed change log :
1450 - added emulation of AMD 3DNow! instructions set. (Stanislav Shwartsman)
1451 Bochs now could decode all AMD 3DNow! instructions.
1452 Most of instructions still not implemented, but the basis already presents.
1453 Configure --enable-3dnow to enable 3DNow! support.
1455 - These instructions are not implemented yet:
1456 PFPNACC_PqQq, PF2IW_PqQq, PFNACC_PqQq, PFCMPGE_PqQq, PFMIN_PqQq,
1457 PFRCP_PqQq, PFRSQRT_PqQq, PFSUB_PqQq, PFADD_PqQq, PFCMPGT_PqQq,
1458 PFMAX_PqQq, PFRCPIT1_PqQq, PFRSQIT1_PqQq, PFSUBR_PqQq, PFACC_PqQq,
1459 PFCMPEQ_PqQq, PFMUL_PqQq, PFRCPIT2_PqQq
1460 - CPUID does not report 3DNow! instruction set.
1461 - added emulation of SSE/SSE2 floating point instructions. (Stanislav)
1462 All SSE/SSE2 floating point instructions are fully implemented using
1463 free softfloat library (including DAZ support and floating point
1464 exceptions). Correctness of the emulation checked with heavily random
1466 - added emulation of SSE3 (PNI) instructions (Stanislav)
1467 Currently only 3 PNI opcodes still not implemented:
1468 FISTTP m16int, FISTTP m32int, FISTTP m64int
1469 - added P4 CPU support to CPUID instruction. (Stanislav)
1470 - fixed implementation of FXSAVE/FXRSTOR instructions. (Stanislav)
1471 - bugfix: unallowed lock prefix cases must cause #UD exception. (Stanislav)
1472 - fixed fetchdecode bug caused #UD in SYSENTER/SYSEXIT instructions
1473 in 32bit mode. (Stanislav)
1474 - fixed fetchdecode64 bug caused wrong decoding of opcodes containing
1475 BxImmediate_IvIw or BxImmediate_IwIb in x86-64. (Stanislav)
1476 - fixed bug in int01 (opcode 0xF1) emulation. (Vitaly Vorobyov)
1477 - fixed bug in x86 debugger with dr0-dr3 registers (Vitaly)
1478 - fixed bug with mov to/from dr register in v86mode.
1479 (now exception is generated (according to Intel documentation)
1480 instead of panic) (Vitaly)
1481 - fixed stack limit checking, now message is generated as BX_DEBUG,
1482 rather then BX_PANIC, and exception code is executed. (Vitaly)
1483 - instrumentation code updated. (Stanislav)
1484 - fix flaw in IO bitmap permission of TSS (Christophe Bothamy)
1485 - cpu resets on triple fault (Christophe)
1486 - remove calculation on cr3 in dtranslate_linear to increase
1487 emulation speed (Conn Clark)
1488 - numerous x86-64 fixes (Peter Tattam)
1491 - hundreds of bugfixes in FPU emulation after checking of the emulation
1492 with testfloat (Scott Duplichan).
1494 - floatx80_to_int32, floatx80_to_float32
1495 - floatx80_to_float64, floatx80_round_to_int
1496 - floatx80_add, floatx80_sub,
1497 - floatx80_mul, floatx80_div
1498 - implemented FCMOVcc instructions (Stanislav)
1499 - 64-bit addressing support for x86-64 mode (Peter)
1502 - replaced Bochs disassember. New table-based disassembler fully supports
1503 all IA-32 instruction sets including all FPU/MMX/SSE/SSE2/SSE3 opcodes.
1508 - i/o access mask implemented, unallowed cases are now handled in the devices
1509 code and cause a BX_ERROR (Volker Ruppert)
1510 - include slowdown timer as a runtime option (Christophe)
1511 - netBSD : fix serial, ethernet, cdrom (fredb, uebayasi and David Laight)
1513 - color depth 15, 16, 24 and 32 bpp supported by VBE (Volker and
1514 Christopher Nelson for 32 bpp on win32). Supported by sdl, x, win32 and wx.
1515 - SVGA mode 0x6A (800x600x4bpp) implemented (Volker)
1516 - new CGA graphics modes 640x200x1bpp and 160x100x4bpp (text mode 80x100) (Volker)
1517 - raster operations AND, OR and XOR in write mode 2 (based on SF patch #707931) (Volker)
1518 - 'split screen' in standard VGA graphics mode implemented (Volker)
1519 - 'double scan' and 'double width' now handled in the VGA code (Volker)
1520 - more accurate emulation of the horizontal and vertical retrace (Volker)
1521 - changeable start address and variable line length supported by all
1522 graphics modes (Volker)
1523 - VBE: preserve video memory feature implemented (Volker)
1524 - additional text mode features prepared (handled in the display library
1527 - add experimental PCI VGA card (Mike Nordell)
1528 - add experimental PCI USB card (Ben Lunt)
1530 - per device selectable harddisk modes :
1531 - undoable, volatile, growing disks support (Christophe)
1532 - sparse disks support (justinSB)
1533 - vmware3 disks support (Sharvil Nanavati)
1534 - fix non detection of hard drives by minix2 (Christophe)
1535 - implement atapi command 0xA8 read (12) (Christophe)
1536 - mode sense command updated (Hartmut Birr)
1538 - opl2 support enhanced (James E. Flemer)
1540 - tap support for FreeBSD (Ronald Klop and Gen Otsuji)
1541 - fix when booting with grub (Keir Fraser)
1543 - date/time change support added (Volker)
1544 - UIP bit and divider chain reset implemented (Volker)
1545 - initial time can now be set to local time or utc (Christophe, Daniel Gimpelevich)
1547 - keyboard reset function (0xff) now resets the keyboard (Volker)
1549 - new standard PC gameport device (real joystick connected on Linux and
1550 win32 only). Enable it with --enable-gameport or the SB16 emulation (Volker)
1552 - FIFO emulation (UART type 16550A) implemented (Volker)
1554 - 160k,180k,320k floppies support (Ben Lunt)
1558 - onboard vgacard charmap usage (no need for external X11 vga font any more) (Christophe)
1559 - vgacard charmap change support (Christophe)
1560 - fix black stripes on partial exposes (Dirk Thierbach)
1561 - headerbar redraw optimizations (Dirk Thierbach)
1562 - external font files and their installation mechanism removed (Volker)
1563 - belgian keymap support (Wouter Verhelst, Eric Brasseur)
1564 - win32 + wx + x: new application/window icon (bochs.ico / icon_bochs.xpm) (Volker)
1565 - sdl + win32 + wx + x: new textmode features: variable line length,
1566 char width switch, horizontal and vertical pel panning (Volker)
1567 - win32 + wxMSW: key event handling rewritten (Volker)
1568 - win32: status bar at the bottom of the simulation window added (Volker)
1569 - wxMSW: resource problems fixed - wx dll plugin works now without errors (Volker)
1570 - term: variable line length and cursor enable/disable feature implemented (Volker)
1572 - textmode: charmap change, better cursor emulation, variable line length (Volker)
1573 - headerbar works now (power, reset and user button are okay) (Volker)
1574 - key event handling rewritten (Volker)
1575 - Bochs-RFB waits up to 30 seconds for a client connection. The emulation
1576 starts after connecting the client. (Volker)
1577 - carbon: Alt/Ctrl/Shift key handling rewritten & SysRq/Ctrl-Break key support added
1580 - configuration interface
1581 - gui dialogs as an extension of the textconfig interface on win32 added (Volker)
1583 * save text snapshot
1584 * user button shortcut
1585 * floppy image change
1586 - wxwindows configuration dialogs improved (Volker, Christophe)
1589 - bximage : added support for
1590 - growing disks (Christophe)
1591 - sparse disks (justinSB)
1592 - created bxcommit tool for undoable disk images (Christophe)
1595 - fixed int15 function e801 (get memory size) (Christophe)
1596 - added int75_handler for FPU Dos Exceptions (Christophe)
1597 - added int16 function 0a (Get Keyboard ID) (Volker)
1598 - added support for ElTorito Harddisk-on-CD emulation (Christophe)
1599 - fixed ATA/Serial ioport conflict (Daniel)
1601 - VGA BIOS : updated to version 0.4c (Christophe)
1603 - configure script/compile/porting to other OSes/installation
1604 - fixes for compilation with MSVC (Andrew Zabolotny)
1605 - fixes for cross-compilation (Jeroen Janssen)
1606 - win32 nsis installer script updates (Volker)
1607 - small configure fixes for MacOS (Christophe)
1608 - optimizations & compile fixes for MacOS/X (Daniel)
1610 - configuration files. The following options have been deprecated :
1611 diskc, diskd, cdromd, time0, pit, newharddrivesupport.
1614 - already ported and obsolete parts of the old documentation removed (Volker)
1615 - user documentation updated and extended :
1616 - improved section "What does Bochs need" (Volker)
1617 - command line arguments (Volker)
1618 - search order for the configuration file (Volker)
1619 - the configuration interface 'textconfig' (Volker)
1620 - FreeDOS Beta 8 installation instructions (Volker)
1621 - disk modes (Christophe)
1622 - LBA translation (Christophe)
1623 - cdboot error codes (Christophe)
1624 - SCO OpenServer install section (Carl Sopchak)
1625 - MacOS-X DMG install guide (Aard Vark)
1626 - update Win98 install guide (Dirk Thierbach)
1628 - SF patches applied
1629 #658950 Bug in FPU (Anonymous)
1630 #678117 build fail due to bad SGML punctuation (Anonymous)
1631 #671873 minimal USB support (UHCI) (Ben Lunt)
1632 #682539 Fix CapsLock and NumLock behavior (rock at gimp.org)
1633 #720776 REX MOVB immediate broken for x86_64 (Arnd Bergmann)
1634 #729450 new keymap x11-pc-be.map (Wouter Verhelst)
1635 #735990 Limited patches for VC++ (Anonymous)
1636 #742670 fix library dependencies in GUI plugins (Robert Millan)
1637 #742782 LFB bugfix (Jan L. Hauffa)
1638 #748414 load32bitOShack bug (kyriazis at nvidia.com)
1639 #830079 Fix bochs's application error if unsupported key pressed (Anonymous)
1640 #724466 enable building with CC=gcc-3.2 CXX=g++-3.2; dist-clean adds(Leonard Norrgard)
1641 #834962 Fixed drawing graphics is broken (Anonymous)
1642 #838401 Fixed redrawing of ToolBar on Win32GUI (Anonymous)
1643 #850236 Fixed accessing DVD-ROM with direct device access on Win32 (Anonymous)
1644 #847822 Bochs crash when exmining memory that crosses page boundary (ortal at jungo.com)
1646 - SF patches partially applied
1647 #707931 Support EGA/VGA write mode 2 and others (Anonymous)
1648 already applied: disable IME, split screen, write mode 2,
1650 #856506/#856510 Patch to fix compile-time iodev/cd-rom.cc error (alden.dima at nist.gov)
1651 Correct patch provided in SF bug report #843433 (birkhofer at users.sourceforge.net)
1654 - patch.highmem (memory allocation) (Zwane Mwaikambo)
1655 - patch.floppy-160k-180k-320k-benlunt (exotic floppies) (Ben Lunt)
1656 - patch.perf-regparm-cclark (performance) (Conn Clark)
1658 - new patches present in the patches directory :
1659 patch.pipelined-asm-cclark
1660 patch.mingw-resources
1661 patch.v8086-exception.lightcone
1662 patch.pit-vitaly-vorobyov
1663 patch.rombios-vitaly-vorobyov
1664 patch.win32-vitaly-vorobyov
1665 patch.win32-new-files-vitaly-vorobyov.tgz
1666 patch.rombios.markevich
1667 patch.rombios.dirk.thierbach
1669 - these S.F. bugs were closed
1670 #865354 ">>PANIC<< CRA: divider chain control 0x07" in Linux 1.1
1671 #725796 configure script bug
1673 #863964 panic in duron 2000
1674 #843433 cdrom.cc on MacOSX: wrong const names
1675 #818493 EMU][ (DJGPP app running on FreeDOS) broken
1676 #787005 Some MOV instructions are not implemented!!!
1677 #840664 2200136693936p[CPU ] >>PANIC<< prefetch: RIP > CS.limit
1678 #837416 V2 OS not compatible !?
1679 #650917 Serial port broken under win95
1680 #829863 Make bochs 2.0.2 build with gcc3
1681 #816971 main.cc: getcwd() missing argument
1682 #813556 Compile error under gcc 3.3.1
1683 #809758 RIGHT ALT does not function properly
1684 #809695 CVS complains about unknown files after compilation
1685 #628762 Error in Floppy Booting
1686 #474526 Crash under win32 (access violation)
1687 #687619 test case for BX_CPU_C::IRET32
1688 #664544 Panic in IRET32 - Reporting test case
1689 #637822 test case for BX_CPU_C::IRET32
1690 #603410 BX_CP U_C::IRET32
1691 #537047 IRET32 incomplete emulation, panic
1692 #805541 Compile fails on i686, gcc 3.3
1693 #798829 Problem booting from ISO image
1694 #688163 Panic at rombios.c
1695 #688161 rombios.c crashes when boot from a CD.
1696 #796339 int 15h, e801h broken?
1697 #666946 Slowdown Timer should be a module
1698 #783826 the clock is extremely fast
1699 #645609 Real Time Clock is too *FAST*
1700 #663320 flaw in IO bitmap permission handling
1701 #764929 Timing is off.
1702 #659510 Bochs timing off by x10
1703 #787138 No ROM BIOS character map
1704 #787134 Config options not saved
1705 #689201 Disassembler bug
1706 #666202 Windows 2000 - random screen blanking with linux DLX demo
1707 #629242 reset during Doom -> BIOS panic
1708 #695434 minix floppies won't boot.
1709 #764473 Freesco Linux crashes on boot
1710 #656026 error when trying to run some stuff
1711 #614202 HD: non-byte IO read to 01f4
1712 #777357 Strange FPU compiler error
1713 #583758 gag bootloader doesn't run
1714 #658639 ne2k panics with MS lanman Client/DOS62
1715 #536711 problem running smart bootmanager
1716 #741433 Disabling all ata# results in HD error.
1717 #753200 lock instruction doesn't do an illegal instruction trap
1718 #679389 libbx_wx.so.0: undefined symbol
1719 #758936 Problem Installing Bochs
1720 #742580 I configured fants but bochs still give me the same error
1721 #772242 iodev/vga.cc wrong memory access.
1722 #739222 Cannot change resultion
1723 #693344 libwx_gtk2.3.so.2 RedHat linux 8.0
1724 #639320 sparc: needs -lm to compile
1725 #587422 Windows 95j doesn't boot
1726 #547817 sparc: rfb needs -lsocket
1727 #480963 RFB: option to wait for client
1728 #763893 i've got problems with a "libvga.so.1" and another file
1729 #766490 Documentation mistake
1730 #766481 Bochs 2.0.2 Fails to compile on YDL3.0
1731 #626144 %lld is not portable
1732 #752241 lock prefix erronously allowed for some instructions
1733 #743305 fetchdecode.c probs
1734 #658707 Automatic exit?
1735 #696758 BeOS can't mount image disk, won't complete boot.
1736 #737048 Enabling keyboard resets controllers translation mode
1737 #717713 Bochs panics on startup on RH 9
1739 #730922 seg fault on "bochs boot: cdrom"
1740 #658905 VGA read write error
1741 #564218 Panic on vga_mem_write
1742 #614231 X11 doesn't support charmap change
1743 #708311 Missing CGA low-res emulation
1744 #720776 REX MOVB immediate broken for x86_64
1745 #643296 lock prefix, unallowed cases
1746 #716964 [sb16] OPL.timer_running not initialized
1747 #662074 little mistake in the default config example
1748 #470701 CD-ROM on Win2K needs FILE_SHARE_READ
1750 #653861 Win32 build bug
1751 #421155 panic on vga read 0x3c7,0x3cb
1752 #666434 VGA BIOS: Incompatible mode reporting
1753 #681819 Incorrent return value from cdrom reads
1754 #648222 Lotus Agenda futuristic dates off
1755 #657455 doesn't boot plan9
1756 #658938 SGDT in VM8086
1758 -------------------------------------------------------------------------
1759 Changes in 2.0.2 (January 21, 2003):
1761 - fix possible segfault in wxWindows (Volker Ruppert)
1762 - fix instrumentation (Stanislav Shwartsman)
1763 - fix cdrom read_toc() function for *BSD (Keith Matthew Jones)
1764 - fix NetBSD boot from cdrom (Christophe Bothamy)
1765 - fix cmos checksum (Volker)
1766 - fix "refresh bit" behaviour in pit (Volker)
1767 - fix .bochsrc parsing (Volker)
1768 - fix vga resize/redraw problems (Volker)
1769 - fix compilation issues on Irix and Tru64 (Christophe)
1770 - fix MMX/SSE bugs (Stanislav, Peter Tattam)
1772 -------------------------------------------------------------------------
1773 Changes in 2.0.1 (January 4, 2003):
1775 - fix corrupt saved configuration files (Christophe Bothamy)
1776 - fix missing break statements in apic (Shai Fultheim)
1777 - fix compiling sb16 under FreeBSD (Volker Ruppert)
1778 - updates to the documentation (Volker)
1779 - fix text mode colors 8 to 15 (Volker)
1780 - fix FPU integer load bug (Volker)
1781 - stop pasting on hardware reset (Volker)
1783 -------------------------------------------------------------------------
1784 Changes in 2.0 (December 21, 2002):
1786 Since the change log is hundreds of lines long, here is a very brief summary.
1787 - 2x emulation speedup!!!
1788 - added plugin devices and guis. Now you can compile with many more
1789 options, and choose between them at runtime.
1790 - added emulation of AMD x86-64, MMX, SSE, SSE2 instructions
1791 - add wxWindows port (a graphical configuration interface and display lib)
1792 and SVGAlib port (full screen display for Linux without X11)
1793 - improvements in many I/O devices: for example up to 8 hard disks/cdroms,
1794 TUN/TAP network interface, 360k floppies,
1795 - improved MacOSX/Carbon interface and updated MacOS9 port
1796 - GDB remote stub, allows symbolic debugging with Bochs simulation.
1797 - support for up to 32gig hard disk images
1799 Detailed change log follows.
1802 - manpages updated (Volker, Christophe)
1803 - install HTML rendering of docbook documentation instead of
1805 - doc/docbook/Makefile is now generated by configure script.
1806 if configure detects docbook2html on your system, it will turn on
1807 --enable-docbook and run make in the doc/docbook directory. Also
1808 make install will install documentation into $(docdir). You can use
1809 --disable-docbook to turn this off, if necessary. (Bryce)
1810 - add "make bochsdoc.tar.gz" target to create a documentation tarball.
1811 If you do "make webinst" and you have write access on SF shell server,
1812 it updates doc/docbook/* on the website (Bryce)
1813 - user documentation additions:
1814 - new options (Bryce, Volker, Christophe)
1815 - Bios tips section (Christophe)
1816 - Tuntap section (Christophe)
1817 - Serial Port section (Christophe)
1818 - "Will it Work for Me" / "Is Bochs Right for Me" sections
1820 - VESA section (Jeroen Janssen)
1821 - several documents, previously existing as separate html files, have
1823 - internal debugger section (Christophe)
1824 - gdb stub debugger section (Christophe)
1825 - WinME, WinNT, WinXP, The Hurd, Japanese Win95 install tips (Christophe)
1826 - Win95, Win98 install tips (N. David)
1827 - SB16 section (N. David)
1829 - configure script/compile/porting to other OSes/installation
1830 - added plugin architecture
1831 - plugin code written by Bryce, Christophe, Volker based on
1832 plex86's plugin code by Kevin. Testing help from Psyon and Br'fin.
1833 - Plugins are shared libraries that can be loaded on demand. Example:
1834 the serial device is implemented as a plugin. In UNIX, the
1835 serial plugin is called libbx_serial.so. When Bochs reads its
1836 configuration file, if the serial device is enabled it loads
1838 - all display libraries, most I/O devices are converted to plugins now
1839 - plugins supported on Linux, Solaris, and MacOS X using libtool,
1840 Cygwin using dlltool. On MacOSX, you must have dlcompat installed
1841 and in your include/library paths at configure time. (See .conf.macosx
1843 - we use libtool's LTDL library from libtool 1.4.2, with a number of
1844 critical bug fixes (Bryce Denney)
1845 - the Linux binary RPMs are built with plugin support
1846 - to compile with plugins, configure with --enable-plugins
1847 - the LTDL_LIBRARY_PATH variable tells Bochs where its plugins can be
1848 found. Bochs has a compile-time default for this variable which is
1849 correct if you do a make install. You would only need to set the
1850 variable if the default is wrong.
1851 - for win32 plugins we added "BOCHSAPI" in front of many classes
1852 and methods, to aid in building DLLs. This turns into __declspecs
1853 which are used when making an export library for Bochs.
1854 - allow many display libraries to be configured and compiled at
1855 a time. For example --with-win32 --with-sdl --with-rfb.
1856 Also, we added an experimental option --with-all-libs which
1857 tries to detect which --with-* options will work. If the
1858 autodetection fails, just type the --with-* options explicitly. (Bryce)
1859 - add #if's around all files which are conditionally compiled such
1860 as cdrom.cc and sb16.cc. This makes it possible to compile every
1861 source file all the time, which has the potential to simplify the
1862 configure script and makefiles. At present we only take advantage
1863 of this capability in the win32 VC++ workspace. (Bryce)
1864 - the MacOS9 port has been updated so that it works again. It had
1865 not been updated in at least 2 years, maybe more. (Christophe Bothamy)
1866 - improve support for FHS standard (Robert Millan, Volker Ruppert)
1867 See patches 551811 and 650066.
1868 - keep separate CFLAGS and CXXFLAGS for Bochs (usually a graphical
1869 program) and console programs such as bximage and niclist. Some
1870 sdl and wx compile flags were making bximage and niclist unusable.(Bryce)
1871 - add concept of cross-configuring in the configure script. If you
1872 use the --target option to generate makefiles to be used on another
1873 machine, some detection of compilers and libraries is disabled. (Bryce)
1874 - fix term compile on Cygwin, but it has to be done without -mno-cygwin,
1875 which means that several win32 features such as networking do not work.
1876 - add "-Wno-multichar" on beos
1877 - test for largefile support, and add required CFLAGS (Bryce)
1878 - add -lm when it's needed, and not when it's not (Bryce)
1879 - add configure support for 8 processors. Bochs can support up to 15
1880 with some work on the BIOS.
1881 - fix nmake makefile generation (Psyon)
1882 - improved pthread detection function from ac-archive project on SF
1883 - add installer package for Windows, using Nullsoft (Michael Rich, Bryce)
1884 - on MacOSX, add startup script that creates a text console and then
1885 runs Bochs. Also add make target to create a DMG disk image (Br'fin)
1886 - do not restart the font server on Unix/X11, if vga.pcf was already
1887 installed. On several modern machines, if you restart the font
1888 server the user has to restart X windows. (Bryce)
1889 - update most .conf.* files with modern options such as
1890 --enable-all-optimizations. (Bryce)
1891 - The MacosX .conf script adds /sw/include and /sw/lib to the compile/link
1892 path list because it is a common place to put dlcompat. Dlcompat is
1893 required when building with plugins. (Bryce)
1894 - rpms can now be built without root privileges (Bryce)
1897 - fixed up our command line options (Volker, Bryce, Christophe)
1898 Usage: bochs [flags] [bochsrc options]
1899 -n no configuration file
1900 -f configfile specify configuration file
1901 -q quick start (skip configuration interface)
1902 --help display this help and exit
1904 - configuration file (bochsrc)
1905 - There are several new options. See the documentation for more details.
1906 - config_interface: select text mode menus or wxWindows for configuration
1907 - display_library: select which display lib to use
1908 - optromimage: load optional rom images
1909 - ataN (N=0,1,2,3): up to 4 ATA controllers for hard disks, cdroms
1910 - ataN-master, ataN-slave, N=0,1,2,3: defines a hard disk or cdrom.
1911 The "ata*" options replace diskc, diskd, and cdromd, which are
1913 - floppy_bootsig_check: control the 0xaa55 signature check on boot floppies
1914 - logprefix: lets you change the format of log messages
1915 (patch by Carl Sopchak, help from Christophe)
1916 - debugger_log: log all output from bochs debugger
1917 - user_shortcut: allow you to type key combinations like Ctrl-Alt-Del
1918 - pit: control the PIT model, including realtime option to try to
1919 keep in sync with real time.
1920 - Credits: Christophe added optromimage, everything about ATA,
1921 floppy_bootsig_check, debugger_log. Bryce added config_interface
1922 and display_library. Volker did the user_shortcut button.
1923 Greg Alexander wrote the PIT model and added the realtime option.
1924 - since v1.3 we've been able to use environment variables in pathnames
1925 in the bochsrc file. Now, a few variables have default values, set at
1926 compile time, that are used if the user does not set a value. If Bochs
1927 is installed correctly, the defaults will be correct and the user will
1928 not need to override them.
1929 - $LTDL_LIBRARY_PATH is the path name where the plugins can be found.
1930 The default value comes from $(plugdir) in the makefile. This is only
1931 important if plugins are enabled. (Bryce)
1932 - $BXSHARE is the path where the BIOSes and keymaps are installed.
1933 The default value comes from $(sharedir) in the makefile. Disk
1934 images on the Bochs website will begin to use BIOS pathnames like
1935 $BXSHARE/BIOS-bios-latest. On win32, the $BXSHARE default is
1936 set by the NSIS installer and read from the registry. On MacoSX,
1937 the $BXSHARE default is set to the path containing bochs.app.
1938 (Bryce, Volker, Br'fin)
1939 - new option in the configuration interface to reset all bochsrc
1940 settings to initial defaults. A reset occurs just before reading
1941 a new configuration file, so that leftover parameters from a
1942 previous configuration do not affect the new configuration. Also,
1943 you can request a reset using the configuration interface. (Volker, Bryce)
1944 - ne2k line can now specify a script to set up the interface (Christophe)
1945 - on Unix, also search /etc/bochsrc (Bernhard Bablok)
1946 - you can use #include in the bochsrc to read configuration from other
1950 - speed optimizations from Kevin Lawton, yielding around 2x speedup
1951 - guest2host_tlb : for entries in the paging TLB which point to normal
1952 physical memory pages, a pointer to the host address of the emulated
1953 physical memory (from malloc()) page is stored in the TLB entry. In
1954 many cases, this pointer can be used in memory accesses to directly
1955 read/write the guest memory address. In exceptional cases, the physical
1956 memory access routines are used. Turn on with --enable-guest2host-tlb.
1957 - repeat IO/string : for some variants of repeatable IO and string
1958 instructions, the segmentation and paging checks are done in batch along
1959 with the data transfers, constrained within page boundaries and the
1960 segment limits. Turn on with --enable-repeat-speedups.
1961 - icache : The structure holding instruction decode information was
1962 reduced to 32 bytes. 24 bytes for the actual decode data, and 4 each
1963 for pointers to the address resolution routine (not always needed) and
1964 the instruction emulation routine. With a reasonably small
1965 per-instruction decode size, an instruction cache (iCache) was created,
1966 which is simply a hash table. The main cpu loop looks in the table
1967 first; if the instruction has already been decoded, execution can begin
1968 immediately without decoding. Turn on with --enable-icache.
1969 - host specific asm : when compiling on an x86 platform, use of
1970 x86-specific asms can be enabled to accelerate several facets of
1971 emulating instructions. For example, the EFLAGS values are much more
1972 efficient to calculate when the actual x86 instructions are used to
1973 generate the EFLAGS values. Turn on with --enable-host-specific-asms.
1974 (Kevin, with help from Jas Sandys-Lumsdaine)
1975 - if you want to enable all the speed optimizations that we believe
1976 to be stable, use --enable-all-optimizations. The release binaries
1977 are built with this option.
1978 - add support for AMD's x86-64 instruction set. To enable, configure with
1979 --enable-x86-64. The AMD x86-64 support is about 90% complete and is
1980 still experimental. We've implemented the core x86-64 instruction set and
1981 the changes to the rest of Bochs necessary to operate in long mode, but
1982 we've still to implement checking for canonical 64 bit addresses. The code
1983 has been tested on a limited number of test programs. It has been able to
1984 successfully boot a x86-64 Linux kernel and run a 64 bit userland
1985 application. It has also successfully run a DOS based 64 bit protected
1986 mode test application. (Peter Tattam, with merge/bugfix help from Kevin
1987 Lawton and Bryce Denney)
1988 - add MMX support. To enable, configure with --enable-mmx.
1989 (Stanislav Shwartsman)
1990 - add SSE and SSE2 support. To enable, configure with --enable-sse=1
1991 or --enable-sse=2. (Stanislav)
1992 - fixed the behaviour of the bcd instructions AAM, AAD and DAA based on
1993 SF patch #537146 (Volker)
1994 - stop printing an error for VERR/VERW. According to the i386 opcode
1995 description there is no error present. (Volker)
1996 - fix bug [ 625878 ] reset doesn't reset something(?). Fix cpu reset
1997 when executing a rep instruction (Christophe)
1998 - use accessors methods for CFLAGS and several other registers, so that
1999 the implementation can be changed transparently later (Bryce, Stanislav)
2000 - add support for page size extensions, also known as 4meg pages.
2001 Turn on with --enable-4meg-pages. (Kevin Lawton)
2002 - add support for page global extensions. Turn on with
2003 --enable-global-pages. (Kevin)
2004 - add support for physical address extensions. Turn on with --enable-pae.
2006 - implement RDMSR and WRMSR. not all MSRs are supported (Zwane Mwaikambo)
2007 - new configure option --enable-ignore-bad-msr, which makes unrecognized
2008 MSR reads and writes into just a warning
2009 - fix PIC/APIC interrupt problem that caused Linux 2.4.19 to hang
2011 - CMPXCHG8B patch (Michael Hohmuth)
2012 - EFLAGS are now stored in the same form as the native EFLAGS on an x86,
2013 so that we can use native machine instructions in some cases (Kevin)
2014 - instrumentation code updated (Stanislav)
2017 - fixed bug [ 452275 ] fprem emulation bug (Volker)
2018 - fixed bug [ 648579 ] Mac OSX >>PANIC<< FPU_printall. There was an
2019 endianness issue with the fpu (Christophe)
2022 - rewrote pc_system timers (Kevin)
2024 - this new device handles the panic/error/info/debug messages sent
2025 by the Bios and VGABios. It was previously done in the unmapped device.
2027 - implementation of the function READ TOC for cdrom image files. (Volker)
2028 - function capacity() for win32 fixed. Now it returns the number of blocks
2029 instead of bytes. (Volker)
2030 - added multiple cdrom support for win32 (NT/2000 version untested). The
2031 ASPI version uses the cdrom drives in the system's order. Drive letters
2032 are not used by ASPI. (Volker)
2033 - fix configure script's cdrom detection on BeOS (Bryce)
2034 - fix physical CD change at runtime (Bryce)
2036 - fix panic when WinXP read port 70h (Christophe)
2037 - add ps/2 style century at index 37 to allow WinXP to boot. (Bryce)
2039 - DMA register and unregister functions for DMA channels added and macros
2040 for DMA functions defined. The changes are based on the Plex86 functions.
2042 - implementation of the DMA controller reset (Volker)
2043 - the value of the command register must be always 0x00 (BX_ERROR fixed)
2045 - implemented Tape Drive Register (Dave Poirier)
2046 - added support for 360k floppy images
2047 - the skip flag (SK) in command 'read sector' is ignored now
2048 - floppy read and write function do not set the 'seek end' bit in status
2049 register 0 (fixes SF bug #553377)
2050 - the status of the 'disk changed' line depends on the selected drive.
2051 The digital input register is now an array (DIR[4]).
2052 - apply patch [ 635021 ] floppy cleanup by Alex Thiel
2053 - distinguish between floppy drive type and media type
2055 - add largefiles support, to allow disk images larger than 2gig.
2057 - missing conditions for lower_irq() added (Volker)
2058 - several noncritical panics replaced with BX_ERRORS and the controller
2059 returns an error code until we implement the features (Volker)
2060 - applied patch from Carl Sopchak for booting sco openserver
2061 - allow disk block access only if concatenated images are not used
2063 - fix bug [ 419415 ] netbsd 1.5 rescue disk won't boot (Volker)
2064 - multiple drq atapi data transfers corruption fixed (Christophe)
2065 - added some commands to the unsupported "Set Feature" commands (Christophe)
2066 - speedups in repeated IO transfers (Kevin)
2067 - support for Peter Tattam's external disk simulator (Bryce)
2068 - 4 channels / 8 devices support (Christophe)
2069 - "inquiry" atapi command results corrected (Volker)
2070 - check for incomplete devices configuration before starting the
2072 - implemented the different bios disk translation schemes (Christophe)
2073 - keyboard and mouse
2074 - add commands 0xd2, 0xdd and 0xdf (Dave)
2075 - fix bug [ 613975 ] wxWindows: params redefined on restart (Bryce)
2076 - in function mouse_motion(): added parentheses to fix compilation problems
2077 with MSVC. See SF bug #575301. (Volker)
2078 - added missing register_irq() for the PS/2 mouse IRQ12 (Volker)
2079 - fix "AltGr" key on European keyboards wxWindows/win32, SDL (Volker)
2081 - function reset() clears the IRQ line (Volker)
2082 - added TUN/TAP interface (Renzo Davoli, Christophe)
2083 - fix DOS based packet drivers that use an odd count for the NE2000 DMA (Peter)
2084 - changed "TCR write, reserved bits set" panic into an error, fixes
2085 networking with debian image (Bryce)
2087 - parport1 enable/disable support added (Volker)
2089 - implementation of the PCI device register mechanism
2090 - PCI memory handling moved to the memory code
2091 - replaced memcpy() in pci_read() by a more portable code. Problems with
2092 PCI on big-endian machines are fixed now (SF bug #638481).
2093 - implementation of the PCI-to-ISA bridge started (still incomplete)
2095 - fixed detection of single mode and level senistive mode in ICW1 (Volker)
2096 - fixed handling of rotate_on_autoeoi for master PIC (Volker)
2097 - irq mask is now cleared on initialization (Dave)
2098 - fixed lockup during mouse movements during win98 install. (patch from
2101 - Added realtime PIT support (Greg)
2103 - it used to enable itself all the time; now only when you ask
2104 - fix memory leaks (Bryce)
2106 - don't cause problems when serial device is disabled (Volker)
2108 - add programmatic shutdown feature at port 0x8900 (Christophe)
2110 - VBE fixes (Jeroen, Volker)
2111 - CRTC fixes (Volker)
2112 - sequencer reset with bits 'reset1' and 'reset2' implemented (Volker)
2113 - add charmap change support (used by SDL, win32 and wxWindows gui) (Volker)
2114 - screen dimensions / updates for some graphics and text modes fixed (Volker)
2115 - use the start address when calculating the byte offset for standard
2116 EGA/VGA modes (Volker)
2117 - byte offset for modeX fixed (use value of CRT register 0x13) (Volker)
2118 - text mode memory mappings 0 and 1 support (Christophe)
2119 - fix bug [ 612741 ] VBE mem conflicts w/ local APIC address (Jeroen)
2120 - fix bug #635223: VGA tiles array access out of bounds (Bryce)
2123 - improve compile process. Now bioses for 1, 2, 4 and 8 processors
2124 are built at the same time (Bryce)
2125 - fixes to be able to compile the bios with gcc2 or gcc3 (Jeroen and
2127 - changes on boot signature check (Christophe):
2128 - never done for cdroms
2129 - always done for hard-disks
2130 - conditional for floppies
2131 - add keyboard int16 functions 0x09 (get keyboard functionality) and
2132 0x0a (get keyboard id) (Christophe)
2133 - fix bug [ 629810 ] int 16/ah=01 broken? Enable interrupt on entering
2134 int16 handler (Christophe)
2135 - new keyboard init in POST (patch from Adam Sulmicki)
2136 - flush input and output keyboard buffer before keyboard self test
2137 (Volker and Christophe)
2138 - fix bug [ 547603 ] kbd up/down arrows in dos install (Christophe)
2139 - fix bug [ 549815 ] bios wrongly loads CS,ES. CS and ES are set to 0
2140 before the bootloader code is called. (Christophe)
2141 - PCI functions support (Volker) :
2142 - BIOS32 service directory
2143 - real mode PCI int1a functions
2144 - protected mode PCI int1a functions
2145 - fix reset for MS-DOS and Win95 (Volker)
2146 - 360K floppy support (Volker)
2147 - enhanced ata/atapi support (Christophe) :
2148 - 4 channels / 8 devices
2149 - device auto detection (with help from Adam Sulmicki)
2151 - 32bits device access
2152 - optional disk translation "large", "r-echs" or "lba" (up to 8.4GiB)
2153 - re-enable harddisk controller interrupt after reads/writes.
2154 Win95 can now use native access to harddisks and cdroms. (Volker)
2155 - shutdown status handling (cmos index 0x0f) (Christophe) :
2156 - fix bug [ 601166 ] CMOS Problem @ "0x0F Index 0x05 data". After reset
2157 execution will resume by a jump to [0x40:0x67] if the shutdown status
2159 - the bios don't panic any more if the shutdown status is 9
2160 - two parallel ports detection in POST (Volker)
2161 - two serial ports detection in POST (Volker)
2162 - add int15 extended memory function 0xe820 (patch from osmaker) and
2163 0xe801 (patch from Hartmut Birr)
2164 - fix return values on some int15 functions (Bryce)
2165 - fix int70 handler overlapping int08 handler (Christophe)
2166 - simplify 8 processors BIOS for operating systems which don't do
2167 paranoia/sanity checks (Zwane)
2169 - configuration interface
2170 - wxWindows config interface now allows you to change every bochsrc
2171 option using menus and dialog boxes. There is also the beginning of
2172 a wxWindows graphical debugger, but it needs a lot of work before it
2174 - renamed control.cc to textconfig.cc. Now we're calling it a
2175 text configuration interface, instead of a control panel.
2178 - Even though we've had them for years, the term "display library" is new in
2179 release 2.0. In the gui directory, Bochs has a number of different C++
2180 files which you can select to display the text and graphics on the
2181 simulated monitor. Each of these is a display library. The display
2183 x use X windows interface, cross platform
2184 win32 use native win32 libraries
2185 carbon use Carbon library (for MacOS X)
2186 beos use native BeOS libraries
2187 macintosh use MacOS pre-10
2188 amigaos use native AmigaOS libraries
2189 sdl use SDL library, cross platform
2190 svga use SVGALIB library for Linux, allows graphics without X
2191 term text only, uses curses/ncurses library, cross platform
2192 rfb provides an interface to AT&T's VNC viewer, cross platform
2193 wx use wxWindows library, cross platform
2194 nogui no display at all
2195 - it is now possible to compile Bochs with support for many different
2196 display libraries and select the one to use at runtime (even without
2197 plugins). See the display_library directive in .bochsrc.
2198 - add new svgalib display library by Igor Popik
2199 - fix bug [ 614724 ] SDL can get stuck in full screen mode
2200 display libraries such as SDL which have a full screen mode can be
2201 dangerous, if Bochs does not switch back to normal display mode at
2202 the right time. This is fixed for SDL and the new svga.
2203 - keymap support added in SDL interface (Bryce, Volker)
2204 - new keymap files: SDL keymaps for US and DE keyboards, X11 keymap
2205 for Danish keyboard.
2206 - use keyboard mapping for keyup messages too
2207 - renamed almost all references to data type "Boolean" to "bx_bool".
2208 The Boolean data type was defined in Carbon.h headers, and conflicted
2209 with Bochs's definition. See bug [ 618388 ] Unable to boot under MacOS X
2210 Exceptions: When talking to the Carbon library, you must use Boolean.
2211 Also, siminterface.h uses standard "bool" instead of bx_bool.
2212 - "User" button added in toolbar. It can send keyboard shortcuts to
2213 the guest OS. (Volker)
2214 - snapshot improvement and memory leak fixed (Volker)
2215 - testing framework, based on comparing screen content, added (Greg)
2216 - term display library:
2217 - support for color terminal, function keys, clear screen (Volker)
2218 - solaris compilation problem (bug #613393) fixed (Bryce)
2219 - win32 display library:
2220 - use native win32 toolbar for headerbar, use system palette (Volker)
2221 - many Carbon interface improvements:
2222 - patch [ 549248 ] Fix Carbon key & menu handling (Chris Thomas)
2223 - partial keymap support, copy&paste, menu items fixed, new toolbar
2224 behavior, dialog box display for panics (Br'fin)
2225 - sdl display library:
2226 - keyboard fixes and key mapping added (Bryce)
2227 - when captured, the mouse is forced to stay in the window. fix bug
2228 [ 619283 ] SDL: os mouse pointer leaves the window (Bryce)
2229 - x display library:
2230 - bug [ #537593 ] vga font not being found fixed. If vga font not
2231 found, search for a font called "-*-vga-*" (Bryce)
2232 - keyboard problems fixed (Bryce, Christophe)
2233 - beos platform, any display library: add a nice icon to the executable
2237 - wxWindows is a cross-platform C++ user interface library which you can
2238 download for free at http://wxwindows.org. wxWindows provides C++
2239 classes for all sorts of GUI controls (buttons, menubars, etc.) and
2240 implements all of them using the native controls on the platform.
2241 - The new wxWindows port of Bochs provides both a graphical configuration
2242 interface (for editing bochsrc options) and a display. It was
2243 written by Bryce Denney, Don Becker, Dave Poirier, and Volker Ruppert.
2244 - In release 2.0, we concentrated on making the wxWindows port as stable
2245 and functional as the other interfaces. wxWindows provides a great
2246 toolbox that we can use to make Bochs easier to learn and use.
2247 - wxWindows supports charmap changes, keyboard mapping, cut and paste,
2248 text and graphics modes, text mode cursor size, and mouse (Volker, Bryce)
2249 - To compile Bochs with wxWindows, you should install wxWindows 2.3.3
2250 or later. Then configure Bochs with --with-wx.
2251 - if you have multiple versions of wxWindows installed (e.g. a debug
2252 and a release version), you can set $WX_CONFIG before configuring
2253 to select between them. (Bryce)
2256 - [ 609616 ] remote GDB stub
2257 add GDB Stub support from Johan Rydberg, with bug fixes by Stu Grossman
2258 - add hooks for external debugger for win32. The external debugger
2259 that connects to Bochs is distributed in
2260 build/win32/tattam-external-debugger.zip in binary form. Turn on
2261 with --enable-external-debugger. (Peter)
2262 - add "debugger_log" option to bochsrc, which logs all debug output
2263 into a file. feature [ 629068 ] (Christophe)
2264 - debugger is now usable in fullscreen SDL and SVGA guis. It will
2265 switch back to text mode for each debug prompt (Bryce)
2266 - disassembly output cleaned up and improved
2267 (Kernel Panic, Peter Tattam, Jonathan Shapiro, Luiz Henrique Shigunov)
2268 - fix [ 628806 ] debug: x/c prints unprintable chars (Bryce)
2269 - add the beginnings of a wxWindows debugger. Not ready for mainstream use
2270 yet. CPU register display is implemented, and you can type any debugger
2271 command you want into the Debug Console window. (Bryce)
2272 - add help command (Alexander Krisak)
2273 - symbol table lookups cleaned up a bit (Bryce)
2274 - displays the address of the caught watchpoint, feature #435271 (Dave)
2275 - remove obsolete "loader"
2278 - fixed bug [ 487758 ] bximage fails on file creation >2048meg
2279 Bximage should now work up to 32gig. (Bryce)
2280 - on win32, both bximage and niclist now ask the user to press
2281 return before exiting, so that you have time to read the results
2282 before the window disappears. (Bryce)
2284 -------------------------------------------------------------------------
2285 Changes in 1.4.1 (June 22, 2002):
2287 - now cdrom is enabled in configure, unless you specifically disable
2288 it with --disable-cdrom. (Christophe)
2289 - fix compile error in main.cc when SMP or APIC is enabled (Dave)
2290 - the runtime menu now displays 11 (continue) by default (Bryce)
2291 - initialize DMA controller before floppy and SB16
2292 - fix DMA panic when installing win95 (Volker)
2293 - first character of the vga bitmap is blank on win32 (Volker)
2294 Before, it was incorrectly coded as a '@'.
2295 - AltGr key on European keyboards works now on win32 (Volker)
2296 - fix problem with console/serial port on Bochs exit (Volker)
2297 - enable serial port for GNU and GNU/Linux (Volker)
2298 - small documentation fixes (Volker)
2299 - remove unnecessary include statements for X11 (Volker)
2300 - italian keymap added (Emanuele Goldoni)
2301 - fix win32 ethernet frames error. It will no longer reject packets
2302 that are less than 60 bytes long. (Peter Tattam)
2304 - win2k cd-boot (Christophe)
2305 - emm386 crash (Dave)
2306 - cs=0 at boot time (Christophe)
2307 - keyboard failure in scandisk (Dave)
2308 - fix bug in forming the 64-bit APIC base address from two 32-bit registers.
2309 A compiler warning in cpu/proc_ctrl.cc pointed this out.
2310 - fix default choice in the runtime options menu
2312 -------------------------------------------------------------------------
2313 Changes in 1.4 (March 27, 2002):
2315 - Boot from CDROM! Christophe Bothamy added partial El Torito support in
2316 rombios.c, which allows Bochs to boot cdroms. Booting from win2k or winXP
2317 cdrom is not supported yet. The default BIOS includes El Torito functions.
2318 the boot line must say "cdrom".
2321 - implementation of int13 diskette function 5 (format track) (Volker)
2322 - initialisation of PIC and DMA-2 added to POST code (Volker)
2323 - configure script (Bryce Denney)
2324 - the configure script now detects your platform and provides a default
2325 GUI and the required compiler flags. All supported platforms should
2326 compile with simply "configure" and "make".
2327 - default guis by platform:
2328 - win32/windows/cygwin: win32 gui
2329 - MacOS X: carbon gui
2330 - MacOS 9 or earlier: macos gui
2332 - AmigaOS: amigaos gui
2333 - all other platforms: X windows gui
2334 - compile arguments supplied by configure script
2335 - win32: too many to list here; see documentation
2336 - cygwin: -mno-cygwin -DWIN32
2337 - MacOS X: -fpascal-strings -fno-common -arch ppc -Wno-four-char-constants
2338 -Wno-unknown-pragmas -Dmacintosh
2339 - the --with-GUINAME configure option is only needed if you want to override
2340 the default GUI. This is the only way to use the Term, RFB, and SDL
2343 - added VESA BIOS Extensions code by Jeroen Janssen (banked mode only, LFB
2345 - vga memory read/write functions in text mode fixed
2346 - implementation of CGA mode 320*200*4 (patch from Sebastien Bechet)
2348 - updated Christophe Bothamy's LGPL VGA BIOS to version 0.3a. This consists
2349 of a bug fix for function ah=13 and VBE support by Jeroen Janssen.
2351 - chipmem read/write limit fixed (Mike Lerwill)
2352 - writing a byte in 16-bit mode now possible (Mike Lerwill)
2353 - new ethertap interface for Linux, which allows Bochs to talk to
2354 the local machine and the internet (Bryce Denney)
2355 - NE2000 is now enabled by default on Win32, Cygwin, and Linux compiles
2356 in the .conf.* scripts and release binaries.
2357 - fix check for auto transmit disable, which was checking the wrong bit
2360 - niclist.exe has been revised to work on more Windows versions, and it
2361 suggests a usable ne2k line (Dean Payne)
2362 - fix timeout setting so that ne2000 does not slow down the whole
2363 simulation (Don Becker)
2364 - bug fix: be able to handle multiple packets that arrive at once
2367 - cdrom button: click this to notify Bochs when you changed the CDROM (Volker)
2368 - snapshot button: saves the text on the Bochs screen into a file called
2369 snapshot.txt (Volker)
2370 - copy button: on Win32 and X windows, copy the text on the Bochs screen
2371 to the clipboard (Volker)
2372 - paste button: on Win32 and X windows, paste the characters on the
2373 clipboard into the Bochs window. This requires keyboard_mapping to
2374 be enabled. (Bryce Denney)
2375 - improved text mode cursor for Win32, X11, and SDL (Volker)
2376 - new SDL interface (Dave Poirier, debugging by Christophe, Volker, Bryce)
2377 SDL is a graphics library that has works on many platforms. This interface
2378 is experimental, and is missing a few features of the standard Bochs
2379 interfaces: extended keys (arrows, keypad).
2380 - MacOS X: add MacOS X carbonized event handlers by Jeremy Parsons
2381 - X windows: when not enough colors can be allocated, force use of
2382 private colormap (Bryce Denney)
2383 - bug #490570 fixed: OUTB set and command 0xaa encountered (Dave Poirier)
2385 - completed keyboard emulation with the implementation of the three scancodes
2386 sets (mf1, mf2, mf3) with or without translation. This is based on Ludovic
2387 Lange's plex86 keyboard patch. (Christophe Bothamy)
2388 - added a "keyboard_type" option, that defines the answer to an "identify
2389 keybord" request to the keyboard controller. The available values are
2390 "xt","at","mf". (Christophe Bothamy)
2391 - added an optional keyboard_mapping option that enables to use your
2392 country specific keyboard with Bochs. If enabled, the keymap file must be
2393 specified in bochsrc. The available keymaps are US, German, Spanish and
2394 French for PCs running X11. Contributions are welcomed. (Christophe
2396 - added Windows(tm) key definitions (Volker Ruppert)
2397 - added paste button, which causes the emulated keyboard to type characters
2398 from the system clipboard. This only works when keyboard_mapping is
2399 enabled. (Bryce Denney)
2401 - bug fix: win32 could not read a cdrom image file
2402 - eject cd support for linux (patch from Petr Stehlik)
2404 - changing cdrom media is possible now with CDROM button
2405 - sound blaster(tm) emulation (Volker)
2406 - you can use --enable-sb16=freebsd now
2407 - 16-bit DMA controller added
2408 - 16-bit mode of the SB16 implemented (output to file works)
2409 - floppy drive (Volker Ruppert)
2410 - implementation of the floppy command 'format track'
2411 - implementation of read / write operations with MT=0
2412 - behaviour of a few floppy commands fixed
2413 - floppy reset behaviour fixed
2414 - lots of other fixes
2415 - fixed bug [ #468340 ] pic:slave: OCW3 not implemented. Now the slave PIC
2416 supports all the modes that the master PIC does, and nobody will see this
2418 - serial port (by Volker Ruppert unless noted)
2419 - improved IRQ handling
2420 - now Windows 95 serial driver works correctly
2421 - fixed the return value of the MCR (loopback bit)
2422 - interrupt reasons LSR change and MSR change implemented
2423 - the number of data bits is considered when sending data
2424 - all serial port changes are tested in loopback mode only
2425 - serial port emulation fixed for FreeBSD and OpenBSD (Stu Grossman)
2426 - fix receiver poll frequency so that it doesn't slow emulation (Stu Grossman)
2428 - when tracing, print the instruction just before it is executed, instead
2429 of just after (Greg Alexander)
2430 - after a triple-fault panic, you can now return to the debugger
2431 - symmetric multiprocessor (SMP) simulation
2432 - no more panic if you read the EOI register
2433 - fixed default destination format in local APIC
2434 - fix SMP instruction tracing in bochs debugger
2435 - fix deadlock when debugger enabled and all processors HLT
2436 - MSR support added by Zwane Mwaikambo
2437 - simulation of interrupts is more accurate (Volker)
2438 - implemented edge triggered interrupt mode
2439 - added functions raise_irq() and lower_irq()
2440 - programmable interrupt timer (Greg Alexander)
2441 - fixed the PIT gate and improved the PIT printing options
2442 - experimental real-time PIT
2443 - parallel port improvements (Volker Ruppert)
2444 - bug fix: hard disk errors caused by overflowing imul in the BIOS code.
2445 Sebastian Bechet and Peter Tattam tracked it down and fixed it.
2446 - fix some memory leaks (patch from Darko Tominac)
2447 - Double-Word IO is supported for ATA devices
2448 - fix bash-specific syntax in install-x11-fonts script
2449 - print stack_return_from_v86 error only the first 100 times
2451 -------------------------------------------------------------------------
2452 Changes in 1.3 (December 10, 2001):
2453 - networking works on Windows and Linux platforms
2454 - emulated cdrom can now read from ISO image files, on any platform.
2455 - new PIT model by Greg Alexander which is much more complete than the
2456 old one. The new PIT is used by default, but you can switch back to
2457 the old one if you configure with --disable-new-pit.
2458 (PIT = 8254 programmable interrupt timer)
2459 - new configuration menus by Bryce Denney, which allow you to change any
2460 bochsrc option using text menus, then save the configuration into
2461 a new bochsrc file for later use. You can disable the new code using
2462 configure --disable-control-panel. Also you can use the command
2463 line arguments -nocp or -nocontrolpanel. Also, there is a new
2464 "Config" button on the GUI that allows limited changes to the
2465 configuration at runtime, such as changing the floppy disk.
2466 - add docbook documentation directory in the sources under doc/docbook.
2467 The transition from HTML to docbook documentation is still in progress.
2468 - Add new log action "ask", as shown in these example bochsrc lines:
2471 When an event occurs which is set to "ask", you get a beep and message
2472 on the text terminal that asks what you want to do. Choices are: continue,
2473 continue and disable future messages from this device, quit immediately,
2474 or segfault (where abort() function is available). If compiled with
2475 --enable-debugger, you can also choose to enter the debugger.
2476 - Parallel port emulation cleaned up by Volker Ruppert. See .bochsrc for
2477 syntax of new parport1 line in bochsrc.
2478 - PCI support improved by Volker Ruppert, including BIOS changes. Still
2480 - floppy controller returns a proper error response if you try to write
2481 a read-only disk image. For systems such as DOS that actually use the BIOS
2482 services, it was also necessary to add code in int13_diskette_function to
2483 recognize a write-protected error and return the correct error status code
2485 - the ROM BIOS now prints panic messages to the console. Thanks to Cliff
2486 Hones for his console display code.
2487 - the ROM BIOS detects nonbootable disks (Barry Allard), and prints a message
2488 on the console. Barry Allard's patch who helped with checking the boot
2490 - LBA support added for hard disks. (Not tested very much.)
2491 - add dependencies to makefiles
2492 - logging code moved into a separate file, logio.cc
2493 - new option --enable-slowdown-timer, by Greg Alexander, which kicks in if
2494 Bochs simulation time starts to run faster than real time. This helps to
2495 keep the Bochs clock in sync with the real clock when the CPU is mostly
2497 - new option --enable-iodebug, by Dave Poirier, which creates an I/O
2498 interface to the debugger. This lets you write software to be emulated
2499 in Bochs which can turn on instruction, register, or memory tracing
2501 - improved detection of readline in configure script
2502 - configure substitutes the version number into many files, instead of
2503 using sed in the makefile. There are still a few uses of sed remaining.
2504 - you can now use environment variables in bochsrc values. For example,
2505 diskd: file="$BOCHS_IMG/diskd.img", cyl=615, heads=6, spt=17
2506 - configure with --prefix=PATH works now
2507 - running configure from a different directory works now, thanks to
2508 a patch from Edouard G. Parmelan
2509 - fix [ #433759 ] virtual address checks can overflow.
2510 > Bochs has been crashing in some cases when you try to access data which
2511 > overlaps the segment limit, when the segment limit is near the 32-bit
2512 > boundary. The example that came up a few times is reading/writing 4 bytes
2513 > starting at 0xffffffff when the segment limit was 0xffffffff. The
2514 > condition used to compare offset+length-1 with the limit, but
2515 > offset+length-1 was overflowing so the comparison went wrong.
2516 - cmpxchg8b patch from Michael Hohmuth <hohmuth@innocent.com>
2517 - apply patch from Thomas Fitzsimmons <fitzsim@cygnus.com> to fix compile
2518 problems when BX_SUPPORT_PAGING and BX_USE_TLB are turned off
2519 - fix bug introduced in 1.2.1 which caused spurious exceptions.
2520 See patch #439314, Exception 1 (debug) on HALT, from
2521 thomas.petazzoni@meridon.com.
2522 - add panic in ctrl_xfer32.cc where the IRET32 implementation is broken.
2523 This only happens if you are NOT in vm8086 mode or protected mode.
2524 The intent is to warn people when they are getting bad emulation, and
2525 encourage people to report how they got to that point.
2526 - apply patch from Santiago Bazerque. See this bug report:
2527 [ #463018 ] retf not removing parameters sometimes
2528 - fix bug [ #461730 ] IRETD causes problems if NT-flag is set
2529 reported by Peter Lammich.
2530 - apply patch [ #455014 ] CR0 bug in 80486, described as:
2531 > In the register CR0, when the bit PM is enabled, the bit 4 is 0
2533 - apply patch from Mike Rieker <mrieker@o3one.org> associated with this bug
2534 report: [ #480422 ] gdt 'accessed' bit
2535 - in task_switch when it tried to ensure that the old TSS was paged in,
2536 it actually used the new TSS address, fixed.
2537 - updated the instrumentation code, and added a working example. To try
2538 it, configure --enable-instrumentation=instrument/example1. Then when
2539 you run bochs, you will get one line for each instruction PC and for
2540 each I/O access in a new file called bxevent.txt.
2541 - set a bit in the CMOS that says the processor has an FPU. This is
2542 from patch [ #455006 ] Device byte is not initialized aptly.
2543 Author did not leave their name.
2544 - add logging code to the "null ethernet" which does not require host OS
2545 support. All this does is print the outgoing packets from the guest OS.
2546 - cleanup of log functions (Todd Fries)
2547 - add BX_ERROR for every command in ATAPI-6 that bochs does not support.
2548 I still need to do add some commands from older specs that are obsolete
2549 (and not listed) in ATAPI-6. Commands that aren't in the spec will still
2551 - only put 0xf into the 2nd hard disk field when the cdrom is not present.
2552 This is a patch from Volker Ruppert <Volker.Ruppert@t-online.de>, who
2553 comments: "The fdisk command reports an unusable second harddisk if the cdrom
2554 is enabled. This patch helps, but I don't know if it is the right way."
2555 - make hard disk code return error codes when data is not available instead
2556 of just panicing. In particular, if the logical sector is out of bounds
2557 or the disk image cannot be read/written at the desired offset, we now
2558 abort the ATA command and return an error code. Many of the old BX_PANIC
2559 messages are turned to BX_ERROR, so they will still appear in the
2560 log, but now the device model will try to communicate this fact to
2561 the OS instead of simply giving up.
2562 - don't blindly reject odd length atapi commands. There are cases when
2563 it's really ok according to ATA-4.
2564 - for big endian machines, reversed the bit fields in interrupt_reason.
2565 This was pointed out by Nicholai Benalal.
2566 - extended keyboard improvements by Dave Poirier
2567 - major mouse patch from Dave Spring, that implements several missing
2569 - commit keyboard patch from David Haslam <dch@sirius.clara.co.uk>
2570 posted to mailing list, that addresses the problem of each key press
2571 printing ^@. See cvs log for details.
2572 - mouse performance fixes by Greg Alexander and Robb Main
2573 - NE2000 fixes by Frode Vatvedt Fjeld, ecelca@yahoo.com, Greg Alexander,
2574 and angelos@openbsd.org.
2575 - fix bug [ #468340 ] pic:slave: OCW3 not implemented. Some event handling
2576 code appeared in the master pic but not the slave pic.
2577 - fix compile problems in SB16 code, related to fpos_t being treated as
2579 - patch from Volker Ruppert <Volker.Ruppert@t-online.de> to fix
2580 midi output file so that winamp can play it.
2581 - some cleanup of serial code by Todd Fries and Volker Ruppert, but it
2585 - commit patch from David Haslam <dch@sirius.clara.co.uk>
2586 [ #455763 ] Cursor trail with DOS Edit/Minix vi
2587 - error for missing fonts now points to the documentation
2588 - new option --enable-idle-hack, by Roland Mainz, which makes Bochs more
2589 friendly toward other processes when its CPU is idle. Presently,
2590 this option is specific to X windows.
2593 - now Windows 95/98/ME can read the physical cdrom (Don Becker)
2594 - The default configuration for Win32 VC++, given in .conf.win32-vcpp,
2595 now enables the NE2000 and renames all .cc files to .cpp. This keeps VC++
2596 happy but may make it hard to use CVS.
2597 - The default configuration for Cygwin, given in .conf.win32-cygwin, now
2598 enables cdrom and SB16.
2599 - See "new docs" on the web site for compile instructions for VC++ and Cygwin.
2600 - The sources include a VC++ workspace, in addition to the old "nmake"
2602 - ethernet support (emulated NE2000 card), coded by Don Becker. This
2603 implementation requires a library called WinPCap, which you can
2604 download from http://netgroup-serv.polito.it/winpcap.
2605 - new utility called niclist.exe which lists the ID number of all your network
2606 cards (well probably you just have one). The ID be used when setting up your
2608 - patch [ #466403 ] make text colors more accurate. The author did not leave
2610 - fix GUI bug [ #452159 ] win32: mouse stuck if bochs win partly off screen
2611 Now we center the mouse periodically, whether or not the mouse has
2612 wandered outside of the window or not.
2613 - event handler recognizes the extended keycode flag
2614 - fixes for raw floppy and floppy disk images (Don Becker)
2617 - Ethernet (emulated NE2000 card) now works in Linux! Contributed by
2618 splite@purdue.edu. This has been tested using host OS kernel 2.2.14, and
2619 works with telnet, ftp, irc, lynx, etc. Because it is a packet filter
2620 solution, you aren't able to talk to the host machine, only to other
2621 machines on the network.
2622 - The default configuration for Linux, given in .conf.linux, now enables
2624 - RPM build process configures with --prefix=/usr so that everything is
2625 installed in /usr/bochs instead of /usr/local/bochs.
2626 - DLX Linux disk image is now installed so that only root can write it, to
2627 avoid security problems. When you run the bochs-dlx script, it creates a
2628 local copy in your home directory and then runs it.
2629 - code that determines the capacity of a cdrom now works for both ATAPI
2630 and SCSI drives (splite@purdue.edu)
2631 - applied patch from bochs@sigint.cs.purdue.edu. The comments are:
2632 > The Linux 2.4.5 CD-ROM driver sends a READ_DISC_INFO command which caused
2633 > an "unrecognized ATAPI command" panic. Looks like READ_DISC_INFO is only
2634 > recognized by CD-R and CD-RW drives, so I ignore it for now.
2636 Amiga MorphOS specific:
2637 - Bochs now compiles and works on Amiga MorphOS. Configure with
2638 --with-amigaos. For AmigaOS only, see .bochsrc for use of fullscreeen and
2639 screenmode options. The Amiga MorphsOS is written and maintained by
2640 Nicholai Benalal <nicholai@chello.se>.
2641 - raw cdrom supported if you configure with --enable-cdrom
2644 - Bochs compiles and works on BeOS. Configure with --with-beos.
2645 Bernd Thorsten Korz <bernd.korz@insidebeos.de> maintains the BeOS port.
2646 - raw cdrom supported if you configure with --enable-cdrom
2649 - Bochs now compiles and works on MacOS X. Configure with --with-carbon.
2650 Emmanuel Mailliard <e.rsz@libertysurf.fr> ported the Macintosh code to the
2652 - The MacOS X application is built using (gasp) mkdir, copy, and rez.
2653 Surely this is not the right way, but it works.
2654 - raw cdrom supported if you configure with --enable-cdrom
2657 - apply patch.rfb-mouse by MURANAKA Masaki (monaka@users.sf.net)
2658 see this source forge bug [ #457968 ] Strange mouse motion on RFB
2659 - add a retry loop in RFB code, so that if port 5900 is not available
2660 it can try 5901, etc.
2663 - do a vga update whenever you print a debugger prompt.
2664 - added debugger command "info fpu" that prints the FPU registers. If you
2665 do "info all" you get cpu and fpu registers.
2666 - added debugger command "info ne2k" which prints all the registers
2668 - add ability to do register tracing and flag tracing (Dave Poirier).
2669 Try the trace-reg-on and trace-reg-off commands.
2670 - instruction trace now includes time ticks
2671 - fixed problems in which bochs compiled with debugger measured time
2672 differently from bochs compiled without debugger. Also when instruction
2673 trace was enabled, breakpoints and control-C did not work. Also,
2674 breakpoints at the beginning of an interrupt handler did not work.
2676 -------------------------------------------------------------------------
2677 Changes in 1.2.1 (June 12, 2001):
2678 - more work on makefile for building RPMs
2679 - [ #432382 ] build debian packages patch
2680 add build/debian directory from Rob Lemley <rjlemley@calypsoblue.org>
2681 which allows us to make Debian packages!
2682 - optimize for speed when simulating one processor. Now 1-processor
2683 performance should be equivalent to 1.1.2.
2684 - [ #425640 ] sb16 assumes fpos_t is long int
2685 This fixes compiles of iodev/sb16.cc on linux systems with newer libraries
2686 in which fpos_t is not an integer.
2687 - [ #432488 ] SMP:assert "n_logfn < MAX_LOGFNS" fails
2688 increase MAX_LOGFNS since we ran out of them on an SMP simulation with
2690 - changes to compile clean on cygwin:
2691 - don't use the WIN32 snprintf define for cygwin
2692 - add ssize_t definition for cygwin
2693 - only compile "struct timeval tval" if select is available
2695 - [ #432491 ] SMP: CPUID says no APIC feature
2696 clean up inconsistent use of BX_SUPPORT_APIC and BX_APIC_SUPPORT, which
2697 caused the CPUID to report no APIC was present
2698 - [ #431025 ] --enable-external-device-models broken
2699 removed configure options for external-device-models and
2700 external-cpu-memory. These don't work and aren't going to be fixed.
2701 - [ #429448 ] configure: -lreadline when not there
2702 Now configure allows you to choose not to use readline, even if it's found
2704 - [ #428915 ] apply extended keyboard patch
2705 extended keyboard patch by Dave Poirier <eks@void-core.2y.net>
2706 - [ #428626 ] if no X11 found, configure&make fails
2707 Now configure halts if X windows is selected but no X libraries are found.
2708 - updated rombios to version 1.13. This fixes several problems:
2709 - [ #430472 ] DOS HIMEM "A20 line" error
2710 This problem was apparantly caused when Bryce added a function that prints
2711 the BIOS version, and he called it too early in the boot process. Now the
2712 same function is called later, and it doesn't break the A20.
2713 - [ #431010 ] SMP structure overwritten in v1.2
2714 SMP structures were getting overwritten by BCC-generated data,
2715 preventing SMP operating systems from detecting that other processors
2717 - [ #431016 ] bios: SMP struct has wrong entry count
2718 SMP structure had the wrong entry counts
2719 - very minor doc updates (typos, replace broken link to mtools info)
2720 - quit when the user clicks the power button, even if they have disabled
2722 - win32 now defaults to having mouse capture mode turned off. For new users,
2723 it would be distressing for their mouse cursor to disappear until they
2725 - [ #428222 ] vga font not installed
2726 added script called "install-x11-fonts" which should help people install
2727 the VGA font on X windows systems, if it isn't already there.
2729 -------------------------------------------------------------------------
2730 Changes in 1.2 (June 3, 2001):
2731 - [ #427259 ] rombios HALT calls don't print
2732 Fixed bios/rombios.c HALT macro so that it writes the line number of the
2733 panic to the PANIC_PORT (port 0x400) and then does NOT do a halt
2734 instruction. Also changed iodev/unmapped.cc so that the line number written
2735 to PANIC_PORT is displayed as a BX_PANIC message. Because the HALT
2736 macro now triggers the normal panic behavior, it can be controlled by
2738 - [ #429016 ] crash if no hard drive
2739 rombios used to call HALT macro if no hard drive was found. Now it only
2740 calls HALT if a hard drive has an illegal geometry.
2741 - [ #425388 ] include source for simple disk img tool
2742 [ #428478 ] mkimg tool creates image 1 byte too big
2743 Added bximage tool, which makes empty floppy and hard disk images.
2744 It is now included in the top level Makefile, so it will get built
2745 by default on all platforms.
2746 - [ #426036 ] eth_fbsd.cc compile problem on solaris26
2747 added configure test so that "configure --enable-ne2000" only
2748 includes the Berkeley Packet Filter code (eth_fbsd) if the header
2749 file <net/bpf.h> can be found. If you don't have BPF the ne2000
2750 will not actually move packets, but at least it will compile clean now.
2751 - [ #428214 ] 1.2.pre1 need documentation for binaries
2752 Write windows and linux specific documentation to be installed in
2754 - [ #429258 ] disable RESET for version 1.2
2755 Since soft reset was not completely working, I reverted the reset patch.
2756 Now it does panics on reset instead of trying to reboot, as the old
2758 - [ #428222 ] Should the linux RPM install vga font?
2759 now font/vga.pcf will be installed in the RPM package
2760 - [ #429020 ] stop renaming the BIOS!!!
2761 new BIOS changes are now in BIOS-bochs-latest, instead of a BIOS
2762 whose name changes every time we change anything! To help distinguish
2763 different BIOS versions, the BIOS now prints its RCS Id into the
2765 - [ #428625 ] compile problem if SHOW_IPS is on
2766 removed extra paren that broke SHOW_IPS
2767 - [ #428219 ] PCI doesn't compile with SMF=1
2768 - [ #429375 ] pthreads detection broken
2769 - [ #429073 ] configure: if no X11, makes bad config
2770 - [ #429229 ] install current .bochsrc in binary rels
2771 - install Tim's man pages on linux RPM
2772 - BIOS prints messages in log in case of boot failure
2773 - rewrote instructions for compiling in win32 (win32.txt)
2774 - fixed link in HTML changelog.html to point to the real sources on SF.
2775 - added missing LOG_THIS definition to gui/nogui.cc and gui/rfb.cc
2776 - added additional check for null pointer in debugger exit routine
2777 - added diskd to .bochsrc
2779 -------------------------------------------------------------------------
2780 Changes in version 1.2-pre1 (May 25, 2001):
2781 - major cleanup of .bochsrc
2782 - major cleanup of stderr output: prints bochs version information when
2783 starting, and at the end it tries to print the message that caused
2785 - two hard disk support (diskd). At present, you cannot have two
2786 hard drives and a cdrom at the same time, because there is only
2787 one IDE controller with two channels.
2788 - split hard disk support allows different partitions to be stored in
2789 different image files
2790 - two new GUI choices: term mode and RFB mode. Term is a text-only
2791 interface, and RFB creates a server that can be accessed using
2792 the AT&T VNC viewer.
2793 - now Bochs can simulate an SMP machine, if you configure with
2794 --enable-processors=N. Configuring more than one processor has
2795 a major performance impact, so the default is 1 processor.
2796 See SMP documentation for more details.
2797 - to make SMP work, bx_mem and bx_cpu have been replaced with
2798 bx_mem_array[] and bx_cpu_array[]. The cpus are referenced through
2799 the BX_CPU(n) macro and memories through the BX_MEM(n). Normal
2800 mode has one cpu and one memory, SMP mode has multiple cpu's and
2801 one memory, cosimulation mode has multiple cpus and multiple memories.
2802 - use --enable-cpu-level=6 to make Bochs claim to be a Pentium Pro.
2803 The only feature that requires CPU level 6 is apic support.
2804 - new logging system by Todd Fries, which has 4 levels of event
2805 severity (panic, error, info, debug). There are new .bochsrc
2806 options that control what action to take when a
2807 panic/error/info/debug event occurs.
2808 - now searches for .bochsrc, bochsrc, bochsrc.txt, and (on unix only)
2810 - use GNU readline library if --enable-debugger is on, as long as readline
2811 can be found on the machine
2812 - configure checks for existence strtoull and strtouq. if neither exists,
2813 Bochs uses its own implementation
2814 - applied patches from Cliff Hones <cliff@aonix.co.uk> to fix up the
2815 rombios. This includes many improvements, which you can list by
2816 doing "cvs log -r 1.6 bios/rombios.c" or looking at cvsweb.
2817 - added suggested geometries of larger disks to the documentation
2818 - this is the first release to have official binary packages for win32
2819 and Linux. There is a new "make rpm" in the top-level Makefile which
2820 will create an RPM of the current bochs directory. To use this,
2821 become root and type "configure; make rpm".
2822 - applied some FreeBSD patches from Maxim Sobolev (cdrom and serial).
2824 -------------------------------------------------------------------------
2825 Changes in version 1.1.2 (bugfix3, May 16, 2001):
2826 - updated Elpin VGA BIOS to version 2.40, and changed pointer in .bochsrc
2827 - fixed .conf.x86 script so that it uses c++ instead of egcs for C++ files
2828 - now Makefile targets that recurse into subdirectories use double colons,
2829 so that it will always recurse into subdirectories. Now a single make
2830 command should notice a modified source file in a subdir.
2831 - fixed bug in bx_panic. If BX_PANIC_IS_FATAL==0 and a (non-fatal) panic
2832 occurs, it used to call bx_atexit() and then return. It should never
2833 call bx_atexit, which starts to shut down the simulator, unless it's
2834 really going to quit!
2835 - support 2.88 MB floppy disks
2836 - since dataseghack is checked in as non-executable, invoke it with
2838 - double fault patch from Thomas Petazzoni <thomas.petazzoni@ifrance.com>,
2839 sourceforge patch #423726.
2840 - removed -fno-builtin from fpu makefiles
2841 - redefine u_char, u_short, etc. in order to not conflict with system
2842 definitions of these same types.
2843 - in cdrom.cc, remove the extern "C" { } structure around some of the
2844 header files. This is no longer necessary.
2845 - do not panic on hard disk command 0x1f2 (read sector count)
2847 - apply Todd Fries' reset patch
2848 - recognize most of the "Grey" insert/delete/home/end/etc. keys the
2849 same as keypad keys.
2850 - removed panic on "kbd_ctrl_to_kbd(): got value of 0x??"
2851 - implement mouse command 0xf6 (set defaults)
2852 - apply Suboner@aol.com's Xwindows timing patch from
2853 http://sourceforge.net/tracker/index.php?func=detail&aid=418730&group_id=12580&atid=312580
2854 - remove all patches from patches subdir which have already been applied.
2855 The remaining ones are under consideration but not applied.
2857 -------------------------------------------------------------------------
2858 Changes in version 1.1.1 (bugfix2, April 9, 2001):
2859 - in soundwin.cc, arg 3 should be typecast to LPWAVEFORMATEX
2860 - in fpu_entry.c, Bryce mistyped his own initials!
2861 - in configure.in and configure, define good defaults for VC++
2862 #define BX_64BIT_CONSTANTS_USE_LL 0
2863 #define inline __inline
2864 #define BX_NO_EMPTY_STRUCTS 1
2865 #define BX_NO_ATTRIBUTES 1
2866 #define BX_HAVE_HASH_MAP 0
2867 - in config.h.in, fixed typo in #error message
2869 -------------------------------------------------------------------------
2870 Changes in version 1.1 (bugfix1, April 6, 2001):
2872 (FIXED, patch #414360: update copyrights)
2873 update headers. Change copyright to 2001, replace config.h.in header with
2874 the standard mandrake header that every other file uses.
2876 (FIXED, patch #414356: inlines)
2877 make macro to replace inline and static/extern keywords. Then make
2878 define the macro appropriately based on configure.
2880 (FIXED: patch #414234: macos-no-strdup)
2881 --with-macos should force HAVE_STRDUP=0.
2883 (FIXED, patch #403027: Fix mouse bugs in Linux and BSD)
2884 Linux and BSD (maybe others) cause panic in mouse code.
2886 (FIXED, patch #413851: const64bit patch)
2887 VC++ does not allow "LL" after 64-bit constant.
2889 (FIXED, patch #413859: fabs symbol conflict)
2890 fpu code contains fabs, which conflicts with math library fabs.
2892 (FIXED, patch #403004: Implement aborts on a few SET FEATURE commands...)
2893 Implement aborts on a few SET FEATURE commands for ATA.
2895 (FIXED, patch #402991: Update to iodev/vga.cc to add 3c3h read support)
2896 Implement VGA enable register, at 0x3c3.
2898 (FIXED, patch #403027: Fix mouse bugs in Linux and BSD)
2899 Mouse panic in linux/BSD:
2900 KBD: io write 0x64: command = 0xD3(write mouse outb)
2902 (FIXED, patch #414229: panic-is-fatal)
2903 Allow user to decide if panic is fatal, or just a warning
2905 (FIXED, patch #414230: sun-cdrom)
2908 (FIXED, patch #413574: portable1)
2909 there are cases where a pointer is cast to a 32-bit int,
2910 then later cast to a pointer and dereferenced, which crashes any 64-bit
2913 (FIXED, patch #413574: portable1)
2914 some machines have no snprintf or strtoull. include a replacement function
2917 (FIXED, patch #413574: portable1)
2918 Some compilers don't allow "typedef struct { } foo;"
2920 (FIXED, patch #413574: portable1)
2921 Some people don't have hash_map.h, used in dbg_main.cc. Disable this code
2922 if hash_map.h not found.
2924 (FIXED, patch #413574: portable1)
2925 Some compilers can't handle labels at the end of a block, as in
2926 void main () { /*code*/ label: }
2928 (FIXED, patch #413574: portable1)
2929 Most compilers can't handle __attribute__. Use macro to define it away.
2931 (FIXED, patch #413574: portable1)
2932 if --enable-debugger, turn on --enable-disasm too.
2934 (FIXED, patch #413574: portable1)
2935 ome compilers can't handle any chars after an #endif
2937 (FIXED, patch #413574: portable1)
2938 wrong type arg1 of bx_dbg_watch and bx_dbg_unwatch. The code in
2939 lexer.l was calling it with integers (not booleans)
2941 (FIXED, patch #413574: portable1)
2942 in fpu code, "setcc" macro was implemented with braces inside parens,
2943 which some compilers don't understand.
2945 (FIXED, patch #413574: portable1)
2946 in fpu_entry.c, FPU_load_int32 was consistently called with arg1 of
2947 type (s32 *), but should be (u32 *)
2949 (FIXED, patch #413574: portable1)
2950 comment out sigcontext structure in fpu/stubs/asm/sigcontext.h because
2951 it conflicted with sigcontext of other machines. This struct was never
2952 used by bochs anyway.
2954 (FIXED, patch #414046: portable2)
2955 move definition of missing library functions into osdep.h and osdep.cc,
2956 include contents of macutils*.
2958 (FIXED, patch #414061: win32-rawcd)
2959 CDROM drive letter for WIN32 should not be hardcoded.
2961 (FIXED, patch #414060: win32-rawfloppy)
2962 Bypass fstat when opening WIN32 raw floppy disk.
2964 (FIXED, patch #414226: pit-panic)
2965 WinME install dies with panic:
2966 bochs: panic, pit: outp(43h): comm Bh, mode 00, bcd 00 unhandled
2967 I think I had a similar problem. All three timers should support modes
2968 0, 2, and 3. Other modes really aren't implemented.