Commit Graph

8635 Commits

Author SHA1 Message Date
Stanislav Shwartsman
7feb947830 BIOS fixes 2011-08-15 06:05:52 +00:00
Stanislav Shwartsman
e50e187128 #GP on EFER access when not supported 2011-08-14 20:41:46 +00:00
Stanislav Shwartsman
fb8d302f72 changed SHOW-IPS format for all GUIs 2011-08-14 20:21:07 +00:00
Volker Ruppert
7600c1bc60 - fixed dialog size if a 2-line label is used 2011-08-14 17:07:47 +00:00
Volker Ruppert
a0b4b4898b - implemented graphics snapshot for mode X (variant of VGA mode 0x13)
- bugfix: CGA1 mode depends on the CGA compatiblity switch
2011-08-14 14:56:54 +00:00
Volker Ruppert
b8b2a7253b - implemented graphics snapshot for VGA mode 0x13
- new method get_dac_palette() for the graphics snapshot feature
- small code cleanup
2011-08-14 08:06:05 +00:00
Stanislav Shwartsman
2f7e73fda9 update CHANGES 2011-08-13 19:48:54 +00:00
Stanislav Shwartsman
43e2a59e3e configure show-ips ON by default for all configurations 2011-08-13 19:44:24 +00:00
Stanislav Shwartsman
35ec48d17d small fixes 2011-08-13 18:39:17 +00:00
Volker Ruppert
f9918d6317 - cleanups in X11 dialog code (control text and selection rectangle handling) 2011-08-12 21:50:32 +00:00
Stanislav Shwartsman
290d3bf6ad typofix 2011-08-12 18:09:24 +00:00
Stanislav Shwartsman
8962cfddde re-definition of x86-64 support, 1st step towards x86-64 enable/disable through .bochsrc 2011-08-12 18:04:56 +00:00
Volker Ruppert
c627270a86 - rewrite of the X11 dialog box code (implemented new class x11_dialog_c that handles the event loop) 2011-08-12 15:02:39 +00:00
Stanislav Shwartsman
7af5dccdcf fixed compilation issue 2011-08-11 19:45:21 +00:00
Stanislav Shwartsman
e4513c727a simplify some bochs internal dbg stuff 2011-08-11 19:40:51 +00:00
Stanislav Shwartsman
9d2e601173 correctly handle SSE presence in GUI debugger 2011-08-11 18:43:13 +00:00
Stanislav Shwartsman
d0344a1b84 added Id Revision to new files 2011-08-11 18:17:45 +00:00
Stanislav Shwartsman
27df10acb6 fixed typo-like bug 2011-08-11 18:16:56 +00:00
Stanislav Shwartsman
6344c6a719 Added P2 Klamath CPUID + some code reorg again 2011-08-11 18:06:09 +00:00
Stanislav Shwartsman
5ea65d1753 fix for disasm 2011-08-10 22:11:12 +00:00
Stanislav Shwartsman
f15bc6cf75 support for NX outside of x86-64.
required for Intel Yonah processor which is another interesting CPUID to be added
also found Via C7 CPUID, looking for the way to add it too
2011-08-10 22:04:33 +00:00
Stanislav Shwartsman
1b27438146 cleanups + small code reorg 2011-08-10 20:31:29 +00:00
Volker Ruppert
9416eaccc2 - added error handling for the case malloc() fails 2011-08-10 07:12:32 +00:00
Stanislav Shwartsman
360481b391 infastructure for RDMSR/WRMSR control for cpuid class
now the order is going to be:

1. MSRs emulated in Bochs (msr.cc)
2. MSRs emulated in model specific derivative class of cpuid_t
3. MSR can be loaded from msrs.def file
4. MSR is not found. We can fault or ignore based on ignore_bad_msrs option
2011-08-09 22:11:56 +00:00
Stanislav Shwartsman
0171324877 small favor to VMX OFF for code that compiled with VMX ON
avoid function call when not in vmx guest.
2011-08-09 20:50:51 +00:00
Stanislav Shwartsman
17a94fc58e warning fixes 2011-08-09 18:00:19 +00:00
Volker Ruppert
d2b0146a7e - changed BX_ERROR to BX_PANIC for the case a host directory does not fit on the virtual disk
- stop reading host directory in case of an error (finally causes a BX_PANIC)
2011-08-09 16:52:18 +00:00
Volker Ruppert
4743f2a503 - started rewrite of the X11 dialog implementation
- added a class for control elements with a proper init (fixes warnings)
  - TODO: add a class for the dialog itself
2011-08-09 14:28:25 +00:00
Volker Ruppert
9669929cbb - several fixes related to the graphics snapshot feature
- fixed size entries in bitmap file header for 8 bpp
  - bx_param_filename_c now uses the file extension from the initial value as
    the default (if present)
  - SIM->ask_filename() now uses the correct parameter type
  - win32paramdlg AskFilename(): added filter for BMP files
2011-08-09 09:56:00 +00:00
Stanislav Shwartsman
c6c94a79da dos2unix for generic_cpuid.cc
fixed xsave leaf CPUID (again)
added one more CPUID configuration: Intel Mobile Core 2 Duo T9600
2011-08-08 18:20:29 +00:00
Volker Ruppert
f151aabe5f - added support for snapshot from EGA/VGA standard memory layout (saved as 8 bpp BMP)
- added new method get_vga_pixel() that read the color value from EGA/VGA memory layout (moved from
  display update code and now also used for snapshots)
- minor code cleanups
2011-08-08 07:52:25 +00:00
Stanislav Shwartsman
4476dea8f8 remove redundant code 2011-08-08 05:47:49 +00:00
Volker Ruppert
bce6a17b98 - VBE specific case for graphics snapshot can be used for >= 8 bpp modes only
- palette data for snapshot is now dword aligned to simplify code
- prepared snapshot code to support 4 bpp EGA/VGA memory layout (not yet complete)
2011-08-06 13:08:31 +00:00
Volker Ruppert
c7f63fca93 - added palette for 8 bpp support
(TODO: support for standard VGA 4 bit mode - saving as 8 bpp BMP)
2011-08-05 15:47:33 +00:00
Stanislav Shwartsman
20becdfbe7 fix compilation errors 2011-08-05 07:22:43 +00:00
Stanislav Shwartsman
2ee0029749 extract ffxsr support to separate CPU feature 2011-08-04 19:02:49 +00:00
Stanislav Shwartsman
b6e37b818d small changes 2011-08-04 17:35:08 +00:00
Stanislav Shwartsman
1068b4bd8c cleanup 2011-08-03 21:46:46 +00:00
Stanislav Shwartsman
5ffb201184 fixed CPU leaf 0xD 2011-08-03 21:23:08 +00:00
Stanislav Shwartsman
1adda7bf64 Fixed MWAIT leaf CPUID - required for Fedora15 startup 2011-08-03 20:29:24 +00:00
Stanislav Shwartsman
5451be2676 remove duplicated code 2011-08-03 18:09:07 +00:00
Stanislav Shwartsman
9162c0dc2a dos2unix 2011-08-03 17:50:23 +00:00
Stanislav Shwartsman
075db389a9 added atom n270 cpuid + small fixes 2011-08-03 17:49:49 +00:00
Volker Ruppert
b889e91898 - implemented graphics snapshot for 15, 16 and 32 bpp modes (using 24 bpp BMP format)
- TODO: add palette to support 8 bpp modes
2011-08-03 16:35:04 +00:00
Volker Ruppert
08e80d55e0 - implemented graphics snapshot in BMP format for 24 bpp modes
- TODO: color conversion for 15/16 and 32 bit modes, palette for 8 bpp modes
2011-08-02 20:08:34 +00:00
Stanislav Shwartsman
9d1538f0c9 update docs about moving of cpuid_limit_winnt option 2011-08-02 20:01:56 +00:00
Stanislav Shwartsman
fb405ad39a Compile in MONITOR/MWAIT support by default for all cpu-level=6 configurations. 2011-08-02 19:52:24 +00:00
Stanislav Shwartsman
539c740f10 cpuid_limit_winnt moved back to CPU option in .bochsrc 2011-08-02 16:25:25 +00:00
Volker Ruppert
828b52fc50 - prepared graphics snapshot feature for VBE and Cirrus modes (TODO: save data in BMP format) 2011-08-01 18:21:25 +00:00
Stanislav Shwartsman
b9a44a9dbf added const to all cpudb methods 2011-08-01 18:10:48 +00:00
Stanislav Shwartsman
77f025b9b0 cleanup and rename old doc abou cosimulation 2011-08-01 07:50:31 +00:00
Stanislav Shwartsman
ea7d5e74ee fixed cpuid_limit_winnt mode 2011-07-31 21:02:04 +00:00
Stanislav Shwartsman
e958df1333 report 3dnow for amd cpudb machine 2011-07-31 20:19:09 +00:00
Stanislav Shwartsman
bccf330665 typo fix 2011-07-31 20:11:04 +00:00
Stanislav Shwartsman
d84dbcd02b fixed *x86 ISA extensions that enable this instruction* in ia_opcodes.h 2011-07-31 20:09:04 +00:00
Stanislav Shwartsman
29f0e93025 spelling 2011-07-31 20:07:43 +00:00
Stanislav Shwartsman
04635ca88b small fixes 2011-07-31 19:00:56 +00:00
Stanislav Shwartsman
1d89709e62 Added another CPU to CPUDB: p4_willamette (one more without x86-64 support).
Reimplemented CPUDB using pure C macros magic.
Fixed compilation errors when compiling with SMP on.
2011-07-31 18:43:46 +00:00
Volker Ruppert
bbb1586616 - added display library option to detect and turn off host keyboard repeat (X11 key repeat detection
grabbed from SDL 1.2)
- TODO: implement this feature in other display libraries and add a key repeat generator in the
  keyboard code that uses the typematic values from the guest.
2011-07-31 15:46:37 +00:00
Stanislav Shwartsman
6e6db04b8f Fixed compilation errors, dos2unix, added missed p3_katmai.txt 2011-07-31 14:56:45 +00:00
Volker Ruppert
c35e385139 - removed 'text_snapshot_check' feature and related BX_PASS loglevel
- documentation updates
2011-07-31 14:38:03 +00:00
Stanislav Shwartsman
5e291e0860 Added Athlon64 Clawhammer CPUID to CPUDB 2011-07-30 21:28:16 +00:00
Volker Ruppert
488dd8a2a9 - added support for larger label text. The horizontal position of the controls for a parameter list
is now adjusted depending on the largest label text.
2011-07-30 17:32:40 +00:00
Stanislav Shwartsman
fefa4d5e5b added PIII Katmai to CPUDB 2011-07-30 14:30:35 +00:00
Stanislav Shwartsman
7a157cf88d fixed vmexit for xsetbv and getsec 2011-07-30 13:21:31 +00:00
Stanislav Shwartsman
6aaf9297f8 ability to turn off rdtscp 2011-07-30 09:35:20 +00:00
Stanislav Shwartsman
e48765a511 VMX fixed, cleanups 2011-07-29 20:22:35 +00:00
Stanislav Shwartsman
37d8523ab4 fixed compilation with VMX=1 2011-07-29 18:41:17 +00:00
Stanislav Shwartsman
62ad2a0d06 update CHANGES 2011-07-29 15:55:17 +00:00
Stanislav Shwartsman
4ac67ec386 compilation when cu_level < 4 2011-07-29 15:24:32 +00:00
Stanislav Shwartsman
919fbd95da fixed CPUID after correlation with real HW CPUZ output 2011-07-29 15:18:39 +00:00
Stanislav Shwartsman
1a051f9f00 Added several predefined CPUs that can be selected from .bochsrc using new CPU::MODEL option.
Selecting CPU MODEL from .bochsrc automatically chooses real HW CPUID and also configures Bochs emulator to emulate this specific CPU including all its features only.
Supported CPUs to choose from:
	core2_extreme_x9770
	corei7_sandy_bridge_2600K
	p4_prescott_celeron_336
2011-07-29 15:03:54 +00:00
Stanislav Shwartsman
955f889925 change bx_info to bx_dbg 2011-07-29 08:16:28 +00:00
Stanislav Shwartsman
74fc3da79d conditional compile for generic cpuid 2011-07-28 19:20:16 +00:00
Stanislav Shwartsman
5da595e603 fixed OSXSAVE CPUID reporting 2011-07-28 16:38:22 +00:00
Stanislav Shwartsman
6ef7675d03 added new file 2011-07-28 16:21:18 +00:00
Stanislav Shwartsman
6ad0f5ddb2 regenerate dep for CPU 2011-07-28 16:19:30 +00:00
Stanislav Shwartsman
78327d3e5e First step toward completely configurable CPU.
Change CPUID to generic interface which could be chosen from .bochsrc.
Bochs CPU emulation will enable/disable features (like instruction sets) according to CPUID that is selected.
TODO: Add database of CPUID from real hardware CPUs
2011-07-28 16:17:42 +00:00
Stanislav Shwartsman
81f6a283e2 trim cpuid info from save/restore tree 2011-07-27 14:16:51 +00:00
Volker Ruppert
eb0c06f357 - added new parameter 'update_freq' for the 'vga' option that should replace the
'vga_update_interval' option. The screen update frequency is still based on
  the emulated clock unless the realtime sync is enabled with the 'clock' option.
  TODO: rewrite the virt_timer code to support realtime screen updates
  independent from 'clock' setting.
- fixed changing parameter 'update_freq' at runtime (timer object and blink counter)
2011-07-26 22:16:24 +00:00
Stanislav Shwartsman
84636ca141 update fixed bugs in CHANGES 2011-07-24 19:36:19 +00:00
Volker Ruppert
7dc9a93de5 - removed unused directory that contained the dynamic translation code before Bochs became open source 2011-07-24 14:23:31 +00:00
Volker Ruppert
c8d2f60225 - added runtime config handler for the ATAPI cdrom code. Now the media change is handled after both
parameters (path + status) have been set. TODO: implement this feature for the floppy, too.
- call update_drive_status_buttons() from update_runtime_options() to reduce the number of calls.
  Now call update_runtime_options() from the gui floppy / cdrom handlers after closing dialog.
2011-07-24 14:11:10 +00:00
Stanislav Shwartsman
c1b278f36e regen configure script 2011-07-23 19:59:24 +00:00
Stanislav Shwartsman
f8e4e7f16b clean up/fixed instrumentation examples + removed old 2-years old configure options check (deprecated) 2011-07-23 19:58:38 +00:00
Stanislav Shwartsman
5cadbdfeca small fixes for RFB GUI 2011-07-22 20:42:40 +00:00
Stanislav Shwartsman
d11114ac19 Patch for emulating target with larger memory than host has available by Gary Cameron.
The patch was posted in mailing list at Thu 6/16/2011.

Desription for CHANGES:

- Memory
  - Added new configure option which enables RAM file backing for large guest
    memory with a smaller amount host memory, without causing a panic when
    host memory is exhausted (patch by Gary Cameron). To enable configure with
        --enable-large-ramfile option.
2011-07-22 17:46:06 +00:00
Stanislav Shwartsman
1e2c7de064 register state for pause-loop exiting 2011-07-22 09:28:31 +00:00
Stanislav Shwartsman
9c3a4b8dab impemented pause-loop exiting VMX2 control 2011-07-22 09:19:35 +00:00
Stanislav Shwartsman
d1780b66de typofix 2011-07-21 21:34:56 +00:00
Stanislav Shwartsman
b4118fcbfe correct natural width VMX field read/write len 2011-07-21 20:58:54 +00:00
Stanislav Shwartsman
a69eeb13f3 move cpuid defs to cpuid.h 2011-07-19 21:14:07 +00:00
Stanislav Shwartsman
cac3c836fa fixed typo 2011-07-18 21:47:14 +00:00
Stanislav Shwartsman
cddd1e3758 MONITOR/MWAIT: Do monitor on cache line granularity only + bugfix with possible TLB caching of monitored line 2011-07-18 21:44:22 +00:00
Stanislav Shwartsman
f81e47cca2 it is better to handle A20 in paging already 2011-07-18 20:22:59 +00:00
Stanislav Shwartsman
6e993adec7 small cleanup 2011-07-17 19:28:27 +00:00
Stanislav Shwartsman
1b9fd6a18b fixed format of cpuid param in .bochsrc generated by Bochs 2011-07-17 18:14:29 +00:00
Volker Ruppert
5014eed268 - link lowlevel cdrom support with the hdimage plugin instead of harddrv and usb_common. This fixes
duplicate log prefixes on Windows if both IDE and USB cdroms are used in plugin mode. Windows also
  requires the cdrom base class and the init_cdrom() method to link and work correctly.
2011-07-17 17:23:12 +00:00
Volker Ruppert
b44d756943 - removed outdated set of files to be used for creating a Debian package. No active Bochs developer
is able to create such a package and Debian-based distributions are not using the files.
2011-07-14 17:10:46 +00:00
Stanislav Shwartsman
bf8dc9df43 update timestamps immediately 2011-07-12 19:14:08 +00:00
Volker Ruppert
e21e968b09 - added two alternative X keysyms used for shift key releases 2011-07-12 18:58:10 +00:00
Stanislav Shwartsman
1bb3e86457 remove plex86 tree from Bochs sources
the plex86 interface was not updated since 2001 and even doesn't compile together with current Bochs sources.
plex86 source code still can be found in plex86 sourceforge project @ http://plex86.sourceforge.net/
2011-07-12 17:23:23 +00:00
Volker Ruppert
1dc9d7880b - use new 'pci' keyword when saving configuration 2011-07-12 15:29:04 +00:00
Stanislav Shwartsman
78cd8cbace regen configure script 2011-07-11 17:46:05 +00:00
Stanislav Shwartsman
e6987d553c unregister BeOs plugin 2011-07-11 17:44:46 +00:00
Volker Ruppert
345d67c403 - removed BeOS support from sources and documentation 2011-07-11 17:36:10 +00:00
Stanislav Shwartsman
041605f718 fixed corner case issue with SMP 2011-07-11 17:29:54 +00:00
Volker Ruppert
901b02eb0d - part #1 of BeOS support removal: patches and shortcut script 2011-07-11 16:51:38 +00:00
Stanislav Shwartsman
a6853a8b75 removed not implemented g2h device 2011-07-10 21:25:12 +00:00
Volker Ruppert
20ae4af54c - removed 'arpback' networking module (ARP simulation still exists in the 'vnet' module) 2011-07-10 20:56:54 +00:00
Volker Ruppert
988b6e4ac5 - don't include wxWidgets headers in dependencies (fixed comments)
- regenerated dependencies without removing wx stuff manually
2011-07-10 16:58:49 +00:00
Volker Ruppert
a08af64850 - added new bochsrc option 'pci' that should replace 'i440fxsupport' 2011-07-10 15:40:19 +00:00
Volker Ruppert
0b12794ef5 - moved vga font to gui/font 2011-07-10 14:00:58 +00:00
Volker Ruppert
7168212bbe - removed obsolete file 2011-07-10 13:56:30 +00:00
Volker Ruppert
bdbe2cfb03 - added more values in register_state() (not yet complete)
- don't add reserved bitfields to the save/restore tree
- some fixes for big endian machines
- TODO: init max_packet_size in USB devices, find test case, ...
2011-07-10 09:30:04 +00:00
Stanislav Shwartsman
28a58f4ea5 fix rdtscp code 2011-07-09 22:28:08 +00:00
Stanislav Shwartsman
432bf97197 was playing with SMP and debugger 2011-07-09 22:17:16 +00:00
Stanislav Shwartsman
c00c404d4f removed completely obsolete patch 2011-07-09 20:27:33 +00:00
Stanislav Shwartsman
92c4bd6f2b forgot to merge file 2011-07-08 14:07:45 +00:00
Volker Ruppert
72f73e7d8d - the stubs for the PCI core must be always present (fixes bug reported in SF forum) 2011-07-08 12:13:41 +00:00
Stanislav Shwartsman
642bdcfb0a minimize instrumentation callback interface.
removed bx_instr_new_instruction callback, the callback ALWAYS can be replaced with another one - bx_instr_before_execution
TODO: fix instrumentation examples (example0 and example1)
2011-07-07 22:17:23 +00:00
Volker Ruppert
39086133b4 - regenerated after adding USB xHCI configure option 2011-07-06 21:09:47 +00:00
Volker Ruppert
3f3feef718 - more work on USB xHCI support
- added main source file usb_xhci.cc
  - TODO: finsh work in register_state()
  - TODO: USB devices: initialize max_packet_size
  - TODO: test case for xHCI wanted
2011-07-06 21:07:34 +00:00
Stanislav Shwartsman
002c86660a reword all the CPU code in preparation for future CPU speedup implementation.
Bochs emulation can be another 10-15% faster using technique described in paper
"Fast Microcode Interpretation with Transactional Commit/Abort"
http://amas-bt.cs.virginia.edu/2011proceedings/amasbt2011-p3.pdf
2011-07-06 20:01:18 +00:00
Volker Ruppert
6dd13e1f12 - some more work for USB xHCI support
- added new configure option (don't use it yet)
  - added header file usb_xhci.h
  - TODO: add main source file (update in progress)
2011-07-05 18:31:15 +00:00
Volker Ruppert
c2d0c207f7 - preparing Bochs for experimental USB xHCI support (written by Ben Lunt) TODO list:
- add sources (update in progress)
  - update configure script
  - initialize new USB devices member 'max_packet_size' (need help from Ben)
2011-07-04 19:42:47 +00:00
Volker Ruppert
ec2f54a65e - changes updated 2011-07-03 19:37:59 +00:00
Stanislav Shwartsman
82a2ab6325 removed wrongly committed file 2011-07-03 16:05:41 +00:00
Stanislav Shwartsman
909e750549 Implemented VMX preemption timer VMEXIT control (patch by Jianan Hao) 2011-07-03 15:59:48 +00:00
Volker Ruppert
4699840aaf - reorganisation of the vga init code:
- using the same init() method for all display adapters
  - new method protected init_standard_vga() for the shared vga core
  - new method init_vga_extension() implements the extended features
- moved loading of vgabios image for the ISA case from main.cc to the vga init code
2011-07-03 15:31:16 +00:00
Volker Ruppert
5a1cd21ca9 - added PCI ROM support to the Bochs BIOS (works with both pcivga and cirrus)
- scan for VGABIOS ROM after rombios32 init
  - copy PCI ROM to shadow RAM at 0xc0000 and enable it
  - NOTE: this feature does not work with BIOS-bochs-legacy, so we should recommend to use the
    default BIOS for PCI display adapters
  - TODO: load VGABIOS ROM from the vga code instead of main.cc if PCI is disabled
2011-07-03 08:12:48 +00:00
Volker Ruppert
4ce12047a9 - added PCI ROM support to the Bochs BIOS (works with both pcivga and cirrus)
- scan for VGABIOS ROM after rombios32 init
  - copy PCI ROM to shadow RAM at 0xc0000 and enable it
  - NOTE: this feature does not work with BIOS-bochs-legacy, so we should recommend to use the
    default BIOS for PCI display adapters
  - TODO: load VGABIOS ROM from the vga code instead of main.cc if PCI is disabled
2011-07-03 08:10:16 +00:00
Stanislav Shwartsman
f57b14d338 Extended the interface of the fetch handler to general direct memory access handler.
Now the handler receives 'rw' (BX_READ, BX_WRTE, BX_EXECUTE) access type as parameter.
If returning a pointer to <addr> - itr is assumed that whole 4K page containing the <addr> could be accessed using the same pointer with offset.
You can return a pointer for READ/WRITE only and disallow execute, this is handled properly in the CPU code.
2011-06-30 18:07:14 +00:00
Stanislav Shwartsman
84214f7119 added comment 2011-06-29 19:53:45 +00:00
Stanislav Shwartsman
03879cf90d added infrastructure for prefetch support in the memory handlers 2011-06-29 19:48:46 +00:00
Stanislav Shwartsman
2c168b2855 bugfix 2011-06-28 18:53:20 +00:00
Stanislav Shwartsman
90c4a74362 typo fix 2011-06-28 16:29:11 +00:00
Stanislav Shwartsman
08ba847ce4 fix bug inserted with prev commit + cleanup 2011-06-28 16:04:40 +00:00
Stanislav Shwartsman
f765b9fc58 cleanup 2011-06-27 19:48:13 +00:00
Volker Ruppert
9c1b043abb - use a dynamicly allocated buffer for the PCI ROM instead of a static one
- set maximum PCI ROM size to 128k
2011-06-27 19:46:13 +00:00
Stanislav Shwartsman
f7c6bd1134 clean code dupication 2011-06-27 19:27:49 +00:00
Volker Ruppert
0eb8f11b45 - updated LGPL'd VGABIOS to current CVS (added PCI ROM support for the VBE-specific images) 2011-06-27 19:11:23 +00:00
Stanislav Shwartsman
a1a140682c cleanup 2011-06-26 20:22:04 +00:00
Stanislav Shwartsman
68f96846fe no need to define 3b opcodes on < 80x686 2011-06-26 19:39:48 +00:00
Volker Ruppert
1bcac13fcb - PCI ROM support added to the cirrus device (SeaBIOS now usable in Bochs with cirrus setup) 2011-06-26 19:32:16 +00:00
Stanislav Shwartsman
87953711b1 cleanup in mmx code 2011-06-26 19:31:42 +00:00
Stanislav Shwartsman
2f582db722 compile less stuff for cpu-level=5 2011-06-26 19:15:30 +00:00
Volker Ruppert
deef94eb12 - added PCI ROM support to bx_pci_device_stub_c and use it in the pcivga device (based on a patch by
Sebastian Herbszt). TODO list:
  - modify LGPL'd VGABIOS to make it work with SeaBIOS
  - modify Bochs BIOS to set up the legacy address 0xc0000
  - implement PCI ROM support in the cirrus device
  - move load_ROM calls to the display adapter code to handle the ISA case
2011-06-26 17:42:07 +00:00
Stanislav Shwartsman
5ef9f8acf8 cleanup 2011-06-26 17:25:25 +00:00
Volker Ruppert
16bd4c6401 - added pci_base_address array to bx_pci_device_stub_c and use it in most of the PCI devices instead
of several base address variables (ne2k still uses base_address for both ISA and PCI)
2011-06-25 12:43:27 +00:00
Stanislav Shwartsman
beafa7c88b improved x86 hw code bp handling 2011-06-24 13:38:34 +00:00
Stanislav Shwartsman
7e57d95364 Fix wrong address translation in debugger 2011-06-24 13:05:36 +00:00
Volker Ruppert
598b15f080 - the pcivga device can now be used even if Boche VBE support is disabled (VBE framebuffer BAR is
not available in that case)
2011-06-23 21:03:39 +00:00
Volker Ruppert
fce2386f99 - set log prefix depending on the selected vga extension (new prefix "BXVGA" for Bochs VBE support) 2011-06-23 17:02:48 +00:00
Volker Ruppert
2137c8bd81 - moved pci_conf array as a protected member to the PCI device stub class (exists in all PCI devices) 2011-06-23 15:56:02 +00:00
Volker Ruppert
e8e0f4a11e - added workspace package for MSVC plugin support. It required to configure
with --enable-plugins in addition to the default MSVC setup.
2011-06-23 06:32:15 +00:00
Volker Ruppert
f2dbd07569 - define variable MSVC_TARGET that can be used to skip useless tests of the
environment. As a first step use it to skip some networking module tests.
- link BOCHS.EXE with MSVCRT if MSVC plugin support is enabled (building DLL
  plugins with nmake still not possible - VS2008Ex workspace package coming soon)
- updated some messages for NE2000, PCI and USB
2011-06-22 21:53:16 +00:00
Volker Ruppert
64cb427843 - define variable MSVC_TARGET that can be used to skip useless tests of the
environment. As a first step use it to skip some networking module tests.
- link BOCHS.EXE with MSVCRT if MSVC plugin support is enabled (building DLL
  plugins with nmake still not possible - VS2008Ex workspace package coming soon)
- updated some messages for NE2000, PCI and USB
2011-06-22 21:52:35 +00:00
Stanislav Shwartsman
c45720f31a update CHANGES 2011-06-22 16:16:12 +00:00
Volker Ruppert
e88cda9fc0 - fixed compilation error if PCI is enabled without lowlevel cdrom support
(SF bug #3294671)
- related fixes in the USB MSD / SCSI device code
2011-06-21 19:54:37 +00:00
Stanislav Shwartsman
94958f39de BUILTIN BSWAP is not supported for MSVC 2011-06-21 17:12:57 +00:00
Stanislav Shwartsman
070a803a99 Ctrl-Break support for the Win32 gui 2011-06-21 17:10:40 +00:00
Stanislav Shwartsman
9fd1f187bb update ips guide in .bochsrc 2011-06-19 19:59:12 +00:00
Stanislav Shwartsman
93360601f8 Print debug value before modifying it 2011-06-19 15:31:51 +00:00
Volker Ruppert
48e8df25ff - fixed some MSVC warnings 2011-06-19 05:37:30 +00:00
Volker Ruppert
9f216cb912 - added es1370.* files to 'iodev' project
- specify one build logfile per project to avoid overwriting
2011-06-18 13:23:23 +00:00
Stanislav Shwartsman
84647d127b Fixed incorrect typecast in acpi.cc
This bug prevented boot of WinXP and Win7 64 images!
2011-06-18 09:54:43 +00:00
Volker Ruppert
e4fe7f0c8f - add some symbols required by MSVC for device plugins 2011-06-15 21:55:48 +00:00
Volker Ruppert
4bc70c8f4d - first step for DLL plugin support with MSVC. Now the BOCHS.EXE with plugin
support compiles and links fine and the main object files for the plugin DLLs
  are created. Since the gui and iodev makefiles are not ready yet, the link
  stage must be done manually. Support for the search path defined in
  LTDL_LIBRARY_PATH should be added when the DLL plugins compile and work.
2011-06-15 17:25:19 +00:00
Volker Ruppert
6a42228075 - first step for DLL plugin support with MSVC. Now the BOCHS.EXE with plugin
support compiles and links fine and the main object files for the plugin DLLs
  are created. Since the gui and iodev makefiles are not ready yet, the link
  stage must be done manually. Support for the search path defined in
  LTDL_LIBRARY_PATH should be added when the DLL plugins compile and work.
2011-06-15 17:24:32 +00:00
Stanislav Shwartsman
48f5c3b794 merged patch: Ctrl-Break support for the X11 gui by Nikolay Nikolov 2011-06-15 15:35:22 +00:00
Stanislav Shwartsman
a6b1bc6f89 Update development docbook.
Sebastian
2011-06-15 15:29:24 +00:00
Stanislav Shwartsman
31be835056 bugfix + rename function 2011-06-14 19:56:28 +00:00
Volker Ruppert
d03db7f940 - several changes related to cdrom runtime configuration
* moved runtime handlers for cdrom from config.cc to the device object
  * cd media status variable is now always of type bx_bool
  * changed obsolete gui names like "cdromD" to "cdrom1"
  * TODO: implement new runtime config mechanism similar to USB
2011-06-13 09:32:39 +00:00
Stanislav Shwartsman
6549afaf76 improve .conf.everything 2011-06-12 20:35:07 +00:00
Stanislav Shwartsman
1414e0bd6e Report memory above 4GB to BIOS (patch by Sebastian Herbszt) 2011-06-12 20:27:36 +00:00
Stanislav Shwartsman
31914e4a26 fixed compilation with avx off 2011-06-11 20:12:15 +00:00
Volker Ruppert
cb8faeee52 - implemented new mechanism to update device config parameters that depend on
each other. Devices can register a handler to update it's state after runtime
  configuration. The new method update_runtime_options() executes all registered
  device handlers before the simulation continues.
- USB host controllers now using the new mechanism to handle the runtime device
  change (replaces the previous timer-based implementation). TODO: floppy and
  cdrom could use this feature, too)
- improved USB device change messages
2011-06-11 19:38:52 +00:00
Stanislav Shwartsman
778154b3b2 one more fix 2011-06-11 18:27:37 +00:00
Stanislav Shwartsman
ef38c9e235 fix decode for VCVTPH2PS 2011-06-11 18:26:05 +00:00
Stanislav Shwartsman
8e8f46a92b bswap16 is not checked by configure 2011-06-11 13:26:02 +00:00
Stanislav Shwartsman
307e5b7db5 added softfloat16.cc 2011-06-11 13:16:53 +00:00
Stanislav Shwartsman
79b1252552 fix cpuid param list # 2011-06-11 13:13:58 +00:00
Stanislav Shwartsman
8399dee24c implemented AVX float16 convert instructions 2011-06-11 13:12:32 +00:00
Stanislav Shwartsman
d7f19bcfd4 optimize sse DAZ feature + optimization for AVX OFF 2011-06-11 12:22:54 +00:00
Stanislav Shwartsman
3f075d1ddf disasm for invpcid 2011-06-10 12:49:52 +00:00
Stanislav Shwartsman
77e15511be AVX2 and BMI instructions were published on http://software.intel.com/en-us/avx 2011-06-10 08:46:10 +00:00
Stanislav Shwartsman
fecda2ce16 Limit extended_memory_in_64k to 3 GB - 16 MB. PCI Memory Address Space starts at 3 GB.
Sebastian
2011-06-10 06:38:11 +00:00
Volker Ruppert
1e95ccec7c - unified usb port parameter parsing and saving to support a variable number of ports 2011-06-09 21:02:51 +00:00
Stanislav Shwartsman
126a6ed971 fix some compilation errors with cygwin gcc4 2011-06-07 18:13:00 +00:00
Volker Ruppert
f2f4099bc1 - small cleanups in the pit_wrap and virt_timer code
- TODO: rewrite virtual timer code to support both timer types at the same time
2011-06-04 06:40:04 +00:00
Stanislav Shwartsman
acf2175d6d paging small change 2011-06-03 20:50:55 +00:00
Stanislav Shwartsman
b14d962763 remove redundant flag 2011-06-01 20:44:40 +00:00
Stanislav Shwartsman
d5da9c83ea fixed typo 2011-06-01 20:34:29 +00:00
Stanislav Shwartsman
29e3f6e762 remove trace cache disabled mode from the code. next step going to be - introducing new optimization features based on trace cache 2011-06-01 20:34:04 +00:00
Stanislav Shwartsman
c262a1b442 disasm fix for AVX 2011-05-30 20:32:59 +00:00
Stanislav Shwartsman
04e9254e2c AMD released new Vol4: 128 and 256 bit vector instructions, dropped SSE4A 2011-05-30 20:15:50 +00:00
Stanislav Shwartsman
1ba77b9f10 fixed defined but not used warnings 2011-05-29 20:42:47 +00:00
Stanislav Shwartsman
0de8b08f24 fixed too few arguments for format warning 2011-05-29 20:09:31 +00:00
Stanislav Shwartsman
5748c6b9f5 first fix for SMEP 2011-05-29 18:08:37 +00:00