Stanislav Shwartsman
51cb5451d8
Apply CPUID vendor/brand string from @SF
2008-08-19 16:43:07 +00:00
Stanislav Shwartsman
a8adb36dc2
Implemented MOVBE Intel Atom(R) instruction
2008-08-11 18:53:24 +00:00
Stanislav Shwartsman
e19c25a234
Reimplemented watchpoints handling. Up to 16 watchpoints of any kind (but not each kind) is available.
...
Check 'help watch, help unwatch' in Bochs debugger !
2008-08-07 21:09:30 +00:00
Volker Ruppert
e3559d9994
- implemented MIDI output to ALSA sequencer (TODO: handle SYSEX messages)
...
- renamed ALSA pcm-related variables
- documentation updates
2008-07-19 12:01:54 +00:00
Volker Ruppert
50ea5f5073
- added limited ALSA sound support on Linux (PCM output only)
...
* ALSA PCM support added in soundlnx.cc (OSS will be used if no ALSA present)
* minor code cleanups and documentation updates
2008-07-12 15:21:36 +00:00
Stanislav Shwartsman
d19dd8cf74
Added BX_ASSERT_ENABLE configure option to control BX_ASSERT code @configure time.
...
By default BX_ASSERT will be disabled 'cause it affects emulation performance
It will be ON by default when BX_DEBUGGER compiled in
2008-06-12 21:02:54 +00:00
Stanislav Shwartsman
7494b8823b
- Support of AES CPU extensions, to enable configure with
...
--enable-aes option
2008-05-30 20:35:08 +00:00
Stanislav Shwartsman
3fd4a09bbc
preparations for future 64-bit physical address support
2008-05-10 20:39:53 +00:00
Stanislav Shwartsman
e23896e3cf
Forgot to merge CDECL definition
2008-04-09 16:33:38 +00:00
Stanislav Shwartsman
90f1973bef
Removed BX_USE_TLB - TLB is always used, only Guest2HostTLB is optional feature
...
Use Guest2HostTLB in prefetch code for IFETCHES - speedup above 3%
2008-04-05 20:41:00 +00:00
Stanislav Shwartsman
8c24dfc01b
MSVC6 compilation changes
...
More effort to remove can_pop function calls - almost everything is clean
2008-03-26 16:25:05 +00:00
Stanislav Shwartsman
47936944a2
Remove Cirrus Logic PCI special define - it will be enabled by default when PCI is enabled.
2008-03-22 22:26:03 +00:00
Stanislav Shwartsman
7e490699d4
Removing hooks for not-implemented SSE4A from the Bochs code.
2008-03-21 20:04:42 +00:00
Stanislav Shwartsman
2172e96654
small trace/iacache cleanups, always allow speculative tracing for trace cache
2008-03-03 14:35:36 +00:00
Stanislav Shwartsman
8615022962
Added first stubs for XSAVE/XRESTOR implementation
...
Disassemble XSAVE/XRSTOR instructions (4 instructions)
Update CHANGES - a bit speculatively
2008-02-12 22:41:39 +00:00
Stanislav Shwartsman
55ad3e89b6
another whitespace cleanup by Sebastien
2008-02-05 22:57:43 +00:00
Stanislav Shwartsman
192f398b46
removed --enable-magic-breakpoint configure option - it is enabled by default if Bochs internal debugger compiled in. Also it always possible to switch magic break off by .bochsrc option
2008-01-21 21:36:58 +00:00
Stanislav Shwartsman
40ae796dfa
speculative tracing config.h parameter
2008-01-18 09:35:19 +00:00
Stanislav Shwartsman
7496ee7afa
VM8086 is always ON
2007-12-21 21:16:34 +00:00
Stanislav Shwartsman
43e356fb60
TLB macro
2007-12-21 11:11:50 +00:00
Stanislav Shwartsman
6f96b119e1
Some compile time checks for configure SSE4A and SSE5A
...
I don't plan configure support for them now, because the instruction actually still not implemented
2007-12-16 21:06:44 +00:00
Stanislav Shwartsman
76882295f7
Small preparation for SSE4A and SSE5A implementation
2007-12-15 17:35:41 +00:00
Stanislav Shwartsman
adda3befd3
Trace cache optimization merged
2007-12-09 18:36:05 +00:00
Stanislav Shwartsman
7ca78b88e9
configure/compile changes + small optimizations
2007-12-01 16:45:17 +00:00
Stanislav Shwartsman
d6fbb2a74a
Configure fro speed
2007-11-22 06:28:05 +00:00
Stanislav Shwartsman
9dc471bbe5
Simplify Guest2HostTLB code
...
Fixed APIC CPUID bit
2007-11-11 20:44:07 +00:00
Stanislav Shwartsman
5fd21257de
Remove qick TLBN invalidation code - it actually only could slow down emulation
2007-11-09 21:14:56 +00:00
Stanislav Shwartsman
e137560b14
Complete MONITOR/MWAIT implemntation (including monitoring of memory range)
...
Fixed PANIC in read/write Cr/Dr - should #UD with unkown register used
2007-11-01 18:03:48 +00:00
Stanislav Shwartsman
afdcadad73
Added ability to switch off bochs loging (BX_DEBUG/INFO/ERROR)
2007-10-30 18:57:46 +00:00
Stanislav Shwartsman
42fdd8a3a1
During Bochs benchmarking I figured out that hostasm actually slow down the emulation ... so remove this ugly code which also doesn't help :)
...
speedup flags update for some instructions - idea was taken from DT patch by h.johansson
2007-10-21 22:07:33 +00:00
Stanislav Shwartsman
ac272e9383
Changes breakpoints configure time enable macroses - reduce amount of compile-time parameters
2007-10-12 22:11:25 +00:00
Stanislav Shwartsman
8adbbcf17c
Started first implementation of MONITOR/MWAIT
2007-10-11 21:29:01 +00:00
Stanislav Shwartsman
071c5c1a26
A lot of changes but everything is really trivial.
...
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
2007-09-28 19:52:08 +00:00
Volker Ruppert
cd3f204da9
- removed old BX_SCHEDULED_DIE_TIME code after added new benchmark option
2007-09-23 08:44:30 +00:00
Stanislav Shwartsman
91e6ca8d5c
Implemented MTRR support
...
Fixes in #PF exception priority
2007-09-20 17:33:35 +00:00
Stanislav Shwartsman
0dc4badfbb
Added SSE4A and SSE4_2 to disassembler
...
Implemented POPCNT instruction
2007-09-19 19:38:10 +00:00
Stanislav Shwartsman
895891b673
Implemented #AC check under configure option
...
Fixes in misaligned SSE support
2007-07-31 20:25:52 +00:00
Stanislav Shwartsman
58a2595bca
Misaligned SSE support
2007-07-15 19:03:39 +00:00
Stanislav Shwartsman
5189cfbf10
SSE4 support
2007-04-19 16:12:21 +00:00
Stanislav Shwartsman
f6af99dead
Some variables renaming + CPU vendor variable defition
2007-04-17 21:38:51 +00:00
Stanislav Shwartsman
6c139a9c8c
Define LIN and PHY address size in config.h
2007-04-14 10:05:30 +00:00
Stanislav Shwartsman
b6c8275cfd
remove old PIT model and always use Greg Alexander's new one
2007-04-08 21:57:06 +00:00
Stanislav Shwartsman
c24627c00f
Implemented CLFLUSH instruction
...
Set of minor fixes for correctness
2007-01-28 21:27:31 +00:00
Stanislav Shwartsman
f8003098b1
Rename SSE4 to SSE3E to match intel docs. SSE4 coming later ;)
...
Fixed "last prefix" for REX in 64-bit mode
2007-01-25 19:09:41 +00:00
Stanislav Shwartsman
3fb402ee15
Forgot to checkin this file
2007-01-16 17:46:30 +00:00
Volker Ruppert
2cdd6596f1
- implementation of the PIIX4 ACPI controller started. The code is not yet
...
enabled and the i/o handler only generate info messages.
2006-09-24 16:58:13 +00:00
Stanislav Shwartsman
3ab94305a0
1. Fixed bug report
...
[ bochs-Bugs-1562172 ] TLB_init() fails to initialize priv_check array if USE_TLB 0
2. Paging is always exists for i386+
To disable paging it is better to use normal model without special code, only by setting cr0.pg=0
2006-09-20 17:02:20 +00:00
Volker Ruppert
a3908d6e86
- moved BX_USE_MEM_SMF to all the other SMF definitions in config.h.in (should
...
be set to 1, since there is only one address space present)
- fixed memory object member to support the static case (SMF)
2006-09-02 12:08:28 +00:00
Stanislav Shwartsman
275ea4f7c9
- Allow to control SMP quantum value through .bochsrc CPU
...
option parameter. Previous Bochs version used hardcoded quantum=5
value.
2006-06-21 20:42:26 +00:00
Stanislav Shwartsman
594b8cce47
Fixed segfault with bochs debugger but reported today
2006-05-31 17:20:52 +00:00
Stanislav Shwartsman
8b0df8e99b
Merge SAVE_RESTORE branch to CVS
2006-05-27 15:54:49 +00:00
Stanislav Shwartsman
2889ed190c
Removed icount guard for debugger. Implement STEPN debugger command using CPU_LOOP method capabilities
2006-04-29 09:27:49 +00:00
Volker Ruppert
52c4666465
- partial sync with BRANCH_SAVE_RESTORE_3 (hardware save/restore not present yet)
...
* fixed minimum limit of signed variable types
* don't set the initial value of shadow parameters
* fixed range check for shadow parameters
* added support for setting the value base (decimal/hex) of numeric shadow parameters.
The text format hex number is now initialized in the constructor
* added missing newline after filename for binary data
* fixed data size of 64-bit shadow parameters
* fixed save/restore output format of numeric parameters (signed/unsigned/64-bit)
* cpu/init.cc: fixed macro name and added missing #undef line
2006-04-22 18:14:55 +00:00
Volker Ruppert
0396a9d86f
- save state function now supported on win32 in the runtime dialog
...
- for the BrowseDir() function Bochs for win32 needs to be linked with SHELL32.DLL
(currently used for the save/restore support only)
- save/restore support symbol name changed
2006-04-09 13:55:55 +00:00
Volker Ruppert
74c8c05d22
- prepared save/restore feature
...
- some siminterface types changed
2006-04-06 20:42:51 +00:00
Stanislav Shwartsman
7cc921d1df
Prepare configure support for SSE4 implemntation (coming soon)
...
Rename _GAME configure macro to _GAMEPORT
2006-04-05 18:49:35 +00:00
Stanislav Shwartsman
3dd38bcd8e
Declare bx_phy_address and bx_lin_address data types - should be used ALWAYS instead of blind Bit32u
2006-02-23 18:24:56 +00:00
Stanislav Shwartsman
7cfa31492c
Removed --enable-pni configure option, to compile with PNI use
...
--enable-sse=3 instead (Stanislav Shwartsman)
2006-02-20 19:28:57 +00:00
Stanislav Shwartsman
0bf03f370d
Support for DC and HT in SMP configurations
...
Extended format of CPU::COUNT .bochsrc option to define number of core/threads
2006-02-11 15:28:43 +00:00
Stanislav Shwartsman
6ca296de8b
Move --enable-reset-on-triple-fault option to runtime CPU::reste_on_triple-fault option in .bocshrc
...
Cleanup and optimize parser for debugger
2006-02-01 18:12:08 +00:00
Stanislav Shwartsman
37eb82c69c
Totally remove the cosimulation code from Bochs.
...
The Bochs anyway even doesn't compile if cosimulation configured enabled.
But in the same time the cosimulation code only disturbs to the future development of Bochs debugger, for example adding x86-64 functionality ...
For those of you who still may want to see the cosimulation code inside I put it in patch and upload it Bochs CVS patches folder. Read comments for the patch ! ----------------------------------------------------------------------
2006-01-25 22:20:00 +00:00
Volker Ruppert
a0f880b06d
- show IPS value in the status bar of the Bochs window (win32 and x11)
...
- Bochs now compiles with BX_SHOW_IPS enabled on MSVC
2006-01-22 12:31:16 +00:00
Volker Ruppert
c56b918a8e
- code cleanup: removed unused defines and structure members
...
- removed plugin flag 'use_devmodel_interface' (all plugins are using it)
2006-01-20 19:12:03 +00:00
Stanislav Shwartsman
2c8f6f7720
Merged patch: determine number of processors to emulate through .bochsrc
2006-01-18 18:35:38 +00:00
Stanislav Shwartsman
3dbf0f3b97
Bochs supports only ONE memory address space anyway so the code sould be optimized for this case a little (mainly in SMP configuration)
2006-01-15 19:35:39 +00:00
Stanislav Shwartsman
0211f2260c
Fix configure checks
2006-01-13 11:10:29 +00:00
Stanislav Shwartsman
149a830934
Remove error for SMP config, just silently disable FAST_CALL optimization for SMF disabled
2006-01-11 19:08:10 +00:00
Volker Ruppert
e753570e1f
- enable VDE networking module on Linux (same conditions as ethertap)
...
- eth_vde.cc compilation fix and TUN/TAP hack removed
- mentioned VDE and added example in documentation
2005-11-29 19:28:43 +00:00
Stanislav Shwartsman
631f2c6188
Backup cpu-level check for paging features at compile time (already checked in configure)
2005-11-26 21:42:28 +00:00
Stanislav Shwartsman
8c91790680
Redefine registers accessors in cpu.h
...
Change BxSupportPAE and BxSupportGlobalPages macros to Bochs style names
Set bx_cpu_id in BX_CPU_C constructor (safe way)
Backup cpu-level check for paging features at compile time (already checked in configure)
Some warnings and indent fixes
speed up get_segment_base method for x86-64 case
2005-11-26 21:36:51 +00:00
Stanislav Shwartsman
f1f2647819
Print VME together with other features list
2005-10-17 14:48:43 +00:00
Stanislav Shwartsman
e83c77db49
Preparing to VME implementation
...
DO NOT ENABLE VME option until the implementation will be completed !
2005-10-16 23:13:19 +00:00
Volker Ruppert
3edd8c0c06
- removed unused symbol BX_OVERRIDE_ASK
2005-10-13 18:40:26 +00:00
Volker Ruppert
cc59e24639
- removed BX_USE_CONFIG_INTERFACE stuff. A configuration interface is always
...
present and a quickstart option exists, too
- improved check for GTK 2.x (only needed if basename of wx is 'wx_gtk2')
- moved/added some deprecated configure options to the end of the script. These
checks should force users and distrubutors to update their config options.
2005-10-03 10:28:56 +00:00
Volker Ruppert
e450b1af53
- removed obsolete configure option --enable-time0. The 'clock' runtime option
...
is already doing the same.
- DCC oscillator disable support added
- fixed indent mode in modified sections
2005-09-10 16:40:59 +00:00
Volker Ruppert
fd427df0d7
- RTC 12-hour mode implemented
...
- unsupported shutdown status values no longer cause a panic
- definition of BX_NUM_CMOS_REGS moved from config.h to cmos.h (TODO: get rid
of this and implement 128 registers)
- indent mode fixed in modified section
2005-09-10 13:22:51 +00:00
Stanislav Shwartsman
734cc8496f
Update changes and cpu/todo
2005-09-05 17:50:37 +00:00
Volker Ruppert
d4871e66a9
- fixes for Solaris 2.9 (tested with the compile farm)
...
* .conf.sparc fixed / cleaned up / new features added
* flag _XOPEN_SOURCE is already defined
* define BX_HAVE_NET_IF_H when <net/if.h> exists
2005-07-03 09:57:41 +00:00
Volker Ruppert
3d9495bb45
- implemented idle hack for the term gui (patch by H. Johansson)
2005-06-17 18:37:51 +00:00
Volker Ruppert
785662517c
- the option -export-dynamic is not needed for the win32 non-plugin version
...
(MSVC doesn't understand this argument)
- exporting dll symbols is only needed for the win32 plugin version
2005-06-13 20:28:38 +00:00
Volker Ruppert
821ff1e87c
- clarify operator precedence (needed by MSVC)
...
- defined symbol BOCHSAPI_MSVCONLY for special cases in MSVC
2005-06-09 17:42:34 +00:00
Stanislav Shwartsman
1514ad6f8e
Forgot to update config.h.in ...
2005-03-29 22:01:22 +00:00
Stanislav Shwartsman
c2ec59f4c3
Do compile time error when compiling BX_DEBUGGER w/o BX_DISASM
2005-03-26 19:44:21 +00:00
Stanislav Shwartsman
de527e2dde
Do not allow to allocate more than 2048Mb of emulated memory.
...
Anyway in most of systems it fails to allocated even 1024Mb and allocating more than 4096Mb causes overlap and unpredicted behaviour.
2005-03-06 21:23:38 +00:00
Volker Ruppert
2b196e5c61
- removed useless VLB-IDE support (ISA and PCI IDE are working okay)
...
- removed dangerous options from the harddrive code
2005-02-15 20:48:14 +00:00
Volker Ruppert
5e420c7172
- vga extension option now controls the presence of the Cirrus extension
...
- Cirrus and VBE support are no longer mutually exclusive
2005-02-09 22:01:19 +00:00
Volker Ruppert
eb05d1c0fb
- BX_FAST_FUNC_CALL doesn't work with BX_USE_CPU_SMF = 0 (e.g. SMP version)
2005-02-05 14:54:12 +00:00
Volker Ruppert
f98ecd09b1
- changed wxWindows to wxWidgets (includes SF patch #1094407 by Alexander Schuch)
2005-01-05 19:54:32 +00:00
Stanislav Shwartsman
da24883199
Extend page directory entries to 8 byte in PAE mode when X86_64 is enabled
...
(prepartions to NX feature implementation)
2004-12-13 22:26:36 +00:00
Volker Ruppert
78218d8b1b
- implementation of bus mouse and usb mouse started - NOT YET COMPLETE !
...
(SF patch #1082584 by Ben Lunt)
2004-12-11 08:35:33 +00:00
Volker Ruppert
f93b04df0b
- the PCI Pseudo-NIC is now independent from the NE2000 NIC stuff. New symbol
...
BX_NETWORKING controls the presence of the lowlevel networking stuff.
- eth.cc: unused stuff removed
2004-10-03 20:06:12 +00:00
Stanislav Shwartsman
eb2b8a3afc
Ability to enable PNI
2004-09-21 21:07:39 +00:00
Volker Ruppert
1663f995e0
- support for GNU/kFreeBSD and GNU/kNetBSD added in lowlevel iodev code (cdrom,
...
ne2k, sb16, etc.) (SF patch #1021758 from Robert Millan)
2004-09-11 15:39:53 +00:00
Stanislav Shwartsman
77b3886f8b
Cleanup and optimize
2004-08-28 08:41:46 +00:00
Volker Ruppert
1b2769e73a
- added some sanity checks in function load_ROM()
...
- removed unused and obsolete stuff from the memory code
2004-08-26 07:58:33 +00:00
Volker Ruppert
45ccb97021
- CL-GD 54xx SVGA emulation added (SF patch #869822 from m_suzu_abc@yahoo.co.jp)
...
- changes to the original svga_cirrus patch:
* PCI memory/mmio PnP support, some emulation and compile fixes
* ported write mode 4 + 5 and some bufixes from cirrus vga in qemu
* new graphics API, hardware cursor support, configure option added (Robin Kay)
* partial support for transparent bitblt and bitblt write mask
2004-08-16 08:07:23 +00:00
Volker Ruppert
d06c80cee3
- changed all iodev config macros to BX_SUPPORT_xxx
...
- removed incorrect SDL/ prefix from include paths (patch from Robin KAY)
2004-08-06 15:49:55 +00:00
Stanislav Shwartsman
f9bd2b74be
1. Fixed bug in FSUB instruction
...
2. Fixed bug
[ 989478 ] I-Cache and undefined Instruktions
The L4 microkernel uses an undefined instruction to
trap for a special requests into the kernel (LOCK NOP).
The handler fixes this up and gives the user a special
code page with syscall stubs. If you're not using the
I-Cache optimization everthing works find on bochs. But
if you enable the I-Cache (--enable-icache), then the
undefined opcode exception is thrown only once for ever
virtual address it occurs. See the demodisk of the
L4KA::pistachio
(http://www.l4ka.org/projects/pistachio/download.php ).
In this case the pingpong benchmark of this demo is of
interest. Everything runs fine until the program tries
to spawn a new task for its measurements. This new task
shares the code of the creating program. But the new
task stops executing at the undefined instruction
explained above and no exception is thrown.
2004-07-29 20:15:19 +00:00
Stanislav Shwartsman
5c5b556f24
Merge softfloat-fpu-implementation_ver4_branch branch
2004-06-18 14:11:11 +00:00
Volker Ruppert
bf243f892a
- added PCI IDE controller (dummy device - busmaster feature not present yet)
2004-06-09 20:55:58 +00:00