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
Stanislav Shwartsman
6941b82357
correct configure checks
2004-04-11 13:14:54 +00:00
Christophe Bothamy
c6d65e3694
- add check for vsnprintf availability and emulate with vsprintf if not found
2004-02-08 10:22:29 +00:00
Volker Ruppert
c3d9a977f8
- new symbol BX_USE_TEXTCONFIG controls the presence of the text mode configuration
...
interface. It should be set to 1 unless Bochs is compiled for wxWindows only.
- 'user_shortcut' is now available at runtime (wx version only)
2004-01-29 18:50:33 +00:00
Michael Brown
d1922bc835
Changed #ifdef MAGIC_BREAKPOINT to #if BX_MAGIC_BREAKPOINT and added a
...
configure script option --enable-magic-breakpoints (enabled by default).
Documented the instruction required to trigger the magic breakpoint
(xchgw %bx,%bx).
2004-01-29 17:49:03 +00:00
Daniel Gimpelevich
6c26e6a65f
Introduced Frank Cornelis's PCIDEV patch.
2004-01-15 02:08:37 +00:00
Michael Brown
299947f64f
Added the PCI Pseudo-NIC (pnic). Mainly useful for running Etherboot
...
inside Bochs.
2004-01-13 19:21:21 +00:00
Volker Ruppert
6ba47a1d7a
- gameport support is now disabled by default. It can be enabled with --enable-sb16=...
...
or the new option --enable-gameport.
- reading gameport with joystick not present now causes a BX_DEBUG message
2003-12-26 13:53:40 +00:00
Christophe Bothamy
c7fcb049c9
- fix comments
2003-12-07 23:35:48 +00:00
Daniel Gimpelevich
fff74a6f83
Fixed incompatibility with gcc3.3, I think.
2003-11-28 15:07:29 +00:00
Stanislav Shwartsman
ac20b6405a
- FXSAVE/FXRSTOR instructions should be available in P6 mode
...
- Added second UD2 opcode to fetchdecode
- Added RDPMC instruction to fetchdecode
- 'changes' updated
2003-10-24 18:34:16 +00:00
Daniel Gimpelevich
d920233498
I hope this will make it compile under MinGW. Thanx
2003-10-06 21:36:13 +00:00
Daniel Gimpelevich
d0c10dd46b
*** empty log message ***
2003-10-02 11:33:42 +00:00
Christophe Bothamy
e856e9c46e
- fix utc time for bsd, that also works for linux.
...
Patch by Daniel Gimpelevich
2003-10-02 07:38:00 +00:00
Volker Ruppert
88667a4759
- removed obsolete symbols (hard disk and cdrom names, dynamic translation)
...
- symbol BX_PROVIDE_BIOS_HOOKS removed and "romimage" description updated
- symbol BX_SUPPORT_VGA removed (VGA support is always present)
2003-09-10 16:34:56 +00:00
Christophe Bothamy
6a4e0e11ce
- add checks for localtime(), timezone and daylight
2003-09-05 23:03:38 +00:00
Stanislav Shwartsman
7f570b0150
Added PNI new streaming extensions instructions
...
PNI could be enabled by setting BX_SUPPORT_PNI in config.h
After the feature will be fully validation I'll also add configure option.
The implemntation is ~complete. I've missed only three FPU new opcodes of FUSTTP instruction and MONITOR/WAIT instructions.
Enjoy ! ;)
2003-08-29 21:20:52 +00:00
Christophe Bothamy
9f31872f4b
- implement reset on triple fault
...
- old behavior (panic) can be used by setting BX_RESET_ON_TRIPLE_FAULT to 0 in config.h
2003-08-24 23:39:33 +00:00
Jeroen Janssen
5a023a8ad5
applied slowdown timer crosscompile fix
2003-08-20 06:26:27 +00:00
Christophe Bothamy
832ef1209f
- apply .bochsrc, cdrom, serial and ethernet patches for NetBSD
...
(patches by fredb, uebayasi and david laight)
2003-08-19 00:37:03 +00:00
Christophe Bothamy
fb171e482a
- apply MartinS compile patch for missing function in curses
2003-08-17 23:40:39 +00:00
Alexander Krisak
45df735c30
Apply Vitaly's Vorobyov debugger patch
2003-08-04 16:03:09 +00:00
Volker Ruppert
359dce2185
- implementation of the standard PC gameport for the Linux platform
...
- removed gameport stubs from the SB16 code
- TODO: bochsrc option for the joystick device, implement joystick access for
other platforms
2003-06-21 12:55:19 +00:00
Volker Ruppert
dd46d0ec71
- configure check for XPM support added
...
- x.cc uses the old monochrome icon if there's no XPM support present
2003-06-13 16:05:03 +00:00
Volker Ruppert
4d25b39655
- changes for better MSVC support based on patch #735990
...
* support for different resource compilers added (rc / windres)
* bochs must be linked with advapi.lib for registry access
* optimization flag changed to /Ox
* symbols BX_HAVE_MKSTEMP, BX_HAVE_SYS_MMAN_H and HAVE_ETHERTAP must be set to 0
* BX_HAVE_REALTIME_USEC definition fixed for MSVC
* vmware3.h: definition of COW_Header fixed for MSVC
2003-06-06 19:57:25 +00:00
Stanislav Shwartsman
6fdecf77a1
New dependencies for CPU directory
2003-05-15 18:46:01 +00:00