Commit Graph

2649 Commits

Author SHA1 Message Date
Kevin Lawton
a11e637ec0 Added an alternative set of pc_system.{cc,h} files for
testing.  Please try these out if you want to help test
  them or if your guest OS appears to be hanging with
  no apparent activity.  The old bochs internal timer
  framework is broken in several areas.

  I put these in the patches directory for now.  After
  a 'make all-clean', you can do something like:

    mv pc_system.cc pc_system.cc-old
    mv pc_system.h  pc_system.h-old
    cp patches/pc_system.cc-kpl .
    cp patches/pc_system.h-kpl .
    make

  And let me know if A) they work for you and B) if they help
  the hanging problem.
2002-10-01 21:27:34 +00:00
Bryce Denney
85ca569ef4 - fix a very stupid memory leak that I added to the the text mode debugger
recently.  oops.
2002-10-01 13:40:05 +00:00
Peter Tattam
562d6b55dd fixed a formatting problem for debug output for external debugger. 2002-10-01 07:13:00 +00:00
Peter Tattam
9078c5fc06 fixed extdb.cc to work in default IA32 bochs 2002-10-01 06:47:06 +00:00
Peter Tattam
94b2dd2bc8 Cleanup of extdb.* files. included in right places now. 2002-10-01 04:13:12 +00:00
Bryce Denney
3fa708ea7a - fix all printfs so that they can handle 64bit integers
- use "long" for the second arg to fseek.
2002-09-30 22:33:52 +00:00
Bryce Denney
ef77eb0ad3 - only register the parameters the first time init is called, to fix bug
[ 613975 ] wxWindows: params redefined on restart
2002-09-30 22:23:57 +00:00
Bryce Denney
be4005269b - many parameters in cpu were being redefined if you stop simulation and
restart another one in wxWindows.  Fixed that.  Also, on restart, the
  apic id's left over from the first run were causing panics.  Fixed that.
- modified: main.cc cpu/apic.cc cpu/cpu.h cpu/init.cc
2002-09-30 22:18:53 +00:00
Bryce Denney
3f9e3ee12d - comment out a few very frequent debug messages
- in CopyParamToGui and CopyGuiToParam, ignore list parameters instead of
  printing a warning
2002-09-30 22:15:20 +00:00
Bryce Denney
3e766704e1 - add warning that many disk images are out of date 2002-09-30 21:01:39 +00:00
Bryce Denney
3a5f1eb3e3 - give up on testing status page, for now
- remove link to obsolete documentation task
- add task "cleaning up disk images"
2002-09-30 21:01:04 +00:00
Bryce Denney
b5b1f0eb39 - remove link to Testing Status page, which is pathetically out of date 2002-09-30 20:51:48 +00:00
Bryce Denney
e093bec99c - Stu's test for ADD_FLAGS was not working quite right, because the []'s
were being removed by autoconf.  I changed it to use
     if test CONDITION; then ... fi
  instead of
     if [ CONDITION ]; then ... fi
2002-09-30 20:31:14 +00:00
Kevin Lawton
298c1d4ac5 Documented a number of the functions/variables in pc_system.h and
rearranged things to put all the timer related stuff together
  for sanity.
2002-09-30 17:32:34 +00:00
Kevin Lawton
1e5343b421 As a 1st effort to understand/debug the timer code, I cleanup
up pc_system.h.  Moved all variables under the private: section,
  as well as a few member functions.  The string instructions
  were accessing a field directly (only reads), so I indirected
  that via an inline member function for better abstraction.
2002-09-30 16:43:59 +00:00
Bryce Denney
63a7680b4c - add AC_SYS_LARGEFILE test
- also add note about the special largefiles test that wxwindows does
2002-09-30 16:24:25 +00:00
Bryce Denney
e658f463ab - remove pthread check for wxwindows. This used to be needed to add the
"-pthread" flag to the link line, but as of wxWindows 2.3.3 their
  wx-config script adds it for us.  Given the keyboard mapping improvements
  in wx 2.3.3, I don't expect to support any previous version.
2002-09-30 14:35:34 +00:00
Bryce Denney
d92ccf70ae - apply patch from Stu Grossman <grossman@juniper.net> that changes
harddrv code to use off_t for file offsets.  If off_t is going to
  require a configure test, I'll add it later.
2002-09-30 14:19:46 +00:00
Bryce Denney
1387109e7b From: Stu Grossman <grossman@juniper.net>
To: bochs-developers@lists.sourceforge.net
Subject: [Bochs-developers] Fix for configure.in bug

This patches fixes a bug in configure.in which prevents configure from setting
default values for CFLAGS and CXXFLAGS.  Normally, the way autoconf builds
configure, it will set default values for CFLAGS and CXXFLAGS of `-g -O2'.
But, if the user specified them (via the environment), it won't touch them.

The clause in configure.in that tries to set platform-specific flags breaks
this because it always assigns a value (usually blank for most platforms),
which fools the defaulting mechanism later on.
2002-09-30 14:11:21 +00:00
Bryce Denney
fb54f552fa - removing; patch has been applied now 2002-09-30 14:04:26 +00:00
Bryce Denney
ea20513e19 - convert to unix newlines so that patch is happy 2002-09-30 14:03:53 +00:00
Bryce Denney
169332660a - apply patch.carbon-jusansai from Chris Thomas. This is associated with
patch [ 549248 ] Fix Carbon key & menu handling at
  http://sourceforge.net/tracker/index.php?func=detail&group_id=12580&atid=312580&aid=549248
2002-09-30 14:03:20 +00:00
Bryce Denney
ea0874aa4a - add Carbon patch from Chris Thomas (jusansai) 2002-09-30 13:56:51 +00:00
Kevin Lawton
af31c4583b More merging of modRM==11b if () clauses in logical*.cc functions,
and code cleanup.
2002-09-30 03:37:42 +00:00
Kevin Lawton
00c14e4efe Added ./configure option --enable-all-optimizations which turns on
all available optimizations in one shot.

Finished one last case of an instruction which could but didn't use
  the Read-Modify-Write variants of access.cc functions.

Started going through the integer instructions, merging obvious cases
  where there are two "if (modrm==11b) {" clauses and very little
  action in between, and cleaning up the aweful indentation leftover
  from many years ago when those instructions were implemented using
  cut-and-paste.  We may get a little extra performance out of these
  mods, but they'll also be easier after I'm finished to enhance
  with asm() statements to knock out the lazy flags processing on x86.
2002-09-30 02:02:06 +00:00
Bryce Denney
81b1db7b47 - put generated file Info.plist into .cvsignore 2002-09-30 01:56:05 +00:00
Kevin Lawton
67721c48f4 The convience functions protected_mode(), v8086_mode() and real_mode()
now simply return a cached value which is set upon mode changes.
  The biggest problem was protected_mode() which did something like:

    return CR0.PM && ! EFLAGS.VM

  This adds up when it was being executed many times in branch functions
  etc.  Now, cached values are set and sampled instead.
2002-09-29 22:38:18 +00:00
Kevin Lawton
a5537449cd Split out reg-reg and reg-memory cases for a few other high-profile
instructions, mainly variants of MOV.  Had to update fetchdecode64
  to keep it inline with the 32-bit mods.
2002-09-29 19:21:38 +00:00
Stanislav Shwartsman
60505911c3 The patch was already committed to main trunk 2002-09-29 18:43:22 +00:00
Stanislav Shwartsman
b8f1d5c031 Fixed the bug caused failures of instrumentation on SMP configuration ... 2002-09-29 16:59:28 +00:00
Stanislav Shwartsman
4593431f49 Committed another instrumentation example for C++ lovers ;) 2002-09-29 16:50:29 +00:00
Volker Ruppert
9fb6561b66 - added descriptions of the new ATA disk options based on the comments in the
bochsrc sample
2002-09-29 16:41:41 +00:00
Kevin Lawton
f99f17bca4 Integrated CPUID CMPXCHG8B bit setting patch from John_Bäckstrand.
Moved it slightly, but it is correct.
2002-09-29 16:23:03 +00:00
Stanislav Shwartsman
bee72cf17b changed old bxInstruction name to new one 2002-09-29 16:10:27 +00:00
Stanislav Shwartsman
5bcef53393 Fixed instrumentation example 2002-09-29 16:05:13 +00:00
Kevin Lawton
895693b3b5 Fixed fetchdecode64() to work with the few MOV instructions which
were split into mod=11b, and mod!=11b cases for performance.
2002-09-29 15:07:11 +00:00
Stanislav Shwartsman
abb1530faf Fixed number of problems with instrumentation merge cause to instrumentation fail the compilation 2002-09-29 15:06:58 +00:00
Stanislav Shwartsman
8d99157993 Another additional for instrumentation 2002-09-29 14:16:30 +00:00
Stanislav Shwartsman
0ea0d828df removed the example because it already integrated to the main trunk 2002-09-28 17:11:30 +00:00
Stanislav Shwartsman
f24624f27a Replaced instrumentation example0 files with new example, for new implementation of the instrumentation 2002-09-28 17:09:04 +00:00
Volker Ruppert
4158c1e862 - serial port detection for two ports added to the POST code
- parallel port detection fixed:
  * write the value of AX to 0x0410, not BX
  * the timeout value is a byte and now stored in CL
  * the offset of the port address list is 2 bytes
2002-09-28 15:03:32 +00:00
Volker Ruppert
06bbbba109 - register description "master disable" renamed to "master clear". This is the
register name in the Intel docs
2002-09-28 13:36:32 +00:00
Volker Ruppert
b98975c832 - parallel port detection for two ports added to the POST code 2002-09-28 12:27:56 +00:00
Stanislav Shwartsman
d495bd75a6 fter integration of SplitMod11b changes Bochs failed to compile in SMP mode.
I fixed the compilation errors in CVS, smbd please check if the fix is property;
2002-09-28 09:38:58 +00:00
Peter Tattam
3ed1d61cd4 Initial work on updating bochs disassembler
Used patch.disasm to do

1) clean up the disasm output to make the dispaly of extra stuff optional.
2) included the part of the patch which displays displacements as
   proper addresses.
2002-09-28 06:29:55 +00:00
Kevin Lawton
08a89fe7b6 Performance mod: I implemented a suggestion from Peter Tattam
and Jas Sandys-Lumsdaine to split out common instructions into
  variants which deal with the mod=11b case (Reg-Reg) and the
  other cases (which do memory ops).  Actually, I only split
  MOV_GwEw and MOV_GdEd for now.  According to some instrumentation
  of a Win95 boot, they were the most frequently used opcode by far.
2002-09-28 05:38:11 +00:00
Bryce Denney
935b0f97bd - a few minor fixes to make it compile 2002-09-28 04:54:17 +00:00
Kevin Lawton
ad3c1474e3 Integrated this patch verbatim. Deleted from patches/. 2002-09-28 01:51:21 +00:00
Kevin Lawton
6843c3dfe8 Integrated patches/patch.logicalxx_asm from Jas Sandys-Lumsdaine.
Essentially, when I coded a few of the instructions to use
  asm()s for acceleration of the eflags, I got lazy and only
  used the asm() to compute eflags and let the normal C operation
  do the actual operation.  Jas's patch, moved the asm()s such
  that they now do the work of the operation as well.

  The patches look great.  The code reads a lot better as well.

  Further work can be done to give the compiler more options with
  register scheduling.
2002-09-28 01:48:18 +00:00
Kevin Lawton
11139670ad Added patch/patch.logicalxx_asm from Jas Sandys-Lumsdaine.
I'm going to look at this next and integrate it if it's good,
  but wanted a record of the patch in CVS.
2002-09-28 01:22:39 +00:00