head 1.11; access; symbols pkgsrc-2013Q2:1.11.0.8 pkgsrc-2013Q2-base:1.11 pkgsrc-2012Q4:1.11.0.6 pkgsrc-2012Q4-base:1.11 pkgsrc-2011Q4:1.11.0.4 pkgsrc-2011Q4-base:1.11 pkgsrc-2011Q2:1.11.0.2 pkgsrc-2011Q2-base:1.11 pkgsrc-2010Q4:1.10.0.28 pkgsrc-2010Q4-base:1.10 pkgsrc-2010Q3:1.10.0.26 pkgsrc-2010Q3-base:1.10 pkgsrc-2010Q2:1.10.0.24 pkgsrc-2010Q2-base:1.10 pkgsrc-2010Q1:1.10.0.22 pkgsrc-2010Q1-base:1.10 pkgsrc-2009Q4:1.10.0.20 pkgsrc-2009Q4-base:1.10 pkgsrc-2009Q3:1.10.0.18 pkgsrc-2009Q3-base:1.10 pkgsrc-2009Q2:1.10.0.16 pkgsrc-2009Q2-base:1.10 pkgsrc-2009Q1:1.10.0.14 pkgsrc-2009Q1-base:1.10 pkgsrc-2008Q4:1.10.0.12 pkgsrc-2008Q4-base:1.10 pkgsrc-2008Q3:1.10.0.10 pkgsrc-2008Q3-base:1.10 cube-native-xorg:1.10.0.8 cube-native-xorg-base:1.10 pkgsrc-2008Q2:1.10.0.6 pkgsrc-2008Q2-base:1.10 cwrapper:1.10.0.4 pkgsrc-2008Q1:1.10.0.2 pkgsrc-2008Q1-base:1.10 pkgsrc-2007Q4:1.8.0.10 pkgsrc-2007Q4-base:1.8 pkgsrc-2007Q3:1.8.0.8 pkgsrc-2007Q3-base:1.8 pkgsrc-2007Q2:1.8.0.6 pkgsrc-2007Q2-base:1.8 pkgsrc-2007Q1:1.8.0.4 pkgsrc-2007Q1-base:1.8 pkgsrc-2006Q4:1.8.0.2 pkgsrc-2006Q4-base:1.8 pkgsrc-2006Q3:1.7.0.8 pkgsrc-2006Q3-base:1.7 pkgsrc-2006Q2:1.7.0.6 pkgsrc-2006Q2-base:1.7 pkgsrc-2006Q1:1.7.0.4 pkgsrc-2006Q1-base:1.7 pkgsrc-2005Q4:1.7.0.2 pkgsrc-2005Q4-base:1.7 pkgsrc-2005Q3:1.6.0.14 pkgsrc-2005Q3-base:1.6 pkgsrc-2005Q2:1.6.0.12 pkgsrc-2005Q2-base:1.6 pkgsrc-2005Q1:1.6.0.10 pkgsrc-2005Q1-base:1.6 pkgsrc-2004Q4:1.6.0.8 pkgsrc-2004Q4-base:1.6 pkgsrc-2004Q3:1.6.0.6 pkgsrc-2004Q3-base:1.6 pkgsrc-2004Q2:1.6.0.4 pkgsrc-2004Q2-base:1.6 pkgsrc-2004Q1:1.6.0.2 pkgsrc-2004Q1-base:1.6 pkgsrc-2003Q4:1.5.0.4 pkgsrc-2003Q4-base:1.5 netbsd-1-6-1:1.5.0.2 netbsd-1-6-1-base:1.5 netbsd-1-6:1.4.0.6 netbsd-1-6-RELEASE-base:1.4 pkgviews:1.4.0.2 pkgviews-base:1.4 buildlink2-base:1.3 buildlink2:1.3.0.2 netbsd-1-5-PATCH001:1.1 netbsd-1-5-RELEASE:1.1 netbsd-1-4-PATCH003:1.1 netbsd-1-4-PATCH002:1.1 comdex-fall-1999:1.1; locks; strict; comment @# @; 1.11 date 2011.03.02.15.43.12; author ryoon; state dead; branches; next 1.10; 1.10 date 2008.01.18.10.21.01; author jmmv; state Exp; branches; next 1.9; 1.9 date 2008.01.03.21.03.45; author xtraeme; state Exp; branches; next 1.8; 1.8 date 2006.12.03.22.18.16; author jmmv; state Exp; branches; next 1.7; 1.7 date 2005.11.26.06.15.00; author ben; state Exp; branches; next 1.6; 1.6 date 2004.02.12.00.10.32; author hubertf; state Exp; branches; next 1.5; 1.5 date 2002.12.25.01.12.38; author uebayasi; state Exp; branches; next 1.4; 1.4 date 2002.07.12.03.39.16; author itojun; state Exp; branches; next 1.3; 1.3 date 2002.05.14.13.52.52; author fredb; state Exp; branches 1.3.2.1; next 1.2; 1.2 date 2001.05.25.23.01.31; author kei; state dead; branches; next 1.1; 1.1 date 99.10.25.16.05.38; author drochner; state Exp; branches; next ; 1.3.2.1 date 2002.05.14.13.52.52; author jlam; state dead; branches; next 1.3.2.2; 1.3.2.2 date 2002.06.23.18.45.28; author jlam; state Exp; branches; next ; desc @@ 1.11 log @Update to 2.4.6. pkgsrc changes: * Change CONFIGURE_ARGSs. * Support GUI debugger. * Set LICENSE. Upstream Changelog: Changes in 2.4.6 (February 22, 2011): Brief summary : - Support more host OS to run on: - Include win64 native binary in the release. - Fixed failures on big endian hosts. - BIOS: Support for up to 2M ROM BIOS images. - GUI: select mouse capture toggle method in .bochsrc. - Ported most of Qemu's 'virtual VFAT' block driver (except runtime write support, but plus FAT32 suppport) - Added write protect option for floppy drives. - Bugfixes / improved internal debugger + instrumentation. Detailed change log : - CPU and internal debugger - Implemented Process Context ID (PCID) feature - Implemented FS/GS BASE access instructions support (according to document from http://software.intel.com/en-us/avx/) - Rewritten from scratch SMC detection algorithm - Implemented fine-grained SMC detection (on 128 byte granularity) - Bugfixes for CPU emulation correctness and stability - Fixed failures on Big Endian hosts ! - Print detailed page walk information and attributes in internal debugger 'page' command - Updated/Fixed instrumentation callbacks - Configure and compile - Bochs now can be compiled as native Windows x86-64 application (tested with Mingw gcc 4.5.1 and Microsoft Visual Studio Express 2010) - Added ability to configure CPUID stepping through .bochsrc. The default stepping value is 3. - Added ability to disable MONITOR/MWAIT support through .bochsrc CPUID option. The option is available only if compiled with --enable-monitor-mwait configure option. - Determine and select max physical address size automatically at configure time: - 32-bit physical address for 386/486 guests - 36-bit physical address for PSE-36 enabled Pentium guest - 40-bit physical address for PAE enabled P6 or later guests - Update config.guess/config.sub scripts to May 2010 revisions. - Update Visual Studio 2008 project files in build/win32/vs2008ex-workspace.zip - Added Bochs compilation timestamp after Bochs version string. - GUI and display libraries (Volker) - Added new .bochsrc option to select mouse capture toggle method. In addition to the default Bochs method using the CTRL key and the middle mouse button there are now the choices: - CTRL+F10 (like DOSBox) - CTRL+ALT (like QEMU) - F12 (replaces win32 'legacyF12' option) - display library 'x' now uses the desktop size for the maximum guest resolution - ROM BIOS - Support for up to 2M ROM BIOS images - I/O Devices - 3 new 'pseudo device' plugins created by plugin separation (see below) - Fixes for emulated DHCP in eth_vnet (patch from @@SF tracker) - Added support for VGA graphics mode with 400 lines (partial fix for SF bug #2948724) - NE2K: Fixed "send buffer" command issue on big endian hosts - USB - converted common USB code plus devices to the new 'usb_common' plugin Now the USB device classes no longer exist twice if both HC plugins are loaded. - added 'pseudo device' in common USB code for the device creation. This makes the HCs independent from the device specific code. - USB MSD: added support for disk image modes (like ATA disks) - USB printer: output file creation failure now causes a disconnect - re-implemented "options" parameter for additional options of connected devices (currently only used to set the speed reported by device and to specify an alternative redolog file of USB MSD disk image modes) - hard drive - new disk image mode 'vvfat' - ported the read-only part of Qemu's 'virtual VFAT' block driver - additions: configurable disk geometry, FAT32 support, read MBR and/or boot sector from file, volatile write support using hdimage redolog_t class, optional commit support on Bochs exit, save/restore file attributes, 1.44 MB floppy support, set file modification date/time - converted the complete hdimage stuff to the new 'hdimage' plugin - new hdimage method get_capabilities() that can return special flags - vmware3, vmware4 and vvfat classes now return HDIMAGE_HAS_GEOMETRY flag - other disk image modes by default return HDIMAGE_AUTO_GEOMETRY if cylinder value is set to 0 - multiple sector read/write support for some image modes - new log prefix "IMG" for hdimage messages - floppy - added write protect option for floppy drives (based on @@SF patch by Ben Lunt) - vvfat support - bugfix: close images on exit - SB16 - converted the sound output module stuff to the new 'soundmod' plugin - SF patches applied [3164945] hack to compile under WIN64 by Darek Mihocka and Stanislav [3164073] Fine grain SMC invalidation by Stanislav [1539417] write protect for floppy drives by Ben Lunt [2862322] fixes for emulated DHCP in eth_vnet - these S.F. bugs were closed/fixed [2588085] Mouse capture [3140332] typo in mf3/ps2 mapping of BX_KEY_CTRL_R [3111577] No "back" option in log settings [3108422] Timing window in NE2K emulation [3084390] Bochs won't load floppy plugin right on startup [3043174] Docbook use of '_' build failure [3085140] Ia_arpl_Ew_Rw definition of error [3078995] ROL/ROR/SHL/SHR modeling wrong when dest reg is 32 bit [2864794] BX_INSTR_OPCODE in "cpu_loop" causes crash in x86_64 host [2884071] [AIX host] prefetch: EIP [00010000] > CS.limit [0000ffff] [3053542] 64 bit mode: far-jmp instruction is error [3011112] error compile vs2008/2010 with X2APIC [3002017] compile error with vs 2010 [3009767] guest RFLAGS.IF blocks externel interrupt in VMX guest mode [2964655] VMX not enabled in MSR IA32_FEATURE_CONTROL [3005865] IDT show bug [3001637] CMOS MAP register meaning error [2994370] Cannot build with 3DNow support - these S.F. feature requests were closed/implemented [1510142] Native Windows XP x64 Edition binary [1062553] select mouse (de)activation in bochsrc [2930633] legacy mouse capture key : not specific enough [2930679] Let user change mouse capture control key [2803538] Show flags for pages when using "info tab" ------------------------------------------------------------------------- Changes in 2.4.5 (April 25, 2010): Brief summary : - Major configure/cpu rework allowing to enable/disable CPU options at runtime through .bochsrc (Stanislav) - Bugfixes for CPU emulation correctness and stability - Implemented X2APIC extensions (Stanislav) - Implemented Intel VMXx2 extensions (Stanislav) - Extended VMX capability MSRs, APIC Virtualization, X2APIC Virtualization, Extended Page Tables (EPT), VPID, Unrestricted Guests, new VMX controls. - Implemented PCLMULQDQ AES instruction - Extended Bochs internal debugger functionality - USB HP DeskJet 920C printer device emulation (Ben Lunt) Detailed change log : - Configure rework - Deprecate --enable-popcnt configure option. POPCNT instruction will be enabled automatically iff SSE4_2 is supported (like in hardware). - Make --ignore-bad-msrs runtime option in .bochsrc. Old --ignore-bad-msrs configure option is deprecated and should not be used anymore. - Enable changing part of CPU functionality at runtime through .bochsrc. - Now you could enable/disable any of SSEx/AES/MOVBE/SYSENTER_SYSEXIT/XSAVE instruction sets using new CPUID option in .bochsrc. - When x86-64 support is compiled in, you could enable/disable long mode 1G pages support without recompile using new CPUID option in .bochsrc. Configure options: --enable-mmx, --enable-sse, --enable-movbe, --enable-xsave, --enable-sep, --enable-aes, --enable-1g-pages are deprecated and should not be used anymore. - Local APIC configure option --enable-apic is deprecated and should not be used anymore. The LAPIC option now automatically determined from other configure options. XAPIC functionality could be enabled using new CPUID .bochsrc option. - Changed default CPU configuration (generated by configure script with default options) to BX_CPU_LEVEL=6 with SSE2 enabled. - CPU - Implemented PCLMULQDQ AES instruction - Implemented X2APIC extensions / enable extended topology CPUID leaf (0xb), in order to enable X2APIC configure with --enable-x2apic - Implemented Intel VMXx2 extensions: - Enabled extended VMX capability MSRs - Implemented VMX controls for loading/storing of MSR_PAT and MSR_EFER - Enabled/Implemented secondary proc-based vmexec controls: - Implemented APIC virtualization - Implemented Extended Page Tables (EPT) mode - Implemented Descriptor Table Access VMEXIT control - Implemented RDTSCP VMEXIT control - Implemented Virtualize X2APIC mode control - Implemented Virtual Process ID (VPID) - Implemented WBINVD VMEXIT control - Implemented Unrestricted Guest mode In order to enable emulation of VMXx2 extensions configure with --enable-vmx=2 option (x86-64 must be enabled) - Bugfixes for CPU emulation correctness - Fixed Bochs crash when accessing the first byte above emulated memory size - Internal Debugger - Introduced range read/write physical watchpoints - Allow reloading of segment registers from internal debugger - Improved verbose physical memory access tracing - BIOS - Fix MTRR configuration (prevented boot of modern Linux kernels) - Fix interrupt vectors for INT 60h-66h (reserved for user interrupt) by setting them to zero - Fix BIOS INT13 function 08 when the number of cylinders on the disk = 1 - I/O Devices - USB HP DeskJet 920C printer device emulation (Ben Lunt) - Misc - Updated Bochs TESTFORM to version 0.5 - SF patches applied [2864402] outstanding x2apic patches by Stanislav [2960379] Fix build with -Wformat -Werror=format-security by Per Oyvind Karlsen [2938273] allow instrumentation to change execute by Konrad Grochowski [2926072] Indirection operators in expressions by Derek Peschel [2914433] makesym.perl misses symbols by John R. Jackson [2908481] USB Printer by Ben Lunt - these S.F. bugs were closed/fixed [2861662] dbg_xlate_linear2phy needs to be updated [2956217] INT13 AH=8 returns wrong values when cylinders=1 [2981161] Allow DMA transfers to continue when CPU is in HALT state [2795115] NX fault could be missed [2964824] bad newline sequence in aspi-win32.h [913419] configure options and build process needs some work [2938398] gdbstub compile error with x86_64 enabled [2734455] shutdown/reset type 05 should reinit the PICs [1921294] extended memory less than 1M wrong size [1947249] BX_USE_EBDA_TABLES and MP table placement [1933859] BX_USE_EBDA_TABLES and memory overlapping [2923680] "help dregs" is a syntax error [2919661] CPU may fail to do 16bit near call [2790768] Memory corruption with SMP > 32, Panic BIOS Keyboard Error [2902118] interrupts vectors 0x60 to 67 should be NULL ! [2912502] Instruction Pointer behaving erratically [2901047] Bochs crashed, closed by guest os [2905385] Bochs crash [2901481] Instruction SYSRET and SS(PL) [2900632] Broken long mode RETF to outer priviledge with null SS [1429011] Use bx_phyaddr_t for physaddr vars and bx_adress for lin adr - these S.F. feature requests were closed/implemented [2955911] RPM preuninstall scriptlet removes /core [2947863] don't abort on unrecognised options [2878861] numerics in the disassembler output [2900619] make more CPU state changeable ------------------------------------------------------------------------- Changes in 2.4.2 (November 12, 2009): - CPU and internal debugger - VMX: Implemented TPR shadow VMEXIT - Bugfixes for CPU emulation correctness (mostly for VMX support). - Bugfixes and updates for Bochs internal debugger - On SMP system stepN command now affects only current processor - Memory - Bugfixes for > 32-bit physical address space. - Allow to emulate more physical memory than host actually could or would like to allocate. For more details look for new .bochsrc 'memory' option. - Cleanup configure options - All paging related options now will be automatically determined according to --enable-cpu-level option. Related configure options --enable-global-pages, --enable-large-pages, --enable-pae, --enable-mtrr are deprecated now. Only 1G paging option still remaining unchanged. - Deprecate --enable-daz configure option. Denormals-are-zeros MXCSR control will be enabled automatically iff SSE2 is supported (like in hardware). - Deprecate --enable-vme configure option, now it will be supported iff CPU_LEVEL >= 5 (like in hardware). - I/O Devices - Bugfixes for 8254 PIT, VGA, Cirrus-Logic SVGA, USB UCHI - SF patches applied [2817840] Make old_callback static by Mark Marshall [2874004] fix for VMWRITE instruction by Roberto Paleari [2873999] fix CS segment type during fast syscall invocation by Roberto Paleari [2864389] Debugger gui maximize on startup by Thomas Nilsen [2817868] Rework loops in the memory code by Mark Marshall [2812948] PIT bug by Derek - these S.F. bugs were closed/fixed [2833504] GUI debugger bug-about GDT display [2872244] BIOS writes not allowed value to MTRR MSR causing #GP [2885383] SDL GUI memory leak [2872290] compilation in AIX5.3 ML10 failes [2867904] crash with cirrus bx_vga_c::mem_write [2851495] BIOS PCI returns with INT flag = 0 [2860333] vista 64 guest STOP 109 (GDT modification) [2849745] disassembler bug for 3DNow and SSE opcodes [1066748] Wrong registers values after #RESET, #INIT [2836893] Regression: Windows XP installer unable to format harddrive [2812239] VMX: VM-Exit: Incorrect instruction length on software int [2814130] bx_debug lex/yacc files incorrectly generated [2813199] MP Tables Missing From BIOS [2824093] VMX exception bug [2811909] VMX : CS Access-rights Type.Accessed stays 0 [2810571] Compile Errors on OSX [2823749] GCC regression or VM_EXIT RDMSR/WRMSR bug [2815929] Vista/XP64 unnecessary panic [2803519] Wrong example in man page bochsrc - these S.F. feature requests were closed/implemented [422766] Large Memory configurations [1311287] Idea for a better GUI [455971] USB support [615363] debugger shortcut for repeat last cmd ------------------------------------------------------------------------- Changes in 2.4.1 (June 7, 2009): - Fixed bunch of CPUID issues - Bochs is now able to install and boot 64-bit Windows images! (special thanks to Mark Ebersole for his patch) - Several bugfixes in CPU emulation (mostly for x87 instructions) - Fixed two critical deadlock bugs in the Win32 gui (patches from @@SF tracker) - Fixes related to the 'show ips' feature - removed conflicting win32-specific alarm() functions ('win32' and 'sdl' gui) - feature now works in wx on win32 - Added support for gdb stub on big endian machine (patch by Godmar Back) - Rewritten obsolete hash_map code in dbg symbols module (patch from @@SF) - BIOS: implemented missing INT 15h/89h (patch by Sebastian Herbszt) ------------------------------------------------------------------------- Changes in 2.4 (May 3, 2009): Brief summary : - Added graphical Bochs debugger frontend for most of the supported platforms. - Thanks for Chourdakis Michael and Bruce Ewing. - Many new CPU features in emulation - Support for > 32 bit physical address space and configurable MSRs - VMX, 1G pages in long mode, MOVBE instruction - Bugfixes for CPU emulation correctness, debugger and CPU instrumentation. - New config interface 'win32config' with start and runtime menu - USB: added OHCI support, external hub and cdrom - Added user plugin interface support. Detailed change log : - CPU and internal debugger - Support for VMX hardware emulation in Bochs CPU, to enable configure with --enable-vmx option Nearly complete VMX implementation, with few exceptions: - Dual-monitor treatment of SMIs and SMM not implemented yet - NMI virtualization, APIC virtualization not implemented yet - VMENTER to not-active state not supported yet - No advanced features like Extended Page Tables or VPID - Support for configurable MSR registers emulation, to enable configure with --enable-configurable-msrs option Look for configuration example in .bochsrc and msrs.def - Support new Intel Atom(R) MOVBE instruction, to enable configure with --enable-movbe option - Support for 1G pages in long mode, to enable configure with --enable-1g-pages option - Support for > 32 bit physical address space in CPU. Up to 36 bit could be seen in legacy mode (PAE) and up to 40 bit in x86-64 mode. Still support the same amount of the physical memory in the memory object, so system with > 4Gb of RAM yet cannot be emulated. To enable configure with --enable-long-phy-address option. - Implemented modern BIOSes mode limiting max reported CPUID function to 3 using .bochsrc CPU option. The mode is required in order to correctly install and boot WinNT. - Added ability to configure CPUID vendor/brand strings through .bochsrc (patch from @@SF by Doug Reed). - Many bugfixes for CPU emulation correctness (both x86 and x86-64). - Updated CPU instrumentation callbacks. - Fixed Bochs internal debugger breakpoints/watchpoints handling. - Configure and compile - Added ability to choose Bochs log file name and Bochs debugger log file name from Bochs command line (using new -log and -dbglog options) - Removed Peter Tattam's closed source external debugger interface from the code. - Removed --enable-guest2host-tlb configure option. The option is always enabled for any Bochs configuration. - Removed --enable-icache configure option. The option is always enabled for any Bochs configuration. Trace cache support still remains optional and could be configured off. - Added configure option to compile in GUI frontend for Bochs debugger, to enable configure with --enable-debugger-gui option. The GUI debugger frontend is enabled by default with Bochs debugger. - Removed --enable-port-e9-hack configure option. The feature now could be configured at runtime through .bochsrc. - Added configure option to enable/disable A20 pin support. Disabling the A20 pin support slightly speeds up the emulation. - reduced dependencies between source files for faster code generation - BIOS - Added S3 (suspend to RAM) ACPI state to BIOS (patch by Gleb Natapov) - Implemented MTRR support in the bios (patches by Avi Kivity and Alex Williamsion with additions by Sebastian Herbszt) - Bug fixes - I/O Devices - Added user plugin support - remaining devices converted to plugins: pit, ioapic, iodebug - added 'plugin_ctrl' bochsrc option to control the presence of optional device plugins without a separate option. By default all plugins are enabled. - added register mechanism for removable mouse and keyboard devices - Hard drive / cdrom - PACKET-DMA feature now supported by all ATAPI commands - ATAPI command 0x1A added (based on the Qemu implementation) - sb16 - Added ALSA sound support on Linux (PCM/MIDI output) - FM synthesizer now usable with MIDI output (simple piano only) - Fixed OPL frequency to MIDI note translation - Fixed MIDI output command - keyboard - added keyboard controller commands 0xCA and 0xCB - USB - USB code reorganized to support more HC types and devices - added USB OHCI support written by Ben Lunt - added external USB hub support (initial code ported from Qemu) - added USB cdrom support (SCSI layer ported from Qemu) - added status bar indicators to show data transfer - VGA - VBE video memory increased to 16 MB - implemented changeable VBE LFB base address (PCI only, requires latest BIOS and VGABIOS images) - I/O APIC - implemented I/O APIC device hardware reset - Config interface - new config interface 'win32config' with start and runtime menu is now the default on Windows ('textconfig' is still available) - win32 device config dialogs are now created dynamicly from a parameter list (works like the wx ParamDialog) - changes in textcofig and the wx ParamDialog for compatibility with the new win32 dialog behaviour - Bochs param tree index keys are case independent now - some other additions / bugfixes in the simulator interface code - Misc - updated LGPL'd VGABIOS to version 0.6c - Updated Bochs TESTFORM to version 0.4 - SF patches applied [2784858] IO Handler names are not compared properly [2712569] Legacy bios serial data buffer timeout bug by grybranix [2655090] 64 bit BSWAP with REX.W broken by M. Eby [2645919] CR8 bug when reading by M. Eby [1895665] kvm: bios: add support to memory above the pci hole by Izik Eidus [2403372] rombios: check for valid cdrom before using it by Sebastian [2307269] acpi: handle S3 by Sebastian [2354134] TAP networking on Solaris/Sparc repaired [2144692] The scsi device can not complete its writing data command by naiyue [1827082] [PATCH] Configurable CPU vendor by Marcel Sondaar [2217229] Panic on EBDA overflow in rombios32 by Sebastian [2210194] Log pci class code by Sebastian [1984662] red led for disk write and titlebar mod by ggbsf [2142955] Fix for monitor/mwait by Doug Gibson [2137774] Patch to fix bug: cdrom: read_block: lseek returned error by Gabor Olah [2134642] Fix scan_to_scanascii table for F11 and F12 by Ben Guthro & Steve Ofsthun [2123036] sdl fullscreen fix by ggbsf [2073039] Remove CMOS accsess from AML code by Gleb Natapov [2072168] smbios: add L1-L3 cache handle to processor information by Sebastian [2055416] bochsrc cpu options for cpuid vendor and brand string by Doug Reed [2035278] rombios: Fix return from BEV via retf by Sebastian [2035260] rombios: El Torito load segment fix by Sebastian [2031978] Fix VMware backdoor command 0Ah by Jamie Lokier [2015277] Remove obsolete comment about DATA_SEG_DEFS_HERE hack by Sebastian [2011268] Set new default format and unit only if both are supported by Sebastian [2001919] gdbstub: fix qSupported reply by Sebastian [2001912] gdbstub: enclose packet data by apostrophes by Sebastian [1998071] fix missing SIGHUP and SIGQUIT with term ui on mingw by Sebastian [1998063] fix wrong colors with term ui by Sebastian [1995064] Compile fix needed for --enable-debugger and gcc 4.3 by Hans de Goede [1994564] Fix typo in RDMSR BX_MSR_MTRRFIX16K_A0000 by Sebastian [1994396] Change hard_drive_post #if by Sebastian [1993235] TESTFORM email address update by Sebastian [1992322] PATCH: fix compilation of bochs 2.3.7 on bigendian machines by Hans de Goede [1991280] Shutdown status code 0Ch handler by Sebastian [1990108] Shutdown status code 0Bh handler by Sebastian [1988907] Shutdown status code 0Ah handler by Sebastian [1984467] two typos in a release! (2.3.7) [1981505] Init PIIX4 PCI to ISA bridge and IDE by Sebastian - these S.F. bugs were closed/fixed [2784148] an integer overflow BUG of Bochs-2.3.7 source code [2695273] MSVC cpu.dsp failure in 2.3.7.zip [616114] Snapshot/Copy crash on Win2K [2628318] 'VGABIOS-latest' bug [1945055] can't 'make install' lastest bochs on loepard [2031993] Mac OS X Makefile bug [1843199] install error on mac osx [2710931] Problem compiling both instrumentation and debugger [2617003] ExceptionInfo conflicts with OS X api [2609432] stepping causes segfault (CVS) [2605861] compile error with --enable-smp [1757068] current cvs(Jul19, 07) failed to boot smp [2426271] cannot get correct symbol entry [2471982] VGA character height glitches [1659659] wrong behaviour a20 at boot [1998027] minwg + --with-term + --with-out-win32 = link failure [1871936] bochs-2.3.6 make fails on wx.cc [1684666] info idt for long mode [2105989] could not read() hard drive image file at byte 269824 [1173093] Debugger totally not supports x86-64 [1803018] new win32debug dialog problems [2141679] windows vcc build broken [2162824] latest cvs fails to compile [2164506] latest bochs fails to start [2129223] MOV reg16, SS not working in real mode due to dead code [2106514] RIS / startrom.com install ALMOST works [2123358] SMP (HTT): wbinvd executed by CPU1 crashes CPU0 [2002758] Arch Linux: >>PANIC<< ATAPI command with zero byte count [2026501] El Torito incorrect boot segment:offset [2029758] BEV can return via retf instead of int 18h [2010173] x command breaks after one error about x/s or x/i [1830665] harddrv PANIC: ATAPI command with zero byte count [1985387] fail to make using gcc4 with --enable-debugger [1990187] testform feedback [1992138] Misspell in cpu/ia_opcodes.h - these S.F. feature requests were closed/implemented [2175153] Update MSVC project files [658800] front end program and bios [1883370] Make cd and floppy images more usable [422783] change floppy size without restarting [2552685] param tree names should be case insensitive [1214659] PC Speaker emu turnoff. Plugin Controll. [1977045] support 40 bit physical address [1506385] Intel Core Duo VT features [1429015] Support for user plugins [1488136] debugger access to floppy controller [1363136] Full debugger SMP and 64 bit support [2068304] Support for ACPI [431032] debugger "x" command [423420] profiling ideas (SMF) [445342] Add FM support? [928439] alsa @ text @$NetBSD: patch-ad,v 1.10 2008/01/18 10:21:01 jmmv Exp $ --- Makefile.in.orig 2007-10-22 00:07:20.000000000 +0200 +++ Makefile.in @@@@ -72,8 +72,8 @@@@ RMDIR=rmdir TAR=tar CHMOD=chmod # the GZIP variable is reserved by gzip program -GZIP_BIN=gzip -9 -GUNZIP=gunzip +GZIP_BIN=${GZIP_CMD} -9 +GUNZIP=${GUNZIP_CMD} ZIP=zip UNIX2DOS=unix2dos LIBTOOL=@@LIBTOOL@@ @@@@ -576,7 +576,7 @@@@ RINCLUDES=/System/Library/Frameworks/Car REZ_ARGS=-append -i $RINCLUDES -d SystemSevenOrLater=1 -useDF STANDALONE_LIBDIR=`pwd`/$(APP)/Contents/$(APP_PLATFORM)/lib OSACOMPILE=/usr/bin/osacompile -SETFILE=/Developer/Tools/Setfile +SETFILE=/Developer/Tools/SetFile # On a MacOS X machine, you run rez, osacompile, and setfile to # produce the script executable, which has both a data fork and a @@@@ -653,18 +653,15 @@@@ $(APP)/.build_plugins: $(APP)/.build boc $(LIBTOOL) --finish $(STANDALONE_LIBDIR); touch $(APP)/.build_plugins -install_macosx: all download_dlx install_man @@INSTALL_DOCBOOK_VAR@@ - -mkdir -p $(DESTDIR)$(prefix) +install_macosx: all install_man @@INSTALL_DOCBOOK_VAR@@ + -mkdir -p $(DESTDIR)$(sharedir) for i in $(INSTALL_LIST_MACOSX); do if test -e $$i; then $(CPMAC) -r $$i $(DESTDIR)$(sharedir); else $(CPMAC) -r $(srcdir)/$$i $(DESTDIR)$(sharedir); fi; done $(CPMAC) $(srcdir)/.bochsrc $(DESTDIR)$(sharedir)/bochsrc-sample.txt -mkdir $(DESTDIR)$(sharedir)/keymaps $(CPMAC) $(srcdir)/gui/keymaps/*.map $(DESTDIR)$(sharedir)/keymaps - cat $(DLXLINUX_TAR) | (cd $(DESTDIR)$(sharedir) && tar xzvf -) - dlxrc=$(DESTDIR)$(sharedir)/dlxlinux/bochsrc.txt; mv "$$dlxrc" "$$dlxrc.orig" && sed < "$$dlxrc.orig" 's/\/usr\/local\/bochs\/latest/../' > "$$dlxrc" && rm -f "$$dlxrc.orig" mv $(srcdir)/README $(srcdir)/README.orig cat $(srcdir)/build/macosx/README.macosx-binary $(srcdir)/README.orig > $(DESTDIR)$(sharedir)/README rm -f $(DESTDIR)$(sharedir)/README.orig - $(CPMAC) $(SCRIPT_EXEC) $(DESTDIR)$(sharedir)/dlxlinux # for i in $(TEXT_FILE_LIST); do mv $(srcdir)/$$i $(DESTDIR)$(sharedir)/$$i.txt; done ########################################### @ 1.10 log @Fix Mac OS X and debug-enabled builds. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.9 2008/01/03 21:03:45 xtraeme Exp $ @ 1.9 log @Update to 2.3.6: + More than 25% emulation speedup vs Bochs 2.3.5 release! + Up to 40% speedup vs Bochs 2.3.5 release with trace cache optimization! - Lots of bugfixes in CPU emulation - Bochs benchmarking support - Added emulation of Intel SSE4.2 instruction set and others, please review the CHANGES file. @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 --- Makefile.in.orig 2007-12-27 00:43:38.000000000 +0100 +++ Makefile.in 2007-12-27 00:44:54.000000000 +0100 @@@@ -72,8 +72,8 @@@@ d16 1 a16 1 @@@@ -576,7 +576,7 @@@@ d25 1 a25 1 @@@@ -653,18 +653,15 @@@@ d30 1 d32 1 a32 1 -mkdir -p $(DESTDIR)$(prefix) @ 1.8 log @Make this build and install under Mac OS X. I doubt this is the best way to handle this, but it is good (and simple!) enough for now. It'd be improved by moving some more files around and trying to make it more consistent with "regular" installs. The problem is that the build results are completely different under OS X than those produced in other systems. Not bumping PKGREVISION because this was unbuildable before. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.7 2005/11/26 06:15:00 ben Exp $ d3 3 a5 3 --- Makefile.in.orig 2005-07-06 22:28:23.000000000 +0200 +++ Makefile.in @@@@ -71,8 +71,8 @@@@ RMDIR=rmdir d16 1 a16 1 @@@@ -574,7 +574,7 @@@@ RINCLUDES=/System/Library/Frameworks/Car d25 1 a25 1 @@@@ -651,18 +651,15 @@@@ $(APP)/.build_plugins: $(APP)/.build boc d29 14 a42 14 -install_macosx: all download_dlx @@INSTALL_DOCBOOK_VAR@@ +install_macosx: all @@INSTALL_DOCBOOK_VAR@@ -mkdir -p $(prefix) for i in $(INSTALL_LIST_MACOSX); do if test -e $$i; then $(CPMAC) -r $$i $(prefix); else $(CPMAC) -r $(srcdir)/$$i $(prefix); fi; done $(CPMAC) $(srcdir)/.bochsrc $(prefix)/bochsrc-sample.txt -mkdir $(prefix)/keymaps $(CPMAC) $(srcdir)/gui/keymaps/*.map $(prefix)/keymaps - cat $(DLXLINUX_TAR) | (cd $(prefix) && tar xzvf -) - dlxrc=$(prefix)/dlxlinux/bochsrc.txt; mv "$$dlxrc" "$$dlxrc.orig" && sed < "$$dlxrc.orig" 's/\/usr\/local\/bochs\/latest/../' > "$$dlxrc" && rm -f "$$dlxrc.orig" mv $(prefix)/README $(prefix)/README.orig cat $(srcdir)/build/macosx/README.macosx-binary $(prefix)/README.orig > $(prefix)/README rm -f $(prefix)/README.orig - $(CPMAC) $(SCRIPT_EXEC) $(prefix)/dlxlinux for i in $(TEXT_FILE_LIST); do mv $(prefix)/$$i $(prefix)/$$i.txt; done @ 1.7 log @Update bochs to version 2.2.1. Changes include: - Fixed several compilation warnings and errors for different platforms (Volker) - Fixed FPU tag word restore in FXRSTOR instruction (Stanislav) - Added missing scancodes for F11 and F12 to BIOS translation table (Volker) - Bochs disassembler bugfixes (h.johansson) - About 5% emulation speed improvement (h.johansson) - Handle writing of zero to APIC timer initial count register (Stanislav) - Enable Idle-Hack for 'TERM' GUI (h.johansson) - Reduced overhead of BX_SHOW_IPS option to minimum. Now every simulation could run with --enable-show-ips without significant performance penalty. (Stanislav) - Fixed pcipnic register access (Volker) - Limited write support for TFTP server in 'vnet' networking module added (Volker) - Changed some timing defaults changed to more useful values (Volker) - WinXP/2003 style common controls now supported (Vitaly Vorobyov) - Updated LGPL'd VGABIOS to version 0.5c (Volker) - New floating point emulator based on SoftFloat floating point emulation library. - improved x86-64 emulation - Cirrus SVGA card emulation added - status bar with indicators for keyboard, floppy, cdrom and disk (gui dependant) - many improvements in Bochs emulated I/O devices (e.g. PCI subsystem) @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- Makefile.in.orig 2005-07-06 13:28:23.000000000 -0700 d16 29 @ 1.6 log @Update bochs to 2.1. Changes: - New disassembler - 3DNow!/SSE/SSE2/PNI instruction support - Vmware3/Sparse/Undoable/Growing harddisk images support - many VGA emulation improvements (e.g. high/true color VBE modes added) - No more X11 vga font required @ text @d3 1 a3 1 --- Makefile.in.orig Mon Dec 29 22:53:03 2003 d5 1 a5 2 @@@@ -70,8 +70,8 @@@@ MKDIR=mkdir RMDIR=rmdir d8 2 a9 1 -GZIP=gzip -9 d11 1 a11 1 +GZIP=${GZIP_CMD} -9 @ 1.5 log @Update to Bochs 2.0. A very brief summary of changes: - 2x emulation speedup!!! - added plugin devices and guis. Now you can compile with many more options, and choose between them at runtime. - added emulation of AMD x86-64, MMX, SSE, SSE2 instructions. - add wxWindows port (a graphical configuration interface and display lib) and SVGAlib port (full screen display for Linux without X11). - improvements in many I/O devices: for example up to 8 hard disks/cdroms, TUN/TAP network interface, 360k floppies. - improved MacOSX/Carbon interface and updated MacOS9port. - GDB remote stub, allows symbolic debugging with Bochs simulation. - support for up to 32gig hard disk images. @ text @d3 13 a15 25 --- iodev/cdrom.cc.orig Tue Dec 24 12:50:46 2002 +++ iodev/cdrom.cc @@@@ -662,6 +662,22 @@@@ return(true); } + int +cdrom_interface::start_cdrom() +{ + // Spin up the cdrom drive. + + if (fd >= 0) { +#if defined(__NetBSD__) + if (ioctl (fd, CDIOCSTART) < 0) + BX_DEBUG(( "start_cdrom: start returns error: %s", strerror (errno) )); + return(true); +#else + BX_INFO(("start_cdrom: your OS is not supported yet.")); + return(false); // OS not supported yet, return false always. +#endif + } +} void cdrom_interface::eject_cdrom() @ 1.4 log @upgrade to 1.4.1. ------------------------------------------------------------------------- Changes in 1.4.1 (June 22, 2002): - now cdrom is enabled in configure, unless you specifically disable it with --disable-cdrom. (Christophe) - fix compile error in main.cc when SMP or APIC is enabled (Dave) - the runtime menu now displays 11 (continue) by default (Bryce) - initialize DMA controller before floppy and SB16 - fix DMA panic when installing win95 (Volker) - first character of the vga bitmap is blank on win32 (Volker) Before, it was incorrectly coded as a '@@'. - AltGr key on European keyboards works now on win32 (Volker) - fix problem with console/serial port on Bochs exit (Volker) - enable serial port for GNU and GNU/Linux (Volker) - small documentation fixes (Volker) - remove unnecessary include statements for X11 (Volker) - italian keymap added (Emanuele Goldoni) - fix win32 ethernet frames error. It will no longer reject packets that are less than 60 bytes long. (Peter Tattam) - BIOS fixes : - win2k cd-boot (Christophe) - emm386 crash (Dave) - cs=0 at boot time (Christophe) - keyboard failure in scandisk (Dave) - fix bug in forming the 64-bit APIC base address from two 32-bit registers. A compiler warning in cpu/proc_ctrl.cc pointed this out. - fix default choice in the runtime options menu @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.3 2002/05/14 13:52:52 fredb Exp $ d3 1 a3 1 --- iodev/cdrom.cc.orig Tue Mar 19 19:24:16 2002 d5 1 a5 1 @@@@ -357,6 +357,22 @@@@ @ 1.3 log @- - Enable the cdrom driver, and begin to make it work on NetBSD. It can boot a Norton Utilities CD, but not run any of the utilities. That may be the known problem with the Windows 98 CD. - - Add the ability, on NetBSD, to spin up the CD-ROM. This keeps "disklabel cd0" while booted from the NetBSD 1.5.3 rescue floppy from panicing the emulation, but it still doesn't return a label. - - Go ahead and enable the network driver and dummy sound driver. The network driver almost works under the NetBSD rescue floppy (ifconfig works, but not ping). I have no way, currently, of verifying the (dummy, silent) sound driver. - - Bump to 1.4nb1. @ text @d1 1 a1 1 $NetBSD$ a4 9 @@@@ -65,7 +65,7 @@@@ #define BX_CD_FRAMESIZE 2048 #endif -#if (defined(__OpenBSD__) || defined(__FreeBSD__)) +#if (defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)) // OpenBSD pre version 2.7 may require extern "C" { } structure around // all the includes, because the i386 sys/disklabel.h contains code which // c++ considers invalid. a27 18 @@@@ -365,7 +381,7 @@@@ // some ioctl() calls to really eject the CD as well. if (fd >= 0) { -#if (defined(__OpenBSD__) || defined(__FreeBSD__)) +#if (defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)) (void) ioctl (fd, CDIOCALLOW); if (ioctl (fd, CDIOCEJECT) < 0) BX_DEBUG(( "eject_cdrom: eject returns error." )); @@@@ -495,7 +511,7 @@@@ return true; } -#elif (defined(__OpenBSD__) || defined(__FreeBSD__)) +#elif (defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)) { struct ioc_toc_header h; struct ioc_read_toc_entry t; @ 1.3.2.1 log @file patch-ad was added on branch buildlink2 on 2002-06-23 18:45:28 +0000 @ text @d1 54 @ 1.3.2.2 log @Merge from pkgsrc-current to buildlink2 branch. @ text @a0 54 $NetBSD: patch-ad,v 1.3.2.1 2002/06/23 18:45:28 jlam Exp $ --- iodev/cdrom.cc.orig Tue Mar 19 19:24:16 2002 +++ iodev/cdrom.cc @@@@ -65,7 +65,7 @@@@ #define BX_CD_FRAMESIZE 2048 #endif -#if (defined(__OpenBSD__) || defined(__FreeBSD__)) +#if (defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)) // OpenBSD pre version 2.7 may require extern "C" { } structure around // all the includes, because the i386 sys/disklabel.h contains code which // c++ considers invalid. @@@@ -357,6 +357,22 @@@@ return(true); } + int +cdrom_interface::start_cdrom() +{ + // Spin up the cdrom drive. + + if (fd >= 0) { +#if defined(__NetBSD__) + if (ioctl (fd, CDIOCSTART) < 0) + BX_DEBUG(( "start_cdrom: start returns error: %s", strerror (errno) )); + return(true); +#else + BX_INFO(("start_cdrom: your OS is not supported yet.")); + return(false); // OS not supported yet, return false always. +#endif + } +} void cdrom_interface::eject_cdrom() @@@@ -365,7 +381,7 @@@@ // some ioctl() calls to really eject the CD as well. if (fd >= 0) { -#if (defined(__OpenBSD__) || defined(__FreeBSD__)) +#if (defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)) (void) ioctl (fd, CDIOCALLOW); if (ioctl (fd, CDIOCEJECT) < 0) BX_DEBUG(( "eject_cdrom: eject returns error." )); @@@@ -495,7 +511,7 @@@@ return true; } -#elif (defined(__OpenBSD__) || defined(__FreeBSD__)) +#elif (defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)) { struct ioc_toc_header h; struct ioc_read_toc_entry t; @ 1.2 log @Updated to version 1.1.2 (bugfix3, 2001-05-16) - updated Elpin VGA BIOS to version 2.40, and changed pointer in .bochsrc - fixed .conf.x86 script so that it uses c++ instead of egcs for C++ files - now Makefile targets that recurse into subdirectories use double colons, so that it will always recurse into subdirectories. Now a single make command should notice a modified source file in a subdir. - fixed bug in bx_panic. If BX_PANIC_IS_FATAL==0 and a (non-fatal) panic occurs, it used to call bx_atexit() and then return. It should never call bx_atexit, which starts to shut down the simulator, unless it's really going to quit! - support 2.88 MB floppy disks - since dataseghack is checked in as non-executable, invoke it with "csh dataseghack" - double fault patch from Thomas Petazzoni , sourceforge patch #423726. - removed -fno-builtin from fpu makefiles - redefine u_char, u_short, etc. in order to not conflict with system definitions of these same types. - in cdrom.cc, remove the extern "C" { } structure around some of the header files. This is no longer necessary. - do not panic on hard disk command 0x1f2 (read sector count) - in keyboard.cc: - apply Todd Fries' reset patch - recognize most of the "Grey" insert/delete/home/end/etc. keys the same as keypad keys. - removed panic on "kbd_ctrl_to_kbd(): got value of 0x??" - implement mouse command 0xf6 (set defaults) - apply Suboner@@aol.com's Xwindows timing patch from http://sourceforge.net/tracker/index.php?func=detail&aid=418730&group_id=12580 &atid=312580 - remove all patches from patches subdir which have already been applied. The remaining ones are under consideration but not applied. @ text @d1 7 a7 13 $NetBSD: patch-ad,v 1.1 1999/10/25 16:05:38 drochner Exp $ --- iodev/harddrv.cc.orig Sun Oct 24 00:17:53 1999 +++ iodev/harddrv.cc Sun Oct 24 00:18:09 1999 @@@@ -492,7 +492,10 @@@@ value8 = BX_SELECTED_CONTROLLER.sector_count; goto return_value8; } - bx_panic("disk: IO read(0x1f2): current command not read/write\n"); + bx_printf("disk: IO read(0x1f2): current command not read/write (%x)\n", + BX_SELECTED_CONTROLLER.current_command); + value8 = 0xff; + goto return_value8; break; d9 46 a54 1 case 0x1f3: // sector number @ 1.1 log @Update bochs to 991023a. relevant changes since 980707: new BIOS many many fixes integrated debugger additions Pentium emulation It's now possible to boot NetBSD inside bochs. (Remaining problems: missing BIOS INT15/86 (delay), IDE disk recognition, timer interrupt too fast, pccons-isapnp clash) @ text @d1 1 a1 1 $NetBSD$ @