Commit Graph

5142 Commits

Author SHA1 Message Date
Stanislav Shwartsman
6913d6f152 indent change 2006-01-15 17:56:36 +00:00
Stanislav Shwartsman
5570346246 reorganize debugger code 2006-01-15 17:55:25 +00:00
Stanislav Shwartsman
652ce3c0dc Fix for bug report:
bochs-Bugs-1406383 ] Local APIC TPR is ignored due to signed/unsigned mismatch
2006-01-15 17:38:40 +00:00
Volker Ruppert
fb7adb9e92 - changes updated 2006-01-15 16:35:53 +00:00
Volker Ruppert
aa0d8b1d0c - improved developer doc based on document written by Peter "Firefly" Lund
- minor spelling fixes
2006-01-15 12:04:02 +00:00
Volker Ruppert
373ed723ee - any command sent to the keyboard enables the keyboard clock 2006-01-14 12:34:14 +00:00
Volker Ruppert
0f363841dd - removed obsolete SMP BIOS images 2006-01-14 08:30:18 +00:00
Volker Ruppert
480fbb29d1 - removed static MP tables from rombios.c and MP bios images from Makefile 2006-01-13 17:36:27 +00:00
Stanislav Shwartsman
a74b63eb3d Allow writing PCE to CR4 2006-01-13 11:11:29 +00:00
Stanislav Shwartsman
0211f2260c Fix configure checks 2006-01-13 11:10:29 +00:00
Volker Ruppert
e939a43b3d - invalid read/write operations now cause an error instead of a panic
- byte reads from port registers now supported
- report USB revision 1.0
2006-01-11 21:39:34 +00:00
Stanislav Shwartsman
149a830934 Remove error for SMP config, just silently disable FAST_CALL optimization for SMF disabled 2006-01-11 19:08:10 +00:00
Stanislav Shwartsman
d7d2de421f Remove code duplication in CPU and memory objects initialization 2006-01-11 18:22:12 +00:00
Stanislav Shwartsman
96c074f87b Fix MP table generated by Bochs 2006-01-10 18:33:27 +00:00
Stanislav Shwartsman
5899932f0c Merge APIC patch to the CVS.
- Fix lowest priority interrupt delivery from I/O APIC
 - XAPIC support
 - Implemented APIC bus functionality
 - cleanup APIC code
2006-01-10 06:13:26 +00:00
Stanislav Shwartsman
89e3472178 Fix validate_seg_regs check 2006-01-09 19:34:52 +00:00
Volker Ruppert
22187086d7 - new user shortcut "bksl" (backslash) 2006-01-09 18:37:29 +00:00
Volker Ruppert
e662318422 - fixed timer IRQ handler with a callback function for the OUT pin (OUT pin of
the first timer is connected to IRQ line 0)
- code cleanup (indent mode, bool types, reset function, unused stuff)
2006-01-08 20:39:08 +00:00
Volker Ruppert
2795b66f28 - missing end tag for table entry added
- some SMP-related updates
2006-01-08 19:15:56 +00:00
Volker Ruppert
f3f2e28481 - removed SMP specific BIOS images from the install list and the docs 2006-01-08 17:16:30 +00:00
Volker Ruppert
76ce7f2b22 - MSVC warnings fixed 2006-01-08 15:23:25 +00:00
Volker Ruppert
a7df662814 - only a change of the INTIN level should be handled by the I/O APIC
- removed I/O APIC IRQ0 hack from the PIC code
2006-01-08 12:01:25 +00:00
Volker Ruppert
ae96159f62 - fixed timer frequency reporting of the old PIT
- small cleanups (removed unused stuff, BX_DEBUG message for control register)
2006-01-08 09:45:11 +00:00
Volker Ruppert
886522349d - spurious interrupt detection added 2006-01-07 18:02:16 +00:00
Volker Ruppert
b9e46e8cf4 - don't panic at unknown commands (aborting the command is okay here) 2006-01-07 12:52:05 +00:00
Volker Ruppert
3d7ddc90a5 - fixed possible division by zero error if the line offset value is 0
- VGA enable register implemented (enabled by default)
2006-01-07 12:10:59 +00:00
Volker Ruppert
682fd2ffdb - fixed PIC IRQ signal handling 2006-01-05 21:57:58 +00:00
Stanislav Shwartsman
393a653fb4 Fix typo 2006-01-05 21:40:07 +00:00
Stanislav Shwartsman
b07e698b3e Initialize CPU and APIC after the bx_pc_system object 2006-01-05 21:39:11 +00:00
Volker Ruppert
cab24c37b4 - version number and strings updated 2006-01-04 18:56:59 +00:00
Volker Ruppert
54b9499e58 - ELCR setup was sent to wrong PIC 2006-01-02 22:26:27 +00:00
Volker Ruppert
97e1f39d8f - I/O APIC signal handling rewritten ("backported" from qemu)
- don't flood the logfile if APIC EOI has no effect
- fixed a warning in the APIC code
- TODO: fix IRQ 0 handling, implement ExtINT
2006-01-01 11:33:06 +00:00
Volker Ruppert
ff7f41541f - first attempt to fix the I/O APIC code
* IRQ 0, 2 and 13 are usually not connected to the I/O APIC INTIN pins
  * if the IRQ line is set to inactive, clear IRR bit (same as PIC, but that
    needs to be checked)
  * added symbols for I/O APIC input types according to the specs
  * TODO: PIC INTR is connected to INTIN0, edge/level handling in I/O APIC and
    APIC code, ...
2005-12-31 14:46:21 +00:00
Volker Ruppert
a7d098d118 - regenerated for release 2.2.5 2005-12-30 08:36:07 +00:00
Volker Ruppert
ab8b637508 - updates for release 2.2.5 2005-12-30 08:35:01 +00:00
Volker Ruppert
90b08d7240 - changes updated 2005-12-29 22:12:01 +00:00
Volker Ruppert
8486c8c075 - manual page viewer warning fixed
- small updates in the ata device descriptions
- mention floppy image autodetection in bochsrc manpage
- USB status update
2005-12-29 19:51:00 +00:00
Volker Ruppert
990fdd3ec9 - LGPL'd VGABIOS updated to version 0.5d (minor bugfixes) 2005-12-29 09:37:12 +00:00
Stanislav Shwartsman
6ff8fccfc4 Fixed cross-segment boundary check, when instruction ends on the segment boundary it should generate GP(0) 2005-12-28 19:18:50 +00:00
Volker Ruppert
28853fe54c - calculate BIOS ROM start address from image size if no address parameter is
used or address is set to 0.
2005-12-27 16:59:27 +00:00
Volker Ruppert
00eabeb2de - seek function added in lowlevel cdrom code (reads a block at specified address) 2005-12-27 13:21:25 +00:00
Volker Ruppert
e350c8cb5c - added Slovenian keymap contributed by Mitja Ursic 2005-12-26 21:20:42 +00:00
Stanislav Shwartsman
56cd41ec95 Fix CHANGES 2005-12-26 21:05:44 +00:00
Stanislav Shwartsman
9e4a3675d3 Cleanup APIC code
Fixed APIC timer problem (too many registered timers) reported by Brendan
2005-12-26 19:42:09 +00:00
Stanislav Shwartsman
ed577ee22e Update CHANGES 2005-12-26 19:08:03 +00:00
Volker Ruppert
1890507b7d - disable USB runtime options if USB support is disabled 2005-12-26 18:10:21 +00:00
Volker Ruppert
d86c22fa20 - check if CMOS plugin has been loaded before calling save_image() (fixes double
panic if Bochs fails early)
2005-12-26 17:16:32 +00:00
Volker Ruppert
a9b2c4c858 - enabled USB in shortcut scripts for the most popular platforms 2005-12-26 16:47:51 +00:00
Volker Ruppert
b2e19d7e09 - APM function 0x05 (cpu idle) implemented (tested with Win98)
- unused commented stuff removed
2005-12-26 10:36:52 +00:00
Volker Ruppert
81dd23c68f - create SMP specific tables dynamicly ("backported" from qemu - already mentioned
in our TODO list items 9.1 and 9.2)
2005-12-25 19:30:48 +00:00
Volker Ruppert
682895ca77 - fixed error handling for the read ID command (bad drive, media not present)
- the seek command is always executed (doesn't set the EC bit)
2005-12-25 12:03:14 +00:00
Volker Ruppert
ae37bb9815 - fixed disk size reporting > 64 GB (SF patch #1389776) 2005-12-25 09:11:59 +00:00
Volker Ruppert
7f714b568a - read support for 8029 ID and config registers added 2005-12-24 22:35:04 +00:00
Alexander Krisak
9f1888d523 *** empty log message *** 2005-12-24 16:07:47 +00:00
Stanislav Shwartsman
279c67ae37 Fix debug message 2005-12-23 14:24:47 +00:00
Stanislav Shwartsman
276c006129 Merge new disasm module with x96-64 support 2005-12-23 14:15:13 +00:00
Volker Ruppert
520da21dcf - fixed device type checks (must be compared with FDRIVE_NONE now)
- fixed motor off condition for recalibrate and seek
2005-12-23 12:21:09 +00:00
Volker Ruppert
dd384f68ed - report checksum error only if the original Bochs BIOS is used
- prepared dynamicly created SMP tables (should be at F000:B000, so we can get
  rid of the SMP specific BIOS images)
- MSVC warning fixed
2005-12-19 20:48:51 +00:00
Stanislav Shwartsman
dfc633ef0a New debug function in cpu 2005-12-19 17:58:08 +00:00
Stanislav Shwartsman
cd2a8da34c Add more debugging/instrumentation functionality 2005-12-14 20:05:40 +00:00
Volker Ruppert
e09bf42881 - fixed compiling with configure option combination '--enable-sb16 --disable-gameport' 2005-12-13 20:54:21 +00:00
Stanislav Shwartsman
8627bc1596 Fixed bug from prev commit 2005-12-13 20:42:22 +00:00
Stanislav Shwartsman
90059c8faa Non-functional changes, little bit optimize ioapic code 2005-12-13 20:27:23 +00:00
Alexander Krisak
99fae60a0e Small icache optimization 2005-12-13 14:18:34 +00:00
Stanislav Shwartsman
5f339a5fd8 Small debug fixes 2005-12-12 22:01:22 +00:00
Stanislav Shwartsman
70cc5a7fb0 Fix incorrect commit 2005-12-12 19:54:48 +00:00
Stanislav Shwartsman
f863d1e902 Generate #GP exception instead of #TS when TSS selector points to bad TSS 2005-12-12 19:44:06 +00:00
Stanislav Shwartsman
1f2cde53f0 Fix arbitration of local apic when issuing lowest priority interrupt or arbitrating between different local apics. APR (arbitration priority register) should be used for lowest priority interrupt delivery and available to user software and ARB_ID should be software transparent APIC internal 2005-12-11 21:58:53 +00:00
Stanislav Shwartsman
8b8d4900ed Implement read/write of ESR register 2005-12-11 20:01:54 +00:00
Volker Ruppert
c266ae0d3c - new file hdimage.cpp added
- added some more header files
2005-12-11 14:55:00 +00:00
Volker Ruppert
83a799bca8 - don't include the device headers in networking/sound lowlevel code, virtual
and slowdown timers, hdimage and vmware3 code
- updated makefile dependencies
2005-12-10 18:37:35 +00:00
Volker Ruppert
751c0f8ea5 - splitted ATA/ATAPI emulation and image handling code. Now it is possible to use
the hdimage.* stuff with other mass storage interfaces (e.g. SCSI, USB)
2005-12-10 15:02:26 +00:00
Stanislav Shwartsman
faff702f44 GP(0) on cross segment boundaryu instruction 2005-12-09 21:21:29 +00:00
Volker Ruppert
2c97774c6c - root file of each book changed to index.html (default setting) 2005-12-06 22:15:50 +00:00
Volker Ruppert
05d073cd57 - changes updated 2005-12-04 23:10:33 +00:00
Volker Ruppert
ef51fd3595 - if cmos image is enabled, save it on exit 2005-12-04 17:43:09 +00:00
Volker Ruppert
b59b3aed31 - fixed floppy media type check
- fixed result values after trying to access a not existing sector
2005-12-03 18:22:18 +00:00
Volker Ruppert
45b0689535 - non-SGML character fixed 2005-12-03 09:56:05 +00:00
Volker Ruppert
531c75c002 - keyboard/mouse runtime parameter handlers moved into the device code
- minor code cleanups
2005-12-02 17:27:19 +00:00
Volker Ruppert
f92a666e70 - minor USB updates from Ben Lunt 2005-11-30 18:34:59 +00:00
Volker Ruppert
f32f291008 - USB runtime options dialog prepared (still needs some changes in the USB code
to make the device change work)
2005-11-30 18:06:24 +00:00
Volker Ruppert
c227c822b8 - USB runtime parameter handling prepared in the device code 2005-11-29 20:46:17 +00:00
Volker Ruppert
e753570e1f - enable VDE networking module on Linux (same conditions as ethertap)
- eth_vde.cc compilation fix and TUN/TAP hack removed
- mentioned VDE and added example in documentation
2005-11-29 19:28:43 +00:00
Stanislav Shwartsman
b16ca02be8 Update CHANGES 2005-11-29 18:46:21 +00:00
Volker Ruppert
fd687a06c2 - fixed sparse type hd image larger than 4GB compiled with MSVC 2005-11-29 18:03:39 +00:00
Stanislav Shwartsman
ff015089b1 Fix get_EIP references in iodebug 2005-11-29 17:38:57 +00:00
Stanislav Shwartsman
abe9791fe6 Fix typo 2005-11-28 22:42:29 +00:00
Stanislav Shwartsman
1f2913477e Fix typo ... 2005-11-28 22:35:43 +00:00
Stanislav Shwartsman
82ccada927 Merged and committed #SF patch from wmrieker
[ 857235 ] task priority and other APIC bugs, etc
2005-11-28 22:19:01 +00:00
Stanislav Shwartsman
0f8c8c85ed indent changes 2005-11-27 19:40:56 +00:00
Stanislav Shwartsman
fe02ecab65 Do not flood log with WBINVD/INVD messages 2005-11-27 18:36:19 +00:00
Stanislav Shwartsman
c89ba98297 Fix compilation errors (new interface for debug access to registers in CPU) 2005-11-27 18:25:57 +00:00
Volker Ruppert
cef74b528a - moved runtime handler for 'vga_update_interval' into the device (TODO: this could
be done with some parameters, e.g. mouse, keyboard, usb)
2005-11-27 17:49:59 +00:00
Volker Ruppert
48a1740910 - gcc warning fixed 2005-11-27 14:15:11 +00:00
Volker Ruppert
038ce21f1a - updates from SF documentation request #1365905 by Alexander Schuch
* added CL video card to the list of features
  * mentioned editable user shortcut input box
  * some spelling fixes
- some ata-* and floppy related updates
- guest OS Knoppix is now also available on DVD
2005-11-27 09:42:32 +00:00
Volker Ruppert
b84c7d4d77 - enable two ATA channels by default (needed for PCI)
- prepared USB runtime options
2005-11-27 09:00:20 +00:00
Stanislav Shwartsman
631f2c6188 Backup cpu-level check for paging features at compile time (already checked in configure) 2005-11-26 21:42:28 +00:00
Stanislav Shwartsman
8c91790680 Redefine registers accessors in cpu.h
Change BxSupportPAE and BxSupportGlobalPages macros to Bochs style names
Set bx_cpu_id in BX_CPU_C constructor (safe way)
Backup cpu-level check for paging features at compile time (already checked in configure)
Some warnings and indent fixes
speed up get_segment_base method for x86-64 case
2005-11-26 21:36:51 +00:00
Volker Ruppert
a2a8234d71 - wrong location of setting floppy media type autodetection fixed
- function BrowseTextCtrl() now only returns true if OK was clicked
- missing handling of the floppy media type status added
- serial/parallel options dialog is now available at runtime (for USB devices)
2005-11-26 09:22:58 +00:00
Volker Ruppert
6d003090a6 - select floppy media type autodetection and disable "Create Image" button after
successfully browsing for an image
- floppy media type control now selectable with the tab key
2005-11-25 22:44:18 +00:00
Volker Ruppert
e51c248aaa - fixed size of debug message for the result of a floppy command 2005-11-25 22:29:20 +00:00
Volker Ruppert
d62e775d5e - capacity choice should not change to "auto" when typing a filename
- added floppy media change hint
- removed wx console log message that appeared very often
- converted tabs to spaces
2005-11-25 16:24:47 +00:00
Stanislav Shwartsman
ec4dcac4d4 Check cpu level for paging features at configure stage 2005-11-25 11:52:06 +00:00
Volker Ruppert
dfbf7c7238 - enable button "Create Image" only if a valid capacity is selected
- radio button "Not present" is not valid at runtime
- select capacity autodetection after browsing for an image
- set valid wildcard for file browser
2005-11-24 18:51:55 +00:00
Volker Ruppert
31c23fc102 - floppy media type check added (prevents inserting of invalid media in drive,
e.g. 1.2MB 5.25" media in 1.44MB 3.5" drive)
2005-11-22 18:34:51 +00:00
Stanislav Shwartsman
49ed4e95a1 Fixed bug in set_id 2005-11-22 17:41:07 +00:00
Stanislav Shwartsman
eee90dab34 Fix WXWorkspace for WIn32 2005-11-22 17:37:09 +00:00
Stanislav Shwartsman
e003620a30 In debug snapshot print flags in more ellegant way - use capital letters when flag is UP and lower letters when it DOWN 2005-11-21 22:29:02 +00:00
Stanislav Shwartsman
fd5bd2177a See 64-bit disasm 2005-11-21 22:26:58 +00:00
Stanislav Shwartsman
82dcab043f Update TODO 2005-11-21 21:15:35 +00:00
Stanislav Shwartsman
9314752bb1 Rewritten task_switch mechnism according to AMD docs
This should fix the #SF bug report
736279  Jump to Task
2005-11-21 21:10:59 +00:00
Stanislav Shwartsman
48919f6e6d Compile fix for new disasm (see SF patch) 2005-11-20 20:33:31 +00:00
Volker Ruppert
a664b2008b - added "reserved" floppy types 160k, 180k and 320k
- now using the "image" parameter in the bochsrc line example
2005-11-20 20:26:35 +00:00
Volker Ruppert
35375dd574 - floppy image size autodetection now available in the whole config interface
(it was only present in bochsrc parser)
- floppy media type is now a runtime parameter (TODO: full media type support
  needs some work in the floppy emulation code)
- floppy media type added to win32 floppy dialog
2005-11-20 17:22:44 +00:00
Volker Ruppert
cbf474f7d3 - disk change line behaviour fixed (set at media removal and hardware reset,
cleared at the first step pulse)
2005-11-20 14:15:28 +00:00
Stanislav Shwartsman
8247b94245 Another fix for INIT/RESET state 2005-11-19 19:38:45 +00:00
Stanislav Shwartsman
ec81586bb8 Init/Reset values for LDTR/TR 2005-11-19 18:27:15 +00:00
Volker Ruppert
6683d7c88d - set maximum length of text for string parameters 2005-11-18 23:29:41 +00:00
Volker Ruppert
ba8d4be9ae - simplified parsing of log level options
- some missing initial values for string parameters added
2005-11-17 20:35:38 +00:00
Stanislav Shwartsman
8d9b5b7134 Fixed compilation error when PAE diasbled and BX_DEBUGGER enabled
CVS patch by shirokuma #SF 1359011
2005-11-17 17:52:00 +00:00
Stanislav Shwartsman
40d8016e90 Fix disasm for FCOMI instructions 2005-11-17 17:42:15 +00:00
Volker Ruppert
8fd02e184b - floppy controller type changed to 82077AA and added a few commands to make
Linux detect it correctly. This changes has no effect on r/w operations.
- data rate select register partially implemented
- register reset fixes and additions
2005-11-16 21:21:35 +00:00
Volker Ruppert
fa996ca9de - don't register i/o and memory address ranges during PCI probe
- PCI devices now report real base address changes only
- writes to the high word of i/o base addresses now permitted (for PCI probe)
2005-11-15 17:19:28 +00:00
Stanislav Shwartsman
5cf5aaef42 Fix compilation warnings 2005-11-14 19:03:12 +00:00
Stanislav Shwartsman
fc27c175e2 Fix typo 2005-11-14 18:31:59 +00:00
Stanislav Shwartsman
3250edb8c5 Update instrumentation 2005-11-14 18:25:41 +00:00
Stanislav Shwartsman
7b7ac565f9 Getting ready for long mode disasm support, patch will posted soon 2005-11-14 18:09:22 +00:00
Volker Ruppert
d21416209e - changes updated 2005-11-13 18:12:24 +00:00
Volker Ruppert
aa04797148 - i440fxsupport is now enabled by default if compiled in
- missing reset of PCI slot options added
- parsing of i440fxsupport config line rewritten
- vga_update_interval default value changed to 40000 and docs updated
- some more documentation updated including default values for some bochsrc options
2005-11-13 14:26:02 +00:00
Volker Ruppert
8be27bf03d - gui dialog capability flags added to simplify the button handler code 2005-11-12 16:09:55 +00:00
Volker Ruppert
4f0a4f2f8f - enable the ask dialog by default for the win32 and x gui, too 2005-11-12 12:27:40 +00:00
Volker Ruppert
e0f02463f9 - the step delay for the recalibrate and seek commands is now calculated from the
number of steps to do, the step rate time and the date rate
- the option floppy_command_delay is obsolete now, since all floppy delays are
  based on the hardware specs. The usage of this option caused a warning now.
2005-11-12 10:38:51 +00:00
Volker Ruppert
3e00c16800 - define IOCTL_DISK_GET_LENGTH_INFO only if necessary
- fixed UPC flag in ATAPI command 'read subchannel'
- ATAPI command 'read subchannel' now returns "ISRC not recorded"
2005-11-11 22:52:57 +00:00
Stanislav Shwartsman
e2a5b9c338 MOV to/from test register are UD in x86-64 2005-11-11 22:02:42 +00:00
Stanislav Shwartsman
cb4ec526ab Fix comments and cleanup ...
No functional change
2005-11-11 21:34:57 +00:00
Stanislav Shwartsman
38a7e0abea 0f 0d (3dnow prefetch instruction) should execute as NOP when running on Intel EM64T CPU and as prefetch on AMD 2005-11-11 21:09:02 +00:00
Volker Ruppert
902b8ec684 - better floppy write timing implementation (TC pulse is only available in DMA
r/w functions and must be stored in a variable)
2005-11-10 18:56:45 +00:00
Stanislav Shwartsman
fd2175eb57 Merged patch
[ 1352761 ] Infinite loop when trying to debug a triple exception
by Nickolai Zeldovich
2005-11-10 18:14:18 +00:00
Volker Ruppert
23776bab81 - more accurate timimg for floppy commands 'write normal data' and 'read ID' based
on a motor speed of 300 RPM
2005-11-09 19:13:32 +00:00
Stanislav Shwartsman
54b2a63ea7 Update changes 2005-11-09 18:11:22 +00:00
Stanislav Shwartsman
0c6a401f30 Update CPU/TODO 2005-11-09 18:07:49 +00:00
Volker Ruppert
bb2705643a - fixes for the load32bitOShack feature from patch included in SF bug #1351667 by jpa 2005-11-09 17:17:06 +00:00
Volker Ruppert
611acd047c - some more usb fixes by Ben Lunt
- small hack for debug messages from the start added (disabled by default)
2005-11-08 18:49:45 +00:00
Stanislav Shwartsman
e70aa1c403 Initialize l-biT (x86-64 mode) during reset or init
Do not modify segment limit and access rights when changing segment in real mode
2005-11-07 22:45:25 +00:00
Volker Ruppert
9934d3b46b - prepared USB flash stick implementation (patch by Ben Lunt - not yet complete) 2005-11-07 19:06:05 +00:00
Volker Ruppert
3f149870b0 - changes updated 2005-11-06 17:18:21 +00:00
Volker Ruppert
c92fd65c65 - enabled support for harddisks with up to 127 GB in Bochs and bximage
- BIOS harddisk detection message is now okay if size is < 64 GB
2005-11-06 16:50:30 +00:00
Volker Ruppert
3c4b32f9a4 - splitted image headers from hard drive header (TODO: split emulation and image
code for non-IDE interfaces)
- fixed bximage error messages
2005-11-06 11:07:01 +00:00
Volker Ruppert
93355486d2 - in text runtime config skip non-runtime options in lists with SERIES_ASK set
- added runtime flag for floppy options
2005-11-06 09:11:09 +00:00
Volker Ruppert
9e57072f28 - ATAPI command "read subchannel format 2" now returns "UPC not recorded"
- changed bool types to bx_bool, false and true to 0 and 1
- some indent mode fixes
2005-11-06 08:21:38 +00:00