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
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