Commit Graph

7247 Commits

Author SHA1 Message Date
Stanislav Shwartsman
30c63c773c apic.h is not needed for ioapic.cc 2009-02-22 17:37:09 +00:00
Volker Ruppert
29f5a696fc - improved config interface labels for the optional plugin control
- documentation updates
2009-02-22 17:05:40 +00:00
Volker Ruppert
790eec83ca - converted I/O APIC to a device plugin
- updated dependencies
2009-02-22 10:44:50 +00:00
Stanislav Shwartsman
08f9c8dceb Patch by Sebastian:
Fix parameter count for set_e820_range() in legacy bios.
It's called with too few parameters since rombios.c 1.224.
2009-02-21 21:45:34 +00:00
Volker Ruppert
66e2688645 - optional plugin control: added workaround for the compilation with plugins
disabled (bx_load_plugin() function not available in this case and we don't
  want to make plugin.cc device-dependant)
2009-02-21 16:08:02 +00:00
Volker Ruppert
cb430a4371 - added option to control the presence of optional plugins without a separate
option. By default all existing plugins are enabled.
2009-02-21 11:43:18 +00:00
Stanislav Shwartsman
3ce1d47fc5 Update CHANGES 2009-02-21 09:47:16 +00:00
Stanislav Shwartsman
9b3df76910 Fixed comp err 2009-02-20 23:01:09 +00:00
Stanislav Shwartsman
2304f2abf1 reduce dependencies from CPU/APIC.H 2009-02-20 22:00:42 +00:00
Stanislav Shwartsman
87268a1ba5 Fixed dfr register in apic 2009-02-20 20:44:20 +00:00
Stanislav Shwartsman
21d753c378 short cleanup 2009-02-20 17:35:55 +00:00
Stanislav Shwartsman
09489f968a cleanup APIC initialization and setting of APIC_ID 2009-02-20 17:26:01 +00:00
Stanislav Shwartsman
78590cc6f2 remove redundant cpu->name variable 2009-02-20 17:05:03 +00:00
Stanislav Shwartsman
11e8d090b6 moved def to config.h 2009-02-20 16:01:30 +00:00
Stanislav Shwartsman
876a410230 Only 15 CPUs maximum without XAPIC 2009-02-20 15:47:04 +00:00
Stanislav Shwartsman
5cbe27b04e Allow to configure up to 255 CPUs 2009-02-20 15:39:06 +00:00
Stanislav Shwartsman
c88886b4d2 Allow to configure up to 255 CPUs (and let's hope it will work :)) 2009-02-20 15:38:36 +00:00
Stanislav Shwartsman
36518ba6c6 Patch by Sebastian [Bochs-developers] [PATCH] rombios32: use cpuid info in mptable processor entry 2009-02-20 15:36:29 +00:00
Stanislav Shwartsman
d01725b1e9 Fixed compilation error on MAC 2009-02-20 08:12:51 +00:00
Stanislav Shwartsman
31a367283a small optimizations for apic code 2009-02-19 23:19:11 +00:00
Stanislav Shwartsman
7be90a7426 forgot to enable local_apic in init() 2009-02-18 22:38:58 +00:00
Stanislav Shwartsman
3564ef3162 small fixes 2009-02-18 22:33:06 +00:00
Stanislav Shwartsman
1b72e66bb3 support for apic global disable
separate between I/O apic and local apic
2009-02-18 22:25:04 +00:00
Stanislav Shwartsman
87b705d036 Changes in lapicbase msr 2009-02-17 19:44:02 +00:00
Stanislav Shwartsman
3a1852ea23 take local APIC read/write access into CPU class from BX_MEM (needed for APIC virtualization later) 2009-02-17 19:20:47 +00:00
Volker Ruppert
717c528cd6 - fix for USB drive on Win98SE 2009-02-17 16:43:51 +00:00
Stanislav Shwartsman
1e2fd1a737 Fixed compilation err 2009-02-16 18:27:50 +00:00
Stanislav Shwartsman
801484d877 mention > 32 bit phy addr feature 2009-02-15 19:00:03 +00:00
Stanislav Shwartsman
2ecd288f22 Fix closed bugs list 2009-02-15 18:54:14 +00:00
Stanislav Shwartsman
6fb60de2b2 cpu to see up to 40 bit physical addr space 2009-02-15 18:51:13 +00:00
Volker Ruppert
bf92a5ea04 - removed duplicate code from reset_hc(), since the init of connected devices
is already done in reset()
- init_device(): check for device connected to port before creating a new one
  (OHCI and UHCI)
- update irq level after clearing status and masking interrupt (same behaviour
  as the Qemu implementation)
2009-02-15 14:06:55 +00:00
Volker Ruppert
e11f9b6ce6 - small fixes to make the USB mouse work in Win98 and Linux
- now the USB UHCI controller can be assigned to a PCI slot (by default it's a
  part of the PIIX3 chipset)
2009-02-15 08:16:16 +00:00
Volker Ruppert
f10e0a08af - applied latest version of the USB OHCI support by Ben Lunt (WIN98SE can use
the USB mouse now)
- minor fixes in the USB common and devices code
2009-02-14 10:06:20 +00:00
Stanislav Shwartsman
e8e699245f fix code duplication in cpu.h for eflags accessors 2009-02-13 20:09:56 +00:00
Stanislav Shwartsman
f1eb1d00fd do not produce fpu2mmx transition if mem write faults 2009-02-13 10:15:16 +00:00
Stanislav Shwartsman
714dc45589 Fixed typo 2009-02-13 10:10:39 +00:00
Stanislav Shwartsman
a5badd3b83 - bugfixes 2009-02-13 09:51:57 +00:00
Stanislav Shwartsman
b47d9046ca puts is not always working, change to fputs back, keep stdout 2009-02-12 20:39:38 +00:00
Stanislav Shwartsman
03684932c1 send debugger output to stdout instead of stderr 2009-02-12 20:30:52 +00:00
Stanislav Shwartsman
6003f52704 Fixed compilation error + x86-64 correctness fix 2009-02-09 19:46:34 +00:00
Volker Ruppert
a1a4574074 - fixed PCI IRQ router check for legacy BIOS (checking vendor ID only) 2009-02-09 17:06:06 +00:00
Volker Ruppert
d0c3b1cb1c - initialize guest IP address with 255.255.255.255 (expected by Windows guests) 2009-02-09 17:04:30 +00:00
Volker Ruppert
91013a781d - some more FSF address updates 2009-02-09 10:35:55 +00:00
Volker Ruppert
fd68355c87 - patch updated 2009-02-09 10:17:21 +00:00
Stanislav Shwartsman
20d1ee5815 Fixed memory leak + some compilation warning 2009-02-08 18:52:06 +00:00
Stanislav Shwartsman
25b7227ef2 convert some BX_DEBUG prints to BX_ERROR
fixed boundary fetch fault bug in some stupid corner cases
2009-02-08 17:37:19 +00:00
Stanislav Shwartsman
77974ab952 - removed wrong character from FSF address (converted invisible and useless
2-byte character)
2009-02-08 17:29:34 +00:00
Volker Ruppert
e5eac65b59 - removed wrong character from FSF address (converted invisible and useless
2-byte character)
- updated FSF address in some files
- added license to some files
2009-02-08 09:05:52 +00:00
Stanislav Shwartsman
dd03e043a3 Updated FSF address 2009-02-07 21:05:31 +00:00
Stanislav Shwartsman
98b198b3fe not merged yet feature :) 2009-02-07 20:47:17 +00:00
Stanislav Shwartsman
66dc9b4cb1 - updated FSF address 2009-02-07 20:35:39 +00:00
Volker Ruppert
cb9990af95 - set hostname to NULL to avoid crash 2009-02-07 10:11:19 +00:00
Stanislav Shwartsman
aeaf51d33a FIxed #DB exception in 64-bit mode 2009-02-06 15:25:57 +00:00
Stanislav Shwartsman
21e2692997 Fixed bug in trace cache mode 2009-02-06 15:03:47 +00:00
Volker Ruppert
141d69eadf - applied current version of the USB OHCI support by Ben Lunt (communication
between guest OS and USB device still not working correctly)
2009-02-05 16:53:44 +00:00
Stanislav Shwartsman
7c0582e4ea Some fixes for X86-64 OFF mode 2009-02-04 16:05:47 +00:00
Stanislav Shwartsman
26fda0626d Added missed CR0 reserved bits #GP in long mode 2009-02-03 21:11:31 +00:00
Stanislav Shwartsman
7d5e058dfe write to apic must be 16-byte aligned 2009-02-03 20:42:15 +00:00
Volker Ruppert
8b608fe045 - confirm requested hostname 2009-02-03 20:04:20 +00:00
Stanislav Shwartsman
fdf4f25230 revert incorret merge 2009-02-03 19:28:22 +00:00
Stanislav Shwartsman
fbc6f04d8a correctly deliver INIT 2009-02-03 19:26:09 +00:00
Stanislav Shwartsman
4499ae8d02 more info abourt SIPI 2009-02-03 19:25:37 +00:00
Stanislav Shwartsman
592484408f Initial NMI virtualization for VMX, clean out CPU pins set/clear code 2009-02-03 19:17:15 +00:00
Stanislav Shwartsman
30fec77004 faster i/o apic write access 2009-02-03 19:12:00 +00:00
Volker Ruppert
1a5e565c0b - always set port speed depending on connected device (device speed is always
set in constructor, but for usb_msd devices the connected status set by a
  successful init)
2009-02-03 18:21:21 +00:00
Stanislav Shwartsman
b60aee3891 Added defines for STRICMP/STRCASECMP 2009-02-02 19:10:13 +00:00
Stanislav Shwartsman
f6cb9e529f Fixes for VMX emulation 2009-02-02 18:59:44 +00:00
Volker Ruppert
3a470c9d11 - names of bx_list_c members are now compared case insensitive
- added configure check and osdep code for the stricmp function
- minor changes in siminterface
2009-02-02 13:03:28 +00:00
Stanislav Shwartsman
3a918d21f7 VMENTER with pending dbg exceptions 2009-02-01 22:23:33 +00:00
Stanislav Shwartsman
3b799101f4 Optimize debugger stepN when single processor mode 2009-02-01 22:20:04 +00:00
Stanislav Shwartsman
2378d31998 Fixes for DR6 handling 2009-02-01 20:47:06 +00:00
Volker Ruppert
b7f10117a9 - fixed building of display libraries other than 'win32' with debugger support
on the Windows platform
2009-02-01 18:25:21 +00:00
Volker Ruppert
4f1684d07b - fixed GTK detection for wxGTK (enable GTK check only if wx gui is enabled)
- fixed GTK detection switch for the X11 gui
- enable GTK detection for the sdl gui on non-win32 platforms
2009-02-01 12:41:28 +00:00
Volker Ruppert
882269acaa - fixed win32 compilation 2009-02-01 10:30:47 +00:00
Volker Ruppert
bfedc33c09 - fixed some more GCC4 warnings 2009-02-01 08:08:20 +00:00
Stanislav Shwartsman
c801545c0b added more knobs 2009-01-31 20:41:59 +00:00
Volker Ruppert
3e525af2ca - fixed order of the Bochs parameter tree
- fixed lots of warnings
2009-01-31 19:02:24 +00:00
Volker Ruppert
4820227ce7 - moved VBE state to a separate structure
- handle VBE error messages with BX_ERROR instead of BX_INFO
- several code cleanups in the object delaration and the init code
2009-01-31 18:13:17 +00:00
Volker Ruppert
bcefe1f799 - implemented support for the GTK-based gui debugger in sdl (WIN32 support
disabled, since it breaks runtime dialog support)
- fixed a warning
- updated FSF address
2009-01-31 18:11:13 +00:00
Stanislav Shwartsman
de5814a22d Fixed compilation err 2009-01-31 15:01:29 +00:00
Stanislav Shwartsman
6eb53b15ce Fixed some gcc4 warnings 2009-01-31 14:51:41 +00:00
Stanislav Shwartsman
9430c5cf95 INIT pin is blocked when CPU is waiting for SIPI 2009-01-31 11:53:57 +00:00
Stanislav Shwartsman
6b37de5c0d TESTFORM update 2009-01-31 11:50:28 +00:00
Stanislav Shwartsman
82969504d8 updated CPU TODO 2009-01-31 11:34:51 +00:00
Stanislav Shwartsman
d63044357f Bochs enhanced debugger user manual by Bruce Ewing 2009-01-31 11:30:29 +00:00
Stanislav Shwartsman
f8185a6bc6 Added Intel VMX emulation to Bochs CPU 2009-01-31 10:43:24 +00:00
Stanislav Shwartsman
717f323722 Integrate GTK GUI debugger frontend module 2009-01-31 10:04:25 +00:00
Stanislav Shwartsman
dd21ea963e New module for cross-platform GUI debugger frontend 2009-01-31 09:52:26 +00:00
Stanislav Shwartsman
b780068399 Fixed gcc4 warnings 2009-01-30 21:47:42 +00:00
Stanislav Shwartsman
368eb61eed Fixed gcc4 warning 2009-01-30 21:05:01 +00:00
Stanislav Shwartsman
a1c11c788b sepatate activity state from debug trap 2009-01-29 20:27:57 +00:00
Stanislav Shwartsman
aa982c27d8 move startup_SIPI code to CPU 2009-01-27 21:13:38 +00:00
Stanislav Shwartsman
4dcea7e888 Fixed pause instruction disasm 2009-01-27 21:01:21 +00:00
Stanislav Shwartsman
0325c120b2 Separate PAUSE instruction from regular NOP 2009-01-27 20:29:05 +00:00
Volker Ruppert
4b4f80e6cb - implemented MTRR support in the bios. This is a combination of the individual
patches from the kvm tree. The code was written by Avi Kivity and Alex
  Williamson. Sebastian Herbszt added checks for CPUID_MTRR and CPUID_MSR.
2009-01-26 09:21:38 +00:00
Volker Ruppert
4d661c8326 - VBE video memory increased to 16 MB (new version of the LGPL'd VGABIOS under
construction)
2009-01-25 09:09:49 +00:00
Stanislav Shwartsman
8c8ef5b869 Mask bit 11:8 of segment AR field 2009-01-23 21:28:01 +00:00
Stanislav Shwartsman
950db498c9 Fixed #DF error code 2009-01-23 18:19:57 +00:00
Stanislav Shwartsman
cd90782293 No need to save/restore EXT field 2009-01-23 17:48:38 +00:00
Stanislav Shwartsman
503cc4c836 merge fix 2009-01-23 09:33:11 +00:00
Stanislav Shwartsman
62005d4fd9 Minimize diff with VMX support branch 2009-01-23 09:26:24 +00:00
Volker Ruppert
809449c797 - stored LFB address in base address #0 (TODO: implement changeable LFB address;
VGABIOS should read LFB base from PCI)
2009-01-22 22:29:23 +00:00
Volker Ruppert
324fccd33c - moved include statement to reduce dependencies
- updated FSF address
2009-01-21 22:16:09 +00:00
Stanislav Shwartsman
29a252b26e final version of exceptions cleanups/interface changes 2009-01-21 22:09:59 +00:00
Stanislav Shwartsman
0b3c7262d4 Wrongly committed line 2009-01-20 21:34:59 +00:00
Stanislav Shwartsman
e7ac62ac82 extensions for exception type for future 2009-01-20 21:28:43 +00:00
Stanislav Shwartsman
74b885d74b Updated instrumentation
Simplified exception code
2009-01-20 19:34:16 +00:00
Stanislav Shwartsman
c93d13d37b small cleanups 2009-01-20 18:15:25 +00:00
Volker Ruppert
7d760b809e - updated MSVC workspace files after USB code changes 2009-01-20 16:29:13 +00:00
Volker Ruppert
fcedb1f823 - workaround for unusable VGA window size
* use default value for screen width if update() is called before VGABIOS init
  * set minimum value for vga_update_interval to 40000 (default value: 50000)
  * no longer accept ips values smaller than BX_MIN_IPS and default value
    changed to 4000000
2009-01-20 12:37:41 +00:00
Volker Ruppert
d0a0fbd9d3 - usb config subtree now belongs to serial/parallel again
- added USB to the menu item names
2009-01-20 09:26:26 +00:00
Volker Ruppert
cfa759cd57 - fixed parameter name for save/restore of connected devices
- moved configuration subtree 'usb' back to the 'ports' list to make it
  accessible again by the config interface
- delete s.scsi_dev only if not NULL
2009-01-19 21:39:03 +00:00
Volker Ruppert
d3533d9fcc - the config interface should not access devices directly, using siminterface
method for VGA refresh
2009-01-19 20:37:40 +00:00
Stanislav Shwartsman
db098a1205 Fix dependencies of CPU code from disasm library
Regent Makefile.in for CPU
2009-01-19 19:01:03 +00:00
Stanislav Shwartsman
ef5df7c4a8 make functions from rdmsr and wrmsr - they will be reused in VMX 2009-01-19 18:08:38 +00:00
Stanislav Shwartsman
cc60240dc1 cleanup RDMSR 2009-01-19 17:43:54 +00:00
Volker Ruppert
b5aabf8848 - applied patch for initial USB OHCI support written by Ben Lunt (Win98 detects
the controller, connecting devices is not implemented yet)
2009-01-19 17:18:57 +00:00
Stanislav Shwartsman
637630435e Fixed typo 2009-01-19 16:45:54 +00:00
Volker Ruppert
891cc05477 - prepared siminterface and bochsrc options for USB OHCI support
* 'usb_uhci' bochsrc option replaces 'usb1'
  * minor changes in the USB code
  * removed old VBE i/o port registration (they were incompatible with USB)
  * updated FSF address
- fixed saving user plugin options
2009-01-19 13:13:32 +00:00
Volker Ruppert
0b782cd749 - prepared USB OHCI support in build system and common devices code (OHCI patch
by Ben Lunt will be tested and merged soon)
- renamed specific pciusb stuff to 'usb_uhci' (files, objects)
- minor USB-related changes
- TODO: changes in siminterface and bochsrc options
2009-01-19 09:48:12 +00:00
Stanislav Shwartsman
c8fa6f6b90 Added CR4 fields 2009-01-18 21:25:49 +00:00
Volker Ruppert
ef83d97f3e - updated after adding usb_common.* files 2009-01-18 13:12:52 +00:00
Volker Ruppert
5ca97fb7e0 - moved common USB device code and USB definitons to separate files
- updated dependencies
- updated FSF address
2009-01-18 13:11:27 +00:00
Stanislav Shwartsman
a396c8a1ce Rework SMM mess 2009-01-17 22:35:45 +00:00
Stanislav Shwartsman
cd367becd7 remove duplicate function 2009-01-17 18:56:25 +00:00
Stanislav Shwartsman
eaa00237c1 Notify debugger about MWAIT executed 2009-01-17 16:55:13 +00:00
Stanislav Shwartsman
9929e6ed78 - updated FSF address 2009-01-16 18:18:59 +00:00
Volker Ruppert
34d767f938 - moved mouse buffer size definition to iodev.h
- reduce dependencies (TODO: update Makefile.in)
- removed unused defines from iodev.h
- updated FSF address
2009-01-16 11:53:38 +00:00
Volker Ruppert
3c82e7983c - compilation fix for plugins on win32
- updated FSF address
2009-01-16 10:53:58 +00:00
Stanislav Shwartsman
e540ee75ca cleared external debugger configure stuff from configure script and makefile 2009-01-15 21:52:52 +00:00
Volker Ruppert
ae54b59cd0 - preparing "plugin-disable" feature for optional plugins not controlled by a
bochsrc option (e.g. biosdev, speaker, gameport)
  * the "unmapped device" is now an optional plugin, the builtin default handlers
    no longer cause panics
  * speaker stub calls the related gui methods for beep on/off
  * load all optional plugins before starting init of core plugins
2009-01-15 17:34:20 +00:00
Stanislav Shwartsman
8af7eff93f Oops, remove future stuff 2009-01-15 17:12:18 +00:00
Stanislav Shwartsman
0836545037 Merge io.cc and io_pro.cc (required for future VMX use) 2009-01-15 16:53:08 +00:00
Stanislav Shwartsman
aee488ea3a Fixed dbg print 2009-01-13 22:54:49 +00:00
Stanislav Shwartsman
5cc5781a20 Fixed memory corruption inside disasm module ! 2009-01-13 22:40:16 +00:00
Volker Ruppert
0ec93b8586 - moved common mouse handling code to devices.cc
- moved mouse capture control code back to config.cc
- related changes in the USB keyboard and mouse interface
2009-01-13 19:01:19 +00:00
Stanislav Shwartsman
d4611072f4 Some small updates 2009-01-13 19:00:30 +00:00
Stanislav Shwartsman
bfcd242a2f Fixed compilation 2009-01-13 18:56:35 +00:00
Stanislav Shwartsman
da511513b3 make displ field of instruction signed 2009-01-12 20:14:37 +00:00
Stanislav Shwartsman
93dd7bfccf Fixed compilation issues with GUI debugger enabled.
- Added configure option to compile in GUI frontend for Bochs internal
    debugger, to enable configure with --enable-debugger-gui option. The GUI
    debugger frontend is enabled by default with Bochs internal debugger.

If needed to compile without GUI debugger (in case of compilation issues) use --disable-debugger-gui
2009-01-12 19:15:35 +00:00
Stanislav Shwartsman
817bbc6435 [Bochs-developers] [PATCH] rombios32: fix SMBIOS end address range reporting
The -1 seems to be in the wrong place here.

Patch by Alex Williamson from the kvm tree [1].

[1] http://git.kernel.org/?p=virt/kvm/kvm-userspace.git;a=commitdiff;h=dd0f27d08ce415da6a5215f0901e7d98ab084f79

- Sebastian
2009-01-11 19:52:36 +00:00
Volker Ruppert
1e578b3b28 - converted device PIT 82C54 to a plugin (internal / virtual timers remain in
Bochs core)
- removed obsolete and unused PIT methods
- updated FSF address
2009-01-11 18:46:01 +00:00
Volker Ruppert
2b61cf3b41 - clean up common device macros 2009-01-11 08:48:47 +00:00
Stanislav Shwartsman
19072fb5ce Fix for [ 2426271 ] cannot get correcet symbol entry 2009-01-10 21:38:36 +00:00
Stanislav Shwartsman
0ff68a2aa2 Fixed XSAVE decode in x86-64 mode 2009-01-10 16:01:55 +00:00
Volker Ruppert
8f156c435d - update after logio change 2009-01-10 11:56:07 +00:00
Volker Ruppert
7df4044762 - forgot to update declaration 2009-01-10 11:47:10 +00:00
Volker Ruppert
501952efdd - removed unused logfunctions member 'type' and related method 'settype()'
- updated FSF address in copyright
2009-01-10 11:30:20 +00:00
Stanislav Shwartsman
06e90a9304 Deduplicate INT 15h, AX=E820h code by removing some identical parts.
- Sebastian
2009-01-10 10:50:07 +00:00
Stanislav Shwartsman
6451356d2b make function to calculate allowed bits in cr4 2009-01-10 10:37:23 +00:00
Stanislav Shwartsman
836e9649d8 modify set cr0 functionality 2009-01-10 10:07:57 +00:00
Stanislav Shwartsman
4369152c70 - Make CS segment always writeable in real mode 2009-01-10 09:36:44 +00:00
Stanislav Shwartsman
4b4b901436 put bugfix for text split screen mode back 2009-01-09 17:16:03 +00:00
Stanislav Shwartsman
8b99d7abfc clean up some dependencies for enh_dbg 2009-01-09 16:51:06 +00:00
Stanislav Shwartsman
4f95336b64 some small cleanup 2009-01-09 14:57:30 +00:00
Stanislav Shwartsman
0c79f11259 More fixes toward multiplatform GUI Bochs debugger 2009-01-09 14:53:38 +00:00
Stanislav Shwartsman
6ea14b747c Fixed SEGFAULT with configurable MSRS
fixed osdep issue in win32 enhanced debugger module
2009-01-08 18:07:44 +00:00
Volker Ruppert
6071b4c239 - minor updates 2009-01-08 17:24:05 +00:00
Volker Ruppert
65eacd8063 - unlimited number of user options after rewrite (now using a chain similar to
the plugin device code)
- minor updates
2009-01-06 20:35:39 +00:00
Volker Ruppert
ee1e10ab73 - store user-defined option data in a struct 2009-01-05 21:15:17 +00:00
Volker Ruppert
6fd3cf2ecf - updated sample code for user plugins 2009-01-05 17:02:25 +00:00
Volker Ruppert
8aa8b1a3db - rewrite for user plugin support with user-defined options
* initialize plugin system before parsing bochsrc and command line
  * pass previous value to bx_param_string_c handler
  * load / unload plugin in bx_param_string_handler()
  * handle user plugins after optional ones in plugin device init, reset and
    save/restore functions
  * added new siminterface method unregister_user_option()
  * removed first version of config option handling for user plugins
  * added new parameter subtree for user-defined options
  * added new bx_list_c method remove()
  * removed unused bx_devmodel_c method init_mem()
2009-01-04 21:46:20 +00:00
Stanislav Shwartsman
69153fc532 added enum for memory types 2009-01-03 20:04:03 +00:00
Volker Ruppert
4757acfeaf - added sample code for user plugins (see patch description) 2009-01-03 11:50:29 +00:00
Volker Ruppert
cbefde3a43 - update all dependencies 2009-01-03 10:04:01 +00:00
Volker Ruppert
e12b21e647 - update all dependencies 2009-01-03 09:54:10 +00:00
Volker Ruppert
00d404809b - reduce some more dependencies
- iodev.h already includes bochs.h
2009-01-03 08:55:00 +00:00
Volker Ruppert
504688cbca - fixed issue with bx_param_string_c found with valgrind
* set initial value for MAC address after setting RAW_BYTES option (no space
    for trailing null byte when using strncpy)
  * length of initial string should not be larger than maxsize
  * reset() method now uses set(initial_val)
2009-01-02 14:16:16 +00:00
Stanislav Shwartsman
87396f051a msr phy addr check use new function 2009-01-02 13:23:06 +00:00
Stanislav Shwartsman
3cd5ab1041 added phy addr check 2009-01-02 13:21:48 +00:00
Volker Ruppert
b23e7bf6a0 - added basic user plugin support (TODO: add sample code) 2009-01-02 11:51:03 +00:00
Stanislav Shwartsman
a46cbc6e67 Woraround for comp problem 2009-01-01 18:17:07 +00:00
Volker Ruppert
d65e860637 - some small progress for user plugin support
* the "init" and "fini" functions of different user plugins can always have
    the same name (tested on Linux and Windows)
  * make sure that a plugin cannot be loaded twice
  * fixed check for the presence of the "fini" function
  * TODO: configuration and load mechanism for user plugins
2009-01-01 12:06:31 +00:00
Stanislav Shwartsman
16275b5298 Fixed msrs.def parsing 2008-12-30 18:16:30 +00:00
Volker Ruppert
815dff019e - converted iodebug device to a plugin 2008-12-30 18:11:13 +00:00
Volker Ruppert
77ee99a7cd - reduce some more dependencies (rarely used options, no Makefile.in update
necessary)
2008-12-30 15:33:38 +00:00
Volker Ruppert
00f312ad6e - update dependencies 2008-12-30 09:37:15 +00:00
Volker Ruppert
618b8fe9b3 - reduce some more dependencies
- compilation fix in usb_msd code
2008-12-30 09:17:09 +00:00
Stanislav Shwartsman
d56c3a18aa reduce include dependencies in iodev.h
Makefile.in in iodev folder have to be regerated !
2008-12-29 20:16:08 +00:00
Stanislav Shwartsman
aff71784fc Fixed possible mmory bug 2008-12-29 19:18:21 +00:00
Stanislav Shwartsman
3fb9d7d712 clean duplicate instrumentation 2008-12-29 18:02:01 +00:00
Stanislav Shwartsman
6134ece1a2 hardware reset on triple fault 2008-12-29 17:46:42 +00:00
Stanislav Shwartsman
b7839dfcbe Optimize repeat I/O calls 2008-12-29 17:35:35 +00:00
Volker Ruppert
67da880ba7 - set up for split screen in text mode if visible only 2008-12-29 08:51:34 +00:00
Volker Ruppert
15ee364a93 - don't skip text update if character height is 1
- removed BX_MAX_TEXT_LINES hack; now check if text screen contents fit in memory
- simplified charmap update handling
2008-12-29 08:16:53 +00:00
Stanislav Shwartsman
5105cf28c4 Update PARAM_TREE.txt with new cpu params 2008-12-28 21:01:18 +00:00
Stanislav Shwartsman
ae2325cafd added msrs def example 2008-12-28 20:54:48 +00:00
Stanislav Shwartsman
9d1a6a8bc2 typo bugfix 2008-12-28 20:53:31 +00:00
Stanislav Shwartsman
6367d3c5d2 Update user docs 2008-12-28 20:49:03 +00:00
Stanislav Shwartsman
e182e74a4d Added ability to define user MSRs spec for emulated CPU 2008-12-28 20:30:48 +00:00
Volker Ruppert
0b7b330c34 - run acpi-dsdt.dsl through cpp before compiling with iasl (to support #ifdef and
maybe other preprocessor directives)
2008-12-27 17:23:23 +00:00
Stanislav Shwartsman
923ebb8864 Update CHANGES 2008-12-27 16:48:27 +00:00
Volker Ruppert
ab1da2f8f3 - the HPET merge from QEMU introduced new structures which need packing (Sebastian Herbszt) 2008-12-27 16:28:49 +00:00
Stanislav Shwartsman
fafe511180 Fixed dbg frontend call 2008-12-27 12:22:13 +00:00
Stanislav Shwartsman
9b85851b12 Completely replace win32 enh debugger (GUI debugger frontend for Bochs internal dbg)
Used new code by bewing, converging to cross-platform GUI frontend
2008-12-27 12:06:39 +00:00
Volker Ruppert
f2f5d5c915 - applied 3 patches from the Qemu project
* added support for memory above the PCI hole (Izik Eidus)
  * smp_probe: instead of timimg out, wait until all cpus are up (Avi Kivity)
  * Bochs BIOS changes to support HPET in Qemu (Beth Kon)
- added documentation about CMOS registers set by Qemu
2008-12-25 16:58:44 +00:00
Volker Ruppert
f310ea769b - rebuild after latest changes 2008-12-23 09:22:52 +00:00
Volker Ruppert
c3b6fc563f - use "__attribute__((__packed__))" instead of "#pragma pack" (Sebastian Herbszt) 2008-12-23 09:20:43 +00:00
Volker Ruppert
1060c19b04 - added support for booting from option ROM with BCV entry (Laurent Vivier) 2008-12-23 09:20:06 +00:00
Volker Ruppert
975419440c - simplified CMOS setup in floppy init code 2008-12-21 09:41:30 +00:00
Volker Ruppert
fd79c68d72 - fixed some warnings in iodev 2008-12-21 08:56:26 +00:00
Volker Ruppert
13822e151e - applied 3 patches from the Qemu project (Anthony Liguori)
* disable stack protector for BIOS
  * make ACPI tables byte-aligned
  * fix Bochs BIOS build from a separate directory
2008-12-20 14:27:22 +00:00
Stanislav Shwartsman
a794bef607 optimize invlpg for split large pages 2008-12-19 16:03:25 +00:00
Volker Ruppert
8f7fe8bc7d - use a local copy of the IPS value to avoid reading it frequently in timer handler 2008-12-19 12:52:34 +00:00
Volker Ruppert
ea6855a8e2 - removed resources for the old win32 debugger dialog box 2008-12-18 23:50:49 +00:00
Stanislav Shwartsman
8d70185b2c add info about 1G pages in main.cc 2008-12-18 19:37:05 +00:00
Volker Ruppert
24c8296d68 - compilaton fixes for win32 binary with term gui support only 2008-12-18 15:37:25 +00:00
Volker Ruppert
fefad06234 - compilation fixes for wxWidgets 2.8 2008-12-18 09:55:09 +00:00
Volker Ruppert
0a33a8dd6e - added instructions how to update the online documentation 2008-12-17 14:43:16 +00:00
Volker Ruppert
ccf4358eb1 - added instructions how to update the CVS snapshot 2008-12-17 10:01:44 +00:00
Stanislav Shwartsman
d33b0bb79a in long mode, not only in 64-bit mode 2008-12-16 19:28:19 +00:00
Stanislav Shwartsman
5086d2e756 implement info idt in long mode 2008-12-16 19:26:57 +00:00
Stanislav Shwartsman
62782f125c Patch applied 2008-12-15 06:05:52 +00:00
Volker Ruppert
ba5155b80b - fixed endianness problem when reading TD 2008-12-14 08:56:05 +00:00
Stanislav Shwartsman
7f65e6b9ed change PANIC to ERROR 2008-12-13 18:40:39 +00:00
Volker Ruppert
01b0ed241b - fixed endianness problems at PCI DMA block transfers using getHostMemAddr()
and memcpy()
- changes in getHostMemAddr() for the usage outside of the cpu
2008-12-13 11:03:36 +00:00
Stanislav Shwartsman
2682738968 added ifdefs around 1G paging implementation 2008-12-11 21:30:37 +00:00
Stanislav Shwartsman
a2e07ff971 - Removed --enable-guest2hos-tlb configure option. The option will be
always enabled for any Bochs configuration.
2008-12-11 21:19:38 +00:00
Stanislav Shwartsman
69bd21bf1d 1G pages support for CPU 2008-12-11 21:00:01 +00:00
Volker Ruppert
ed90f8dd93 - fixed a bunch of warnings 2008-12-11 18:01:56 +00:00
Stanislav Shwartsman
6f63523a8e Fixed compilation error 2008-12-08 20:20:30 +00:00
Stanislav Shwartsman
5174f9fe82 Fixed debian i386 image freeze 2008-12-08 20:01:26 +00:00
Stanislav Shwartsman
1231f64d79 move function to cpu.cc 2008-12-07 19:47:34 +00:00
Stanislav Shwartsman
0f2a7640e5 Merged patchfix by Sebastian 2008-12-07 17:32:29 +00:00
Stanislav Shwartsman
24f9a22550 Fixed compilation when not in x86-64 2008-12-07 06:15:26 +00:00
Stanislav Shwartsman
35487c3ebd get/set_segment_ar_data prepared for future reuse in other than SMM mode 2008-12-06 18:52:02 +00:00
Stanislav Shwartsman
15fa42963f get/set_segment_ar_data prepared for future reuse in other than SMM mode 2008-12-06 18:01:00 +00:00
Stanislav Shwartsman
f9ce1171fe rename crreg accessors 2008-12-06 10:21:55 +00:00
Stanislav Shwartsman
25e05d9a60 forgot to mark code access as code 2008-12-06 07:14:40 +00:00
Stanislav Shwartsman
d7fa44d270 optimize code access detection 2008-12-05 22:34:42 +00:00
Stanislav Shwartsman
b3bbf8ded2 define generic MSR 2008-12-05 13:10:51 +00:00
Stanislav Shwartsman
70e9f4c161 preparing to different way of handling MSR registers 2008-12-05 12:48:36 +00:00
Stanislav Shwartsman
ae4e5cea65 Fixed param tree overflow 2008-12-04 20:26:06 +00:00
Stanislav Shwartsman
f86bc91770 Updates in CHANGES 2008-12-04 18:54:43 +00:00
Stanislav Shwartsman
fb21bbd51e Handle S3 in PIIX4 ACPI 2008-12-04 18:50:31 +00:00
Stanislav Shwartsman
02e21074a0 Don't power down vga card on entering S3 state.
Patch by Gleb Natapov
2008-12-04 18:48:33 +00:00
Stanislav Shwartsman
dcf68cca6d Don't use unreserved memory in BIOS.
Patch by Gleb Natapov
2008-12-04 18:46:55 +00:00
Stanislav Shwartsman
4bc2d5b4e9 Execute rombios32 code from rom address 0xe0000.
Patch by Gleb Natapov
2008-12-04 18:44:14 +00:00
Stanislav Shwartsman
3692baf4bb Preserve memory content during SMM iniT.
Patch by Gleb Natapov
2008-12-04 18:42:32 +00:00
Stanislav Shwartsman
a4e971c0a6 Add S3 state to DSDT. Handle resume event in the BIOS.
patch by Gleb Natapov
2008-12-04 18:40:54 +00:00
Stanislav Shwartsman
ebc41a1dad recompile BIOS 2008-12-03 14:49:09 +00:00
Volker Ruppert
78197bae62 - fixed endianness bug (read 2 dwords instead of 1 qword) 2008-12-02 21:38:51 +00:00
Stanislav Shwartsman
ef36cec716 moving definition to config.h 2008-12-01 19:35:25 +00:00
Stanislav Shwartsman
098308dd9f some variable renames + comp warn fix 2008-12-01 19:06:14 +00:00
Stanislav Shwartsman
f69ac41e59 added infrastructure for init disable 2008-12-01 18:54:24 +00:00
Volker Ruppert
430166ef7a - TAP networking on Solaris/Sparc repaired (SF patch #2354134 by Pavel Dufek)
- ne2k: changed BX_PANIC to BX_ERROR in write_cr()
2008-11-30 17:22:22 +00:00
Stanislav Shwartsman
8fb3eb911a Clear DEVACTB register on PIIX4 ACPI reset 2008-11-29 19:39:12 +00:00
Stanislav Shwartsman
e402062499 -Fixes for INVLPG 2008-11-29 19:28:10 +00:00
Volker Ruppert
85b2d3179c - update sector count before calling write completion function (SF patch #2144692) 2008-11-23 19:21:19 +00:00
Stanislav Shwartsman
cde9595e86 implement cluster addressing model in local apic
deliver INIT IPI through local apic
2008-11-20 18:44:15 +00:00
Stanislav Shwartsman
ac5b7bff1b Fixed double tick count in stepN command of bx_debugger with SMP enabled but only 1 CPU 2008-11-18 21:03:04 +00:00
Stanislav Shwartsman
fbd078cb70 updates for instrumentation 2008-11-18 20:58:09 +00:00
Stanislav Shwartsman
3d60e1e20d Fixed CPU state after software reset (INIT).
Update instrumentation.
Clean extra space from plugin.h biosdev device name
2008-11-18 20:55:59 +00:00
Stanislav Shwartsman
1a28deb3aa update changes 2008-11-17 20:06:42 +00:00
Stanislav Shwartsman
83918212a6 Implemented HW reset for I/O APIC 2008-11-17 20:06:16 +00:00
Volker Ruppert
9d0e55d65e - make the wx status bar work again (colors are not supported) 2008-11-16 21:01:09 +00:00
Stanislav Shwartsman
d12e1fc290 Fixed CPU runway after pressing reset button 2008-11-13 22:58:54 +00:00
Stanislav Shwartsman
85435e7fcf Applied [Bochs-developers] [PATCH v3 1/6] Move PIC initialization out of line to save space in post code area. 2008-11-13 19:15:20 +00:00
Stanislav Shwartsman
dbca1fb130 Fix another corner case in prefetch() 2008-11-11 17:44:19 +00:00
Stanislav Shwartsman
61fe5310a4 Fixed registers 'mess' in gdbstub. Or at least part of it 2008-11-09 22:56:54 +00:00
Stanislav Shwartsman
5f9afb550a Fix in cpu.cc 2008-11-09 22:33:44 +00:00
Stanislav Shwartsman
857392583a - Fixed exceptions handling in v8086 mode 2008-11-09 22:08:21 +00:00
Volker Ruppert
8cbd56123b - compilation fixes for MSVC toolkit 2003 2008-11-09 22:04:14 +00:00
Stanislav Shwartsman
67b98b4787 Fixed printing of ESP/EIP in regs window of win32 enh debugger 2008-11-08 20:09:37 +00:00
Stanislav Shwartsman
475aa234e8 Update CHANGES 2008-11-06 19:37:19 +00:00
Stanislav Shwartsman
b54ea2e0b8 Applied patch [ 2217229 ] Panic on EBDA overflow in rombios32 2008-11-03 19:53:12 +00:00
Stanislav Shwartsman
bc89bf1c48 Merge [ 2210194 ] Log pci class code patch 2008-10-31 18:07:15 +00:00
Stanislav Shwartsman
0f5f075e4d - Fixed theoretically possible pageWriteStamp overflow 2008-10-21 19:50:05 +00:00
Stanislav Shwartsman
fd65bf9de0 - Added graphical Bochs debugger under Win32 host !
- Thanks for Chourdakis Michael and Bruce Ewing.
2008-10-21 13:45:03 +00:00
Stanislav Shwartsman
17d02735cb re-locate BX_SMP_PROCESSORS macro 2008-10-20 19:13:08 +00:00
Stanislav Shwartsman
f81e35d966 update msdev workspaces 2008-10-18 20:36:52 +00:00
Stanislav Shwartsman
d12c08f720 Typo fixed 2008-10-18 18:14:04 +00:00
Stanislav Shwartsman
ce425f02d9 Small fix towards 40-bit physical address emulated 2008-10-18 18:10:14 +00:00
Stanislav Shwartsman
114a59d1ad - Added ability to choose Bochs log file name and Bochs debugger log file
name from Bochs command line (using new -log and -dbglog options)
2008-10-18 17:12:37 +00:00
Stanislav Shwartsman
4f31cbe6b4 QEMU UUID support - QEMU only is affected 2008-10-15 19:04:09 +00:00
Stanislav Shwartsman
c02a276a5c compilation fix 2008-10-15 15:26:15 +00:00
Stanislav Shwartsman
82815c4bef Put back simple hash function for icache and trace cache - more cache misses but still ~3% speedup 2008-10-14 17:23:53 +00:00
Stanislav Shwartsman
9170dbfe38 Fixed in CVS 2008-10-14 06:55:18 +00:00
Stanislav Shwartsman
e872934cd5 This one is easy :) 2008-10-13 09:47:55 +00:00
Stanislav Shwartsman
25d6dc1455 Fixed compilation err 2008-10-13 07:31:23 +00:00
Stanislav Shwartsman
c11ad9405d one more 2008-10-10 21:09:25 +00:00
Stanislav Shwartsman
5261e6f73a Optimize prefetch() method 2008-10-10 20:49:16 +00:00
Stanislav Shwartsman
577c8c7969 another way to do the same optimization 2008-10-08 20:40:26 +00:00
Stanislav Shwartsman
17040303f7 Optimization of repeat string 2008-10-08 20:15:37 +00:00
Stanislav Shwartsman
0e66403a25 Change watchpoints to be more flexible - and more similar to 2.3.7 2008-10-08 17:13:35 +00:00
Stanislav Shwartsman
ab716f62aa inline prepareMMX method 2008-10-08 11:14:35 +00:00
Stanislav Shwartsman
489447ae57 Fixed FPU2MMX state transition - should be done only fater all memory faults already checked 2008-10-08 10:51:38 +00:00
Alexander Krisak
e108fe0d58 Yet another win32 build fix. cpu/resolve.cc renamed to cpu/resolver.cc
because it conflicts with disasm/resolve.cc.
2008-10-07 07:47:56 +00:00
Stanislav Shwartsman
52a0eb2143 - Avoid 32-bit EIP wrap in prefetch() 2008-10-06 22:19:22 +00:00
Stanislav Shwartsman
446b1f9977 Update CHANGES 2008-10-06 22:02:51 +00:00
Stanislav Shwartsman
0df223d363 Merged patch with blinking HDD led in RED color when HDD write occurs (GREEN when HDD read) 2008-10-06 22:00:11 +00:00
Stanislav Shwartsman
3b0e84d9e3 The same again 2008-10-06 20:41:28 +00:00
Stanislav Shwartsman
367116ee3d Do not access 64-bit vars when guaranteed to be in 32-bit mode with upper part of ther RIP/RSP cleared 2008-10-06 20:26:14 +00:00
Stanislav Shwartsman
67fae3ab41 Fixed compilation 2008-10-06 20:06:30 +00:00
Stanislav Shwartsman
4cf63f4804 Delete unused file 2008-10-06 20:05:23 +00:00
Stanislav Shwartsman
2066d8b594 Fixed compilation issues 2008-10-06 17:50:06 +00:00
Stanislav Shwartsman
51d380551e Fixed instrumentation desc 2008-10-06 06:51:29 +00:00
Stanislav Shwartsman
66e963b302 Fixed para-bochs link in TODO fil 2008-10-03 18:50:05 +00:00
Stanislav Shwartsman
fe0456d519 Remove extra ;; 2008-10-03 17:00:46 +00:00
Stanislav Shwartsman
fb71c07b15 Fixes for MONITOR/MWAIT - the feature is still EXPERIMENTAL ONLY ! 2008-10-03 16:53:08 +00:00