Stanislav Shwartsman
5a350143a5
bug fixes
2011-09-06 13:09:45 +00:00
Volker Ruppert
9483414f84
- fixed 256-color mode screen update handling. Now the dword, word and byte modes
...
are correctly handled.
- related fixes in the graphics snapshot code
2011-09-05 18:39:02 +00:00
Stanislav Shwartsman
c67338203c
small fixups, code cleanup and reorganization
2011-09-05 17:14:49 +00:00
Stanislav Shwartsman
41f9b25777
fixed avx2 gather instructions
2011-09-04 19:50:18 +00:00
Stanislav Shwartsman
c0f5919787
small optimization
2011-09-03 15:36:40 +00:00
Stanislav Shwartsman
8099fd9efd
implemented alternative access to CR8: AMD feature. Lock CR0 -> CR8
2011-09-03 15:22:56 +00:00
Stanislav Shwartsman
c85da98ce5
fixed cpu:avx option crash. fixed handlers-chaining configure option name
2011-09-01 13:59:35 +00:00
Stanislav Shwartsman
cf56ffb6e0
BSF/BSR should stay, only F3 prefix change opcode
2011-08-31 21:13:50 +00:00
Stanislav Shwartsman
9d18af1207
fixed compilation for AVX OFF
2011-08-31 20:52:53 +00:00
Stanislav Shwartsman
1f5e036695
lzcnt/tzcnt bmi instructions implemented
2011-08-31 20:43:47 +00:00
Stanislav Shwartsman
e61da281c0
update cpu-configurable doc
2011-08-31 16:33:12 +00:00
Stanislav Shwartsman
d2f7351be2
cpu.h cleanup + update msdev workspaces cpudb projects
2011-08-30 22:22:07 +00:00
Stanislav Shwartsman
d893ddf5d1
added new entry to cpudb
2011-08-30 22:02:08 +00:00
Stanislav Shwartsman
dfd769a102
- Fixed compilation issue with cpu-level=5
...
- SYSCALL/SYSRET: SYSCALL/SYSRET instructions are not supported in legacy mode for Intel processors
- CPUID: CPUID.0x80000001.EDX[11] SYSCALL/SYSRET support should not be reported outside long64 mode if legacy mode SYSCALL/SYSRET is not supported
- Added new CPUDB entry - AMD K6-2 3D proc3essor (Chomper)
2011-08-30 22:00:27 +00:00
Stanislav Shwartsman
fb9da23f9b
syscall/sysret are not supported outside long64 mode in Intel CPUs
2011-08-30 21:32:40 +00:00
Stanislav Shwartsman
9693bacacb
syscall/sysret in legacy mode is supported in k6-2. preparing code to it ...
2011-08-30 20:41:00 +00:00
Stanislav Shwartsman
0f73ff39df
bug fix
2011-08-30 19:16:08 +00:00
Stanislav Shwartsman
c30275016e
avx2 added broadcast from register
2011-08-29 21:00:25 +00:00
Stanislav Shwartsman
1328861175
typo fix
2011-08-28 21:41:54 +00:00
Stanislav Shwartsman
1dc8f56f06
disasm for AVX2 gather
2011-08-28 21:38:53 +00:00
Stanislav Shwartsman
6bdfbeeffa
fixed for gather VSIB calculation
2011-08-28 20:14:53 +00:00
Stanislav Shwartsman
239c5a449d
added 'locked' information to bxInstruction_c for instrumentation and other future use
2011-08-27 20:09:18 +00:00
Stanislav Shwartsman
acfeed8e31
update msvcpp workspace with new files
2011-08-27 18:48:11 +00:00
Stanislav Shwartsman
67cbb2dac5
fixed typo
2011-08-27 14:29:11 +00:00
Stanislav Shwartsman
e907702b6e
warn if configure avx w/o x86-64
2011-08-27 13:55:40 +00:00
Stanislav Shwartsman
44241a1e56
- Added support for AVX and AVX2 instructions emulation, to enable configure
...
with --enable-avx option. When compiled in, AVX still has to be enabled
using .bochsrc CPUID option. AVX2 FMA instructions still not implemented.
- Added support for Bit Manipulation Instructions (BMI) emulation. The BMI
instructions support can be enabled using .bochsrc CPUID option.
2011-08-27 13:47:16 +00:00
Stanislav Shwartsman
0d15044913
fixed configure script bug
2011-08-26 19:08:37 +00:00
Stanislav Shwartsman
d841e82d87
MOVBE instruction exists only in memory form
2011-08-25 21:20:50 +00:00
Stanislav Shwartsman
b3898f4bec
small optimization for PALIGNR instruction
2011-08-25 19:29:33 +00:00
Stanislav Shwartsman
e796e6a96c
disasm avx2 new instructions (no gather yet)
2011-08-24 20:55:23 +00:00
Volker Ruppert
a1b9a8e190
- enable extended "read TOC" feature for Windows versions newer than XP (>= 5.1)
...
- TODO: move win32 specific cdrom stuff to a separate file
2011-08-24 10:48:05 +00:00
Stanislav Shwartsman
5dde2dc744
fixed typo
2011-08-23 21:56:35 +00:00
Stanislav Shwartsman
fa930961c2
small optimization
2011-08-23 21:25:34 +00:00
Stanislav Shwartsman
4fae848888
just rename variable
2011-08-23 20:27:52 +00:00
Volker Ruppert
aaf5d0a94d
- removed raw floppy access support for Win 95/98/ME hosts
2011-08-22 17:57:21 +00:00
Stanislav Shwartsman
638a834c4a
remove redundant code
2011-08-22 17:19:04 +00:00
Volker Ruppert
53c30f487b
- fixed a warning caused by wrong runtime library for the BOCHS.EXE components
2011-08-22 12:35:49 +00:00
Volker Ruppert
5e9b35994c
- removed Windows font support for the text mode (was disabled by default)
...
- TODO: implement optional stretching of the Bochs display to double size if
the desktop is big enough (e.g. HD display)
2011-08-22 10:25:29 +00:00
Volker Ruppert
0b670248ca
- added command line option '--help cpu' that shows the list of supported cpu
...
models (TODO: this could be done for devices, too)
2011-08-22 04:07:10 +00:00
Stanislav Shwartsman
002e7a3818
MSR_TSC_AUX is not available without RDTSCP
2011-08-21 19:09:35 +00:00
Stanislav Shwartsman
371dc200fc
Remove the 'trace' debug feature fro the main stream (which now runs with handlers chaining) and this way reduce each handler size.
...
Another 3% speedup on WinXP boot on top of handlers chaining + reduction of Bochs binary size by 45K.
2011-08-21 17:04:21 +00:00
Stanislav Shwartsman
a5e187189a
set max trace length back to 32
2011-08-21 16:44:02 +00:00
Stanislav Shwartsman
1e2e3c8b0e
forgot to merge file
2011-08-21 14:38:33 +00:00
Stanislav Shwartsman
13feb0772a
- 10% emulation speedup with handlers chaining optimization implemented. The
...
feature is enabled by default when configure with --enable-all-optimizations
option, to disable handlers chaining speedups configure with
--disable-handlers-chaining
2011-08-21 14:31:08 +00:00
Volker Ruppert
af1e3a6f80
- added cpudb project to workspace files
2011-08-20 23:10:41 +00:00
Stanislav Shwartsman
eba771bf39
remove '-cpu' command line option, it can be used using cpu:model command line so no extra option is needed
2011-08-20 18:59:25 +00:00
Stanislav Shwartsman
dd79431702
rename AVX handlers - match their real operands
2011-08-20 15:10:18 +00:00
Volker Ruppert
d5973c06cf
- added runtime config handler for the floppy. Now the media change is handled
...
after all parameters have been set.
2011-08-19 20:20:25 +00:00
Volker Ruppert
bfdbf589a0
- removed duplicate 'clean' for cpu/cpudb
...
- added missing 'dist-clean' for cpu/cpudb
2011-08-19 06:31:51 +00:00
Stanislav Shwartsman
3a575a036d
added make clean for libcpudb
2011-08-18 19:27:45 +00:00
Stanislav Shwartsman
542af0dcc1
forgot to add a file
2011-08-18 19:02:16 +00:00
Stanislav Shwartsman
b8b63ac6ea
compile CPUDB to separate library
...
reduce compile-time dependencies
2011-08-18 18:55:22 +00:00
Volker Ruppert
e607d6e070
- rewrite of the method init_module() similar to the netmod one
...
- lowlevel sound modules must always include their headers for correct
auto-generated dependencies
2011-08-18 07:05:09 +00:00
Stanislav Shwartsman
30b94b112b
regen Makefile.in dep
2011-08-18 05:44:54 +00:00
Volker Ruppert
4b4f691a80
- don't include plugin.h in bochs.h to reduce dependencies
2011-08-17 22:41:03 +00:00
Stanislav Shwartsman
367e8999d6
fixed leaf 0x7 report in cpuid
2011-08-17 21:33:55 +00:00
Stanislav Shwartsman
ed9b8478b5
undo RDTSC commit
2011-08-17 21:13:06 +00:00
Stanislav Shwartsman
165e6f0fdf
separate TSC to uniq feature that can be disabled in CPU configuration
2011-08-17 20:57:44 +00:00
Stanislav Shwartsman
4a3209ae31
Increase cpu param length (exceeded with new icount variable)
...
CHECK_MAX_INSTRUCTIONS is not needed for debugger anymore.
Next step: eliminate it for SMP as well and remove cpu_loop parameter.
2011-08-17 20:00:51 +00:00
Stanislav Shwartsman
b69f728246
Fixed internal debugger part of the bug:
...
#3312237 stepN command might be not working properly
The problem still can be exists for SMP.
2011-08-17 19:51:32 +00:00
Stanislav Shwartsman
3018b08f59
clarify error message for pcidev
2011-08-17 18:27:49 +00:00
Volker Ruppert
0d23553cae
- updated / added some project files for plugin DLLs
...
- split 'bx_netmod' from 'bx_ne2k'
- moved cdrom.cc to 'bx_hdimage'
- added missing project 'bx_pcivga'
- TODO: project 'cpu' not yet fixed (temporary fix for compilation test not applied)
2011-08-17 11:00:48 +00:00
Stanislav Shwartsman
86d042a46e
added AVX to msdev workspaces
2011-08-16 20:44:02 +00:00
Stanislav Shwartsman
60a33f24d5
added new bochs binary param to choose cpu to emulate
2011-08-16 20:30:01 +00:00
Stanislav Shwartsman
b0d7ffeb90
fixed compilation
2011-08-16 20:07:34 +00:00
Stanislav Shwartsman
9de4164d1f
remove double include
2011-08-16 20:07:08 +00:00
Stanislav Shwartsman
a03e0266fb
added yonah CPUID to cpudb. remove bxversion.h from dep files
2011-08-16 19:58:56 +00:00
Stanislav Shwartsman
0bc93fdc59
added pentium mmx to cpudb. for now only can be enabled when cpu-level=5
2011-08-16 19:04:36 +00:00
Stanislav Shwartsman
04456ca66a
update MSDEV workspaces
...
CPU/CPUDB files are not added into workspaces yet
2011-08-16 18:05:26 +00:00
Stanislav Shwartsman
01dbcff569
Support ctrl-alt-del for reboot by Sebastian
2011-08-16 17:54:44 +00:00
Volker Ruppert
a7690f873e
- regenerated configure script
2011-08-16 17:33:55 +00:00
Volker Ruppert
fd56ce2a5a
- forgot to add / remove files
2011-08-16 17:31:16 +00:00
Volker Ruppert
592c3399eb
- created separate plugin 'netmod' that contains the common networking code
...
and the supported ethernet modules
- renamed eth.* files to netmod.*
- pseudo-device plugin implementation similar to 'soundmod'
- TODO: move sound, net and usb stuff to a separate subdirectory of iodev
2011-08-16 17:27:27 +00:00
Stanislav Shwartsman
6606c62439
cr4 available since Pentium only
2011-08-16 16:49:04 +00:00
Stanislav Shwartsman
0c32889d24
added txt guide to configurable Bochs CPU model
2011-08-16 16:11:15 +00:00
Volker Ruppert
7bbfee58a2
- usually the realtime synchronization keeps the PIT-based system clock in sync
...
with the host time. After using a runtime config dialog or save and restore
simulation, this behaviour makes the PIT clock and the VGA update timer
running way too fast until it's back in sync. Now the elapsed time is stored
in the variable 'real_time_delay' and it is used to let the PIT clock run at
realtime speed, even if it is out of sync.
2011-08-15 10:37:41 +00:00
Volker Ruppert
83f0e388c5
- recompiled after latest changes
2011-08-15 06:25:51 +00:00
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