Commit Graph

6999 Commits

Author SHA1 Message Date
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