Commit Graph

5781 Commits

Author SHA1 Message Date
Volker Ruppert
18a66befd0 - PCI BIOS function 'find class code' implemented for real and protected mode 2006-11-04 18:07:24 +00:00
Volker Ruppert
b69c36ae14 - updated after removing iodebug.html 2006-11-01 17:12:13 +00:00
Volker Ruppert
61e26c372d - moved iodebug documentation to the developer documentation
- added sample to the iodebug section (posted in the ML)
- added description for the 'magic_break' option
- updated gdbstub section
2006-11-01 17:06:03 +00:00
Volker Ruppert
e1ed0cd384 - register iodebug ports for word access only and simplify code 2006-11-01 15:44:38 +00:00
Volker Ruppert
67314b8e1e - attempt to fix the Solaris 10 compilation failure 2006-10-31 19:26:34 +00:00
Volker Ruppert
bb7108c133 - accept GDB connections from any host and report the host IP
- fixed some warnings
2006-10-29 18:44:49 +00:00
Volker Ruppert
e8cd2052c9 - improved gdbstub network efficiency (SF patch #1149659 by Avi Kivity)
- reimplemented "enter debugger" in ask dialog for gdbstub
- X11 and wxWidgets ask dialog now show "Debugger" button for gdbstub
- indent mode changes
2006-10-29 08:48:30 +00:00
Stanislav Shwartsman
905de565a9 Add debug prints for NX bit feature 2006-10-28 12:31:23 +00:00
Volker Ruppert
598c34ed0a - added special logfunction for the gdbstub and set panics to fatal
- removed trailing linefeeds from log messages
- removed command line parameters from init function
- added copyright and CVS ID
2006-10-26 17:27:04 +00:00
Volker Ruppert
7f37a79dc7 - check and adjust emulation window size after dimension update (workaround for
resize failures in wxGTK)
2006-10-25 17:40:56 +00:00
Volker Ruppert
f348c6cf50 - fixed broken debugger "rc file" command line option. Now it is possible to
execute debugger commands from the specified file. This is the command line
  counterpart to the undocumented debugger command "source".
2006-10-24 17:53:47 +00:00
Stanislav Shwartsman
4ceec75181 Print EFER status in 'info cr' command 2006-10-21 22:18:39 +00:00
Stanislav Shwartsman
650086669c Print 64-bit registers in 'info registers' command and in dump_regs 2006-10-21 22:06:39 +00:00
Stanislav Shwartsman
e410fa4a5a Small optimization for debugger parser - avoid using of non-safe "numeric range" param 2006-10-21 21:28:20 +00:00
Volker Ruppert
04d0b0a892 - exclude devices without a prefix in the advanced log options dialog 2006-10-21 15:36:07 +00:00
Volker Ruppert
8312d149eb - stop flooding logfile when using MS-DOS with EMM386. It seems to work correctly,
so I think this message can be changed to BX_DEBUG.
2006-10-20 15:38:39 +00:00
Stanislav Shwartsman
9e3a969239 Fixed lb/pb methods for platforms with BX_HAVE_STRTOULL=0 2006-10-19 17:51:58 +00:00
Stanislav Shwartsman
3329fb32ec Fixed lb/vb commands 2006-10-18 20:07:47 +00:00
Stanislav Shwartsman
d6bcfad065 Fixed lb/vb parsing 2006-10-18 18:23:18 +00:00
Volker Ruppert
b9a70fb502 - added stub for real mode PCIBIOS function 'find class code'
- improved real mode PCIBIOS error reporting
2006-10-17 16:48:41 +00:00
Volker Ruppert
f3b2b64204 - text mode color handling optimized
- fixed some warnings
- updated comments
2006-10-15 16:23:42 +00:00
Volker Ruppert
6c3f92db0b - enable the left "meta" key (left "win" key on win32) 2006-10-15 16:23:09 +00:00
Volker Ruppert
a614b2613e - return early if Windows text console creation fails
- set title of text console for wxWidgets on win32
2006-10-15 10:45:15 +00:00
Volker Ruppert
87d906295f - toggle mouse capture with left control key and the middle mouse button
(or left+right button)
- text update code rewritten (line offset now supported)
2006-10-14 15:53:47 +00:00
Volker Ruppert
9a1efba6d4 - text mode color handling optimized in the 'sdl' and 'x' guis 2006-10-13 17:55:53 +00:00
Volker Ruppert
f3bee13cad - Bochs on Solaris always needs to be linked with the socket library
- serial terminal support now enabled on Solaris
- only complain about the missing wxWidgets library if requested
2006-10-12 17:58:09 +00:00
Alexander Krisak
59c4f3da68 Fixed compillation error under Windows when BX_DEBUGGER is 0 2006-10-11 14:54:40 +00:00
Volker Ruppert
0b2331c1fe - sequencer register 0x07 must be initialized with 0 if cirrus extension is not
selected
- cirrus specific mem write methods don't need to be virtual
2006-10-08 15:21:26 +00:00
Volker Ruppert
f8f01db46a - replaced call of obsolete bcopy() by memcpy()
- the cfmakeraw() function is not available on all platforms (now using code
  that does the same job)
- removed useless strcpy() call
2006-10-08 10:59:21 +00:00
Volker Ruppert
b9352f74fd - moved config interface option to the general options list, since it cannot be
changed after initializing the config interface
- PARAM_TREE.txt updated and cleaned up (TODO: improve developer documentation
  and get rid of this file)
2006-10-08 10:18:51 +00:00
Volker Ruppert
9063b72a6d - don't crash Bochs when closing window (simulation window now stops the
simulation, dialogs treat the event like the ESC button)
2006-10-07 10:01:20 +00:00
Volker Ruppert
c9c01954b9 - PM/SM i/o space enable control bits implemented
- ACPI debug port added
2006-10-07 08:59:15 +00:00
Stanislav Shwartsman
e3da944cd3 Fixed TLB access code duplication 2006-10-04 19:47:24 +00:00
Stanislav Shwartsman
6c63e84d23 Fixed CR3 masking in long mode
Added PANIC assertion of 32-bit physical address in PAE mode
cleanup
2006-10-04 19:08:40 +00:00
Volker Ruppert
4df1ef8af5 - clear registers using the XOR instruction 2006-10-04 19:00:19 +00:00
Stanislav Shwartsman
7dc808e7f9 Removed debug snapshot when entering SMM/RSM 2006-10-03 22:41:02 +00:00
Stanislav Shwartsman
64832bf866 Added enable-acpi configure option 2006-10-03 21:45:17 +00:00
Volker Ruppert
bc9a192668 - clear upper 16 bit of the stack pointer when returning to real mode (fixes
booting of Ubuntu 6.06)
2006-10-03 21:04:44 +00:00
Volker Ruppert
9d0f111995 - build an additional BIOS image without the new 32-bit extensions. It can be
used when the new BIOS fails
- use wbinvd instruction in the 32-bit init code
2006-10-03 20:30:09 +00:00
Volker Ruppert
8c350ca092 - added short description of the "magic breakpoint" feature 2006-10-03 15:06:39 +00:00
Volker Ruppert
2f3ce2de7d - added debugger button to the X11 ask dialog
- fixed memory leaks
2006-10-03 08:13:27 +00:00
Stanislav Shwartsman
1aa7ae677d Small cleanup in he APIC code, removed unused methods 2006-10-02 21:49:49 +00:00
Stanislav Shwartsman
719eb78a25 Fixed dbg_fetch_mem call 2006-10-02 21:27:14 +00:00
Volker Ruppert
f091c7c0ad - SMM must be enabled until all data is read from RAM 2006-10-02 21:22:59 +00:00
Volker Ruppert
7d80118503 - SMRAME bit must be always set for SMRAM access 2006-10-02 20:29:50 +00:00
Stanislav Shwartsman
14afe14a21 New BIOS expects to see 0x64 in smm revision id when in x86-64 mode 2006-10-02 18:50:34 +00:00
Volker Ruppert
0c827dcbf1 - implemented debugger access to SMRAM area 2006-10-02 17:40:20 +00:00
Volker Ruppert
3663992ffd - fixed possible segfault when pressing the power button with debugger enabled
- the textconfig 'quit' option must call bx_dbg_exit() if debugger is present
2006-10-02 17:07:36 +00:00
Volker Ruppert
8dfd8eefa7 - ExtINT implemented (some progress with FreeBSD 5.3 boot cd)
- fixed a warning
2006-10-02 15:08:21 +00:00
Volker Ruppert
815f2a026d - fixed compilation with ACPI disabled 2006-10-02 10:14:07 +00:00
Volker Ruppert
c9d8c75a23 - improved SMM init (Fabrice Bellard) 2006-10-02 06:30:36 +00:00
Volker Ruppert
5d1e848a6a - SMI generation implemented (needs to be checked for SMP) 2006-10-01 19:51:49 +00:00
Volker Ruppert
6276cae023 - applied patch from the Qemu project (Fabrice Bellard)
* use 32 bit pushf/popf in 32 bit PCI bios
  * moved some useful defines in rombios
- minor cleanups
2006-10-01 16:40:30 +00:00
Volker Ruppert
0223ffdc6e - ported most of the ACPI controller capabilities from Qemu (TODO: generate SMI
on APM control port write)
2006-10-01 13:47:26 +00:00
Volker Ruppert
fdc1b75115 - fixed number of MP table entries (caused FreeBSD 5.3 boot failure)
- moved shared defines to new file rombios.h (could be used to show features
  on the screen after detection by rombios32)
2006-09-30 11:23:49 +00:00
Stanislav Shwartsman
c44f619039 Fix example for BIOS address in .bochsrc 2006-09-30 09:56:23 +00:00
Volker Ruppert
5ba61b49c8 - always generate MP tables (WinXP guest needs this)
- new code is now enabled again
2006-09-29 17:37:31 +00:00
Volker Ruppert
518c64b64f - disabled rombios32 call until the critical bugs are fixed
- more accurate delay loop using the port 0x61 refresh clock bit
- fixed capabilties reported in BIOS banner
2006-09-29 12:24:05 +00:00
Volker Ruppert
aacc148f7c - initial revision of the 32-bit init code for the Bochs BIOS
* CPU, PCI, ACPI and SMM init
  * MP and ACPI table generation
- MP table generation hack in the Bochs memory code disabled (should be removed)
- don't test the checksum of large BIOS images (for now)
- existing 16-bit PCIBIOS init disabled for now
2006-09-28 19:01:04 +00:00
Volker Ruppert
b2468a39fd - biossums now supports padding binary files to 64k. This is useful for BIOS
extensions at 0xE0000 to be concatenated with the Bochs BIOS core.
- CR/LF to LF conversion, license and CVS id added
2006-09-28 17:39:25 +00:00
Volker Ruppert
53e237b5b1 - updated workspaces after adding the acpi device 2006-09-27 18:43:50 +00:00
Stanislav Shwartsman
925ae93e22 Reveer back changes for debug.h removal from bochs.h 2006-09-26 19:16:10 +00:00
Volker Ruppert
fb762477fa - some more basic work on the acpi device 2006-09-26 18:43:42 +00:00
Stanislav Shwartsman
aab3feb2e0 Fixed Makefile to compile with ACPI stub disabled
Remove bx_debug.h from bochs.h to reduce compilation dependencies
2006-09-25 20:13:52 +00:00
Stanislav Shwartsman
f37b969d1e Enable save/restore feature by default 2006-09-24 17:15:02 +00:00
Volker Ruppert
5d78bd4d00 - regenerated after adding the acpi device 2006-09-24 17:04:58 +00:00
Volker Ruppert
2cdd6596f1 - implementation of the PIIX4 ACPI controller started. The code is not yet
enabled and the i/o handler only generate info messages.
2006-09-24 16:58:13 +00:00
Volker Ruppert
bf6d61de5e - experimental USB device change support added (some more work in the emulation
code may be required)
- set mouse/keypad connection status to 0 when removing device
- pciusb code now accepts "none" as the device name for an unused port
2006-09-24 10:10:21 +00:00
Volker Ruppert
93534890b0 - the USB mouse connection status no longer depends on the mouse capture status.
The connection status is now only controlled by the USB port options (TODO:
  device change support at runtime)
- a connected USB mouse now has the priority when sending mouse data from the
  gui to the emulated mouse device.
2006-09-23 12:59:57 +00:00
Volker Ruppert
48ed7e1ba6 - fixes for second simulation support with wxBochs
* wxBochsStopSim flag is now reset before starting the SimThread
  * the siminterface 'init_done' flag now controls the execution of the hardware
    cleanup in bx_atexit()
2006-09-23 09:07:15 +00:00
Volker Ruppert
e315eb0fa6 - realloc wxScreen if already used (for 2nd simulation support) 2006-09-21 21:07:17 +00:00
Volker Ruppert
1f5d311ca1 - fixed memory leaks found with valgrind when trying to start a second
simulation with wxBochs:
  * cpu: delete pageWriteStampTable array
  * devices: simplified setup of initial default i/o handlers
  * ne2k: delete ethernet module in destructor
2006-09-20 20:52:23 +00:00
Volker Ruppert
72283f6760 - delete i/o handlers before unloading plugins
- memory for i/o handler name is now dynamicly allocated (strdup's in harddrv
  code removed)
2006-09-20 18:24:17 +00:00
Stanislav Shwartsman
3ab94305a0 1. Fixed bug report
[ bochs-Bugs-1562172 ] TLB_init() fails to initialize priv_check array if USE_TLB 0
2. Paging is always exists for i386+
   To disable paging it is better to use normal model without special code, only by setting cr0.pg=0
2006-09-20 17:02:20 +00:00
Volker Ruppert
fad22265b5 - bx_list_c: after deleting the list entries, the list must be deleted, too 2006-09-18 21:24:27 +00:00
Volker Ruppert
f7d668289d - bx_list_c: fixed deleting of the parameter list 2006-09-18 20:31:37 +00:00
Volker Ruppert
26f7f49b9a - virtual timer method 'reset' renamed to 'setup' (it's doing other things than
the reset methods for devices)
- PCI register dump on exit now done in the destructor
2006-09-18 18:10:49 +00:00
Volker Ruppert
c592b9527c - deactivate device parameter handlers in destructor 2006-09-17 20:39:37 +00:00
Volker Ruppert
f688701592 - cleanup() method added to reset the number of status items (cannot be done in
init() since the floppy indicators are register prior to gui init
- create framebuffer only if it doesn't exist
2006-09-17 20:37:28 +00:00
Stanislav Shwartsman
3111909a64 Merged patch from Bochs-Developers mailing list.
Fixes bp handling.
2006-09-17 19:22:24 +00:00
Volker Ruppert
b8c84baddb - new PIT: exit method added to reset the timer id
- old PIT: exit method stub added and some code cleanup
- virtual timer: reset method added with basic init code from the constructor
2006-09-17 19:19:15 +00:00
Volker Ruppert
fdefdc5b9f - remove logfunction from list when device is deleted
- fixed typos in harddrv code
2006-09-17 18:09:33 +00:00
Volker Ruppert
ec9c361e9c - fixed handling of parameter "debug_running" for restart support
- wx: delete of "debugCommand" fixed
2006-09-17 07:12:50 +00:00
Volker Ruppert
4c1e82f18c - moved some parts of the timer init from the constructor to initialize()
- exit() method sets the number of registered timers back to 1 (or 2 if APIC
  is present)
- fixed some parameter types for save/restore
- debug message for timer registration added
- slowdown timer: exit method added to reset the timer id
2006-09-16 19:30:56 +00:00
Volker Ruppert
647b0e3e6c - removed exit() method from the devmodel object, since all that stuff can be
done by the object destructor (changes in cmos, hard drive and keyboard)
- bx_unload_plugins() now deletes the devmodel object in non-plugin mode
- CMOS device now prints the time on exit in human-readable format
2006-09-16 14:47:40 +00:00
Volker Ruppert
0a804aeb18 - memory cleanup code moved to a separate method (called from bx_atexit())
- fixed memory handler init and cleanup code (memory leaks)
2006-09-15 17:02:52 +00:00
Volker Ruppert
38caf3bf19 - allocate memory for the IRQ handler name in register_irq() and free it in
unregister_irq(). This is required since there are some devices that don't
  use a string constant for the handler name.
- replaced true / false by portable 0 / 1 values.
2006-09-13 18:51:25 +00:00
Volker Ruppert
24e82e2580 - default NE2000 ISA base i/o address changed to 0x300 (probed by most of the
ne2k drivers, DLX Linux cannot detect it at 0x240)
2006-09-12 19:26:12 +00:00
Volker Ruppert
4cf2f745d1 - some fixes to avoid segfaults after early panics
- fixed gameport log type
- wx: store mouse capture mode in the gui code (only access the mouse parameter
  when the capture mode changes)
- wx: don't initialize wxScreen if already done and clear screen on exit
2006-09-12 13:05:07 +00:00
Volker Ruppert
190b9391cf - delete the device object in the plugin_fini() function of each plugin device
(TODO: find a way to call plugin_fini() for non-core devices if plugins are
   disabled)
- set the device pointers back to stubs after unloading plugins
- added debug message "Exit" in all device plugin destructors
2006-09-10 17:18:44 +00:00
Stanislav Shwartsman
02c2fc9e89 Fixed priveledge level checks 2006-09-10 16:56:55 +00:00
Volker Ruppert
c07197758b - plugin unload mechanism implemented in the plugin and devices code
- added exit() method to the devmodel object for devices that need to do special
  cleanups on exit. Device plugins should call this method from their plugin_fini()
  function. If Bochs is compiled without plugin support, for non-core plugins
  the exit() method is called directly from bx_unload_plugins().
- exit() method implemented in the keyboard device
- wx "Show Keyboard" feature now only appear when the wxdebug keyboard subtree
  is not empty
- cpu cleanup must be done before the devices cleanup
- moved PCI chipset dump call to the devices exit method
2006-09-10 09:13:47 +00:00
Volker Ruppert
e075c68f78 - close logfile and reset logging to stderr at the end of the simulation
- removed unused code
2006-09-09 11:28:52 +00:00
Volker Ruppert
c1a073bc2d - yes/no dialog: set default button to "no" if requested (value == 0) 2006-09-09 08:05:07 +00:00
Stanislav Shwartsman
c7e732fc8c Merged patch from #SF site tracker 2006-09-08 11:26:04 +00:00
Volker Ruppert
5dd0d64b11 - several changes for restart support in wx (not yet complete)
* don't initialize cpu specific parameters for the wx debugger if they already
    exist
  * separate siminterface method init_save_restore() added
  * old wx specific handling in quit_sim() removed
  * new bx_list_c method clear() deletes all parameters from the list
  * moved devices cleanup code from the pc_system to a new devices method exit()
  * pc_system init code now sets ticksTotal to 0
2006-09-07 18:50:51 +00:00
Volker Ruppert
3dfc9b4d5a - fixed end of thread in debugger mode (always dump cpu state to log file)
- hide debug console before showing "Bochs stopped" message box
2006-09-04 18:36:47 +00:00
Volker Ruppert
10235cb1ba - fixed floppy device presence detection for menu items and toolbar buttons
- disable floppy and cdrom toolbar buttons at runtime if the selected device is
  not present
2006-09-03 16:55:35 +00:00
Volker Ruppert
8c82b3f937 - status change must be handled different if the simulation is stopped with the
menu item instead of the power button. TODO: The wxGTK port still hangs after
  pressing the power button before displaying the "Bochs stopped" message box
- wxMSW: don't wait for the enter key on the console window if the user quits
  Bochs by the menu item
- fixed 'ask' dialog text
2006-09-03 11:06:54 +00:00
Volker Ruppert
5afe0efe08 - wxMutexGuiEnter() / wxMutexGuiLeave() calls are required at status bar updates
(fixes gui display problems in the wxGTK port)
- fixed floppy dialog title and label
2006-09-03 05:52:53 +00:00
Volker Ruppert
a3908d6e86 - moved BX_USE_MEM_SMF to all the other SMF definitions in config.h.in (should
be set to 1, since there is only one address space present)
- fixed memory object member to support the static case (SMF)
2006-09-02 12:08:28 +00:00
Volker Ruppert
77217aa7b8 - fixed memory init code for restart support in wx (a lot more changes in other
parts of Bochs are needed to make it really work)
2006-09-01 18:14:13 +00:00
Stanislav Shwartsman
173d126763 Fixed LDTR reset vales 2006-08-31 18:21:16 +00:00
Stanislav Shwartsman
fdac9efa9b Fixed ton of code duplication.
Do not save/restore XMM8-XMM15 not in 64-bit mode
2006-08-31 18:18:17 +00:00
Volker Ruppert
c4785b7709 - Bochs with 'term' gui now quits when the terminal is closed (SIGHUP) 2006-08-30 18:16:36 +00:00
Volker Ruppert
4b744658fe - added missing bx_atexit() call before quit_sim() (runtime option "quit" now
has the same behaviour as the power button)
2006-08-30 17:49:12 +00:00
Volker Ruppert
c9b4d06ff4 - fixed and improved save state dialog handling
* generic save state dialog code moved to the save_restore_handler() in gui.cc
  * the suspend button in the wxWidgets port now works and uses the new code
  * old wxWidgets save state code removed (not thread-safe)
- wxWidgets HandleAskParamString() method fixed for wxGTK (now using a temporary
  string array instead of a pointer)
2006-08-29 20:10:27 +00:00
Volker Ruppert
25f6299550 - fixed save/restore XPM bitmap (wxMSW is now able to load it) 2006-08-28 19:05:38 +00:00
Stanislav Shwartsman
ea1127f235 Correctly detect inexact result in FPU (patch by No Name) 2006-08-28 18:48:51 +00:00
Volker Ruppert
47992d9606 - regenerated after release 2.3 2006-08-27 15:37:47 +00:00
Volker Ruppert
f84f45b51f - updated after release 2.3 2006-08-27 15:36:39 +00:00
Volker Ruppert
5c78163fe0 - preparing for release 2.3 2006-08-27 07:06:01 +00:00
Volker Ruppert
a1daf98a64 - changes updated 2006-08-26 18:05:42 +00:00
Volker Ruppert
3600f1af41 - fixed LDTR list size 2006-08-26 07:35:27 +00:00
Stanislav Shwartsman
65082e4a4f Handle granularity field for LDT
Next step - fix code duplication with TSS
2006-08-25 19:56:03 +00:00
Volker Ruppert
59962a4438 - store current mouse capture state in the device object, so Bochs no longer
needs to access the config parameter tree at each mouse move
2006-08-25 18:26:27 +00:00
Volker Ruppert
fb13436d55 - TODO status update for Bochs 2.3 2006-08-25 11:58:55 +00:00
Volker Ruppert
cb7db12ab2 - missing 32-bit support for the PACKET command added
- improved debug messages
2006-08-23 17:19:03 +00:00
Stanislav Shwartsman
5a7ae0653c Updated CHANGES 2006-08-22 19:12:45 +00:00
Stanislav Shwartsman
5000ad2a55 Fixed compilation warning 2006-08-22 19:07:50 +00:00
Stanislav Shwartsman
54fb3b769a Fixed LDT 16-bit limit, must support all 32-bit values. 2006-08-22 19:06:03 +00:00
Volker Ruppert
9ec4f3e60e - changes updated 2006-08-22 17:09:48 +00:00
Stanislav Shwartsman
8d7919dadd Only rename bx_pci2isa_c class 2006-08-21 21:29:16 +00:00
Volker Ruppert
1fdd8e9116 - added comment from Ben Lunt 2006-08-20 09:19:59 +00:00
Volker Ruppert
02c94648bd - kernel module init failure must always cause a panic
- unaligned read/write support for base addresses added
- guest side base addresses must always be initialized with 0
- indent mode fixes
2006-08-20 09:12:02 +00:00
Volker Ruppert
99862ba2f5 - LGPL'd VGABIOS updated to version 0.6a (see VGABIOS-lgpl-README for details) 2006-08-19 16:58:38 +00:00
Volker Ruppert
2c67881253 - don't modify the 'dev' parameter with strtok() in 'socket' mode
- removed unnecessary spaces
2006-08-18 16:57:39 +00:00
Volker Ruppert
d2d7c65e37 - VGA memory is now a part of the common video memory (same as real hardware)
- sequencer map mask bit handling simplified
- some save/restore data format changes
2006-08-18 15:43:20 +00:00
Volker Ruppert
e810c83345 - fixed VGA memory read access (correct plane access and read mode in all
memory configurations)
2006-08-17 17:06:08 +00:00
Volker Ruppert
c0bee9324d - VBE 4bpp fixes (line offset + plane address shift)
- maximum VBE screen size updated
2006-08-15 16:48:23 +00:00
Volker Ruppert
92c1720e3e - removed VGA compatibility hack from VBE code (now done in VGABIOS) 2006-08-14 20:31:18 +00:00
Stanislav Shwartsman
24ece63fe7 Fixed disasm bug 2006-08-13 09:40:07 +00:00
Volker Ruppert
cae6fcb365 - report only config control register changes to avoid logfile flooding 2006-08-12 11:22:40 +00:00
Volker Ruppert
ba049136a9 - INT 15 AH=88h now returns max. 63M extended memory (Ralf Brown's interrupt
list says the limit should be 15M, but real machines are reporting more)
2006-08-11 17:34:43 +00:00
Stanislav Shwartsman
3ce7764fce Fixes in 64-bit decoding 2006-08-11 17:23:36 +00:00
Volker Ruppert
6d50341985 - VBE video memory increased to 8 MB (new version of the LGPL'd VGABIOS under
construction)
- fixed VBE y offset check to avoid crash before panic
2006-08-09 17:52:06 +00:00
Volker Ruppert
0d6c1b8363 - fixed Carbon notify callback function (don't handle the ask event twice) 2006-08-08 17:10:30 +00:00
Volker Ruppert
0ae9f5670e - INT 09h: fixed handling of extended keys (asciicode = 0xe0)
- left backslash key added in keycode table
2006-08-07 20:26:58 +00:00
Volker Ruppert
b48dce5c3c - fixed compile error related to gettimeofday() in MinGW/MSYS and Cygwin with
mingw-runtime rev. >= 3.10
2006-08-07 17:59:15 +00:00
Volker Ruppert
da2cb1b7f2 - updated for pre3 2006-08-06 07:43:07 +00:00
Volker Ruppert
92002b5628 - updates for pre3 2006-08-06 07:41:40 +00:00
Volker Ruppert
c65c0925b2 - changes updated 2006-08-06 07:37:58 +00:00
Volker Ruppert
7f3dd3a1b6 - attempt to fix the userspace part of pcidev for the current PCI infrastructure
(not tested yet)
2006-08-05 20:04:23 +00:00
Volker Ruppert
1fef72b8be - compilation fix for MacOSX 10.2 (tested on the SF compile farm) 2006-08-05 15:53:52 +00:00
Volker Ruppert
569a97d99e - fixed compile error on FreeBSD 5.4 (tested with SF compile farm) 2006-08-05 14:42:47 +00:00
Volker Ruppert
3ef9b08908 - using a unique name for ATAPI 'inquiry' makes Win98 report two cdroms on one
controller correctly in the device manager
- ATAPI 'identify' now also uses the 'inquiry' device number for the serial number
2006-08-05 07:49:31 +00:00
Volker Ruppert
00a66c380a - fixed boot failures on big endian machines (thanks to the SF compile farm) 2006-08-03 21:03:21 +00:00
Volker Ruppert
f3046ae0cd - moved OSX beep implementation to the carbon gui code
- improved carbon notify callback similar to the x11 implementation
2006-08-03 16:01:23 +00:00
Volker Ruppert
df3fcfd180 - ignore writes to command register with BSY bit set and replaced BX_PANIC by
BX_ERROR
- removed duplicate and wrong BSY bit error handling
- init drive params: changed BX_PANIC to BX_ERROR (aborting command is okay here)
2006-08-02 17:47:09 +00:00
Volker Ruppert
8e85b8654b - fixed repeat speedup optimization on big endian machines 2006-08-01 17:09:05 +00:00
Volker Ruppert
d4219e4453 - stop paste operation after pressing a key
- removed unnecessary spaces
2006-07-30 14:40:41 +00:00
Volker Ruppert
7a5ccec5f7 - fixed keyboard LED flag handling and added setting of LEDs (makes keyboard
indicators work in Win 3.x, Win 9x and at the boot prompt)
2006-07-30 09:38:02 +00:00
Volker Ruppert
a687f0de4f - added help support for the parameter prompt (entering '?' prints parameter
description if defined)
- fixed error message for illegal hex parameter values
- removed unnecessary spaces
2006-07-29 09:58:24 +00:00
Volker Ruppert
18df6f6a0e - the ERR status bit is always cleared when the drive accepts a new command, but
not when reading the error register
- the DSC status bit is not cleared in case of an error
- a not existing drive does not set the ERR status bit and the error register
- all messages related to correctly aborted commands on non-disk devices changed
  to type BX_INFO
- some other log message output cleanups
2006-07-26 19:09:51 +00:00
Volker Ruppert
9407d13b83 - changes updated 2006-07-23 18:03:24 +00:00
Volker Ruppert
c6b080733b - fixed MSVC warning 2006-07-23 16:31:28 +00:00
Volker Ruppert
c695084794 - improved the workaround of the "AltGr" key on European keyboards (TODO: find
a way to detect whether this key exists or not and skip this code if not)
2006-07-23 11:09:15 +00:00
Volker Ruppert
d3d8346943 - reset sent to keyboard has no effect on the 8042 (scancode translation mode)
- restore status bar indicators for the keyboard based on saved LED status
- don't reset status bar indicators in restore mode
2006-07-21 18:26:53 +00:00
Volker Ruppert
8f8c4db97d - report selected multiword DMA mode in the 'identify device' block
- set initial and reset value of multiple sector count to 0
- abort multi sector read/write commands if multiple sector count is not valid
2006-07-19 19:18:42 +00:00
Volker Ruppert
92412a3fee - multi sector read/write commands implemented
- ATA command 'set multiple mode' fixed (missing interrupt and value check)
- hard disk sector read/write rewritten and simplified
- hard disk now reporting ATA-3 supported
- updated drive buffer size for save/restore
2006-07-17 18:40:26 +00:00
Volker Ruppert
a7d0cd73e0 - updated for release 2.3.pre2 2006-07-16 08:06:54 +00:00
Volker Ruppert
13fb08efed - updates for release 2.3.pre2 2006-07-16 08:05:39 +00:00
Volker Ruppert
d18be4f084 - ATA command 'read multiple sectors' prepared (not working properly with Linux
guest and some work in the hdimage code is required)
2006-07-14 17:23:58 +00:00
Volker Ruppert
10a49f6d1c - fixed implementation of the ATA command "set multiple mode" (TODO: multi sector
read/write commands)
- prepared i/o buffer for multi sector transfers
- power management commands "standby now" and "idle immediate" now returning success
2006-07-13 17:34:44 +00:00
Volker Ruppert
49f2340001 - improved save/restore documentation 2006-07-11 22:17:28 +00:00
Volker Ruppert
139ea79c70 - fixed VBE y offset check (add x offset to start address after check) 2006-07-11 07:49:23 +00:00
Volker Ruppert
60fab95d08 - fixed calculation of VBE screen height after changing virtual width
- setting VBE screen start causes now a panic if the bottom of the screen
  would be outside of video memory
- improved VBE debug messages
2006-07-08 13:05:50 +00:00
Volker Ruppert
d9be51128b - fixed ATA device detection in case of one drive only connected to controller
- applied patch from the qemu project (Fabrice Bellard)
  * improved INT 15h function AX=E820h
  * real mode PCI BIOS now returns IRQ routing information (function 0Eh)
2006-07-07 16:11:06 +00:00
Volker Ruppert
aeaff883b7 - enable interrupts before executing INT 19h and revert previous change 2006-07-06 07:28:08 +00:00
Volker Ruppert
4a5d4ad80a - enable interrupts before executing boot sector code (untested) 2006-07-05 09:20:31 +00:00
Stanislav Shwartsman
f39abc9b65 Fix for bug
[ 1513544 ] disasm of 0xec (in AL,DX) returns ilen of 2 instead of 1
2006-06-27 19:26:53 +00:00
Stanislav Shwartsman
45353d5e6f Fixed DR registers handling in x86-64 mode 2006-06-26 21:07:44 +00:00
Stanislav Shwartsman
caee480547 Fixed DR registers disasm 2006-06-26 21:06:26 +00:00
Stanislav Shwartsman
aa1a61bfde Add (when needed) or remove (when not needed) x86-64 compilation hack 2006-06-26 20:28:00 +00:00
Stanislav Shwartsman
c7aa53d044 Fixed compilation error of extdb 2006-06-25 21:44:46 +00:00
Volker Ruppert
38c6120338 - updates for release 2.3.pre1 2006-06-25 17:50:30 +00:00
Volker Ruppert
2fd7a95cb8 - user doc: improved save/restore description
- developer doc: added sections about the parameter tree and save/restore
2006-06-25 12:20:34 +00:00
Stanislav Shwartsman
f9754dadeb Fix some code duplication 2006-06-24 18:27:11 +00:00
Stanislav Shwartsman
5ade11bae4 Added exception debug print 2006-06-22 19:53:58 +00:00
Volker Ruppert
37a47de1cc - new user.dbk section describes the usage of the save/restore feature
- description of the 'cpu' option updated
2006-06-22 18:50:47 +00:00
Stanislav Shwartsman
6fd9b3107b Fix descriptor printing format 2006-06-22 16:44:37 +00:00
Stanislav Shwartsman
a48cd0c3d1 Implicitly specify deprecated options in configure script 2006-06-22 16:43:50 +00:00
Stanislav Shwartsman
275ea4f7c9 - Allow to control SMP quantum value through .bochsrc CPU
option parameter. Previous Bochs version used hardcoded quantum=5
    value.
2006-06-21 20:42:26 +00:00
Stanislav Shwartsman
c0747c8b35 Fix compilation 2006-06-21 16:30:14 +00:00
Stanislav Shwartsman
3b9ef78c0a Compilation fix. 2006-06-21 16:28:06 +00:00
Stanislav Shwartsman
b794e6b54a Indent changes 2006-06-20 17:17:46 +00:00
Stanislav Shwartsman
c88ce82156 Update CHANGES for coming 2.3 release 2006-06-20 17:05:57 +00:00
Stanislav Shwartsman
6468398104 Fixed APIC interrupt priority bug 2006-06-20 16:51:03 +00:00
Volker Ruppert
514952f78c - enabled save/restore feature on Linux and Windows (for binary packages) 2006-06-18 07:28:55 +00:00
Volker Ruppert
cf6ec36040 - updated dependencies 2006-06-17 18:10:10 +00:00
Stanislav Shwartsman
070d782ec8 Move paddr_valid param of dbg_xlate_linear2phy method to return value.
This is much easier to use.
2006-06-17 12:09:55 +00:00
Volker Ruppert
dbfc8f42c8 - always use geometry detection for 'vmware3' images
- updated documentation for hard disk images
- user.dbk: added save/restore config option and removed obsolete one
2006-06-17 07:45:27 +00:00
Stanislav Shwartsman
f44190ed27 Comment most likely redundant invalid_prefetch_q 2006-06-16 20:08:03 +00:00
Volker Ruppert
43838a54fa - file descriptor check fixed 2006-06-16 09:10:26 +00:00
Volker Ruppert
a2327441ca - endianness fixed 2006-06-16 08:56:13 +00:00
Volker Ruppert
075ee17ac9 - geometry autodetection for 'sparse' mode hard disk images added
- store size of virtual disk in sparse header to simplify geometry detection/check
- enabling geometry autodetection causes a panic if not supported by image
2006-06-16 07:29:33 +00:00
Volker Ruppert
02fbf84630 - geometry autodetection for 'vmware3' mode hard disk images added
- simplified geometry detection code
- unsupported ATAPI commands now cause a BX_DEBUG message and no addtional
  error code info (avoid flooding log file)
2006-06-15 09:44:37 +00:00
Stanislav Shwartsman
9269288319 Fix SR macros mis-use. Need to add assertion into bxlist_c and check that it has no 2 params with same name inside ! 2006-06-14 16:44:33 +00:00
Stanislav Shwartsman
8ed8916ea9 Break to debugger on triple fault or panic (this time do it correctly)
Indent changes
2006-06-12 19:51:31 +00:00
Stanislav Shwartsman
49d7b4614f Fixed another bug generator - duplication between descriptor type field and four descriptor cache bits 2006-06-12 16:58:27 +00:00