Commit Graph

2421 Commits

Author SHA1 Message Date
Bryce Denney
491b05d4bc - add missing BX_CMOS_THIS to fix the previous rev 2002-10-23 19:37:36 +00:00
Bryce Denney
279901987c - extra {}'s no longer needed now that Volker cleaned up the char* mess
in rev 1.29
2002-10-23 18:59:25 +00:00
Bryce Denney
ab70c14ec6 - print time value that was used for this simulation, in case you want to
set time0 later to duplicate it
2002-10-23 15:50:59 +00:00
Bryce Denney
ffba22d72b - make BX_MAX_TIMERS a function of the number of processors, since each
processor's local apic registers one.  Now BX_MAX_TIMERS is
  (15+BX_SMP_PROCESSORS)
2002-10-23 15:13:10 +00:00
Volker Ruppert
c43564368a - remove trailing spaces from text snapshot
- incrementing variable txt_addr simplified
2002-10-22 17:30:54 +00:00
Bryce Denney
070603cb4d - in gdbstub, the cpu and memory were referred to in some nonstandard ways
such as bx_cpu and bx_mem.  I changed them to BX_CPU(0) and BX_MEM(0).
- we still don't have correct support for debugging with multiple processors,
  so I added a check in bochs.h that will abort the compile if you try
  on GDBstub and processors>1.  If/when gdbstub supports multiple processors
  we can remove this check.
- also I brought attention to, but did not fix, the line that sets
  sockaddr.sin_len = sizeof(sockaddr).  On Linux, sockaddr.sin_len does
  not exist so we have to remove the line.  Since Stu Grossman added this line,
  I've asked him to test without the line and let me know if it works.
- modified: gdbstub.cc, bochs.h
2002-10-22 12:50:56 +00:00
Christophe Bothamy
957e1b5abe - fix bug [ 625676 ] VC++ do not support S_ISBLK. Block devices are not supported on win32 anyway. 2002-10-21 23:51:49 +00:00
Bryce Denney
b43ca82b5e - in debug message, mention WHICH reserved register was written 2002-10-21 16:57:35 +00:00
Bryce Denney
7f8b965243 ----------------------------------------------------------------------
Patch name: patch.macosx-console-launch-script
Author: Jeremy Parsons <brefin@mac.com>
Date: Wed Oct 16 2002

Detailed description:

Since the Carbon gui does not yet have a console window of its own, then it
can't be configured from the gui (only the command line) and stdout/stderr both
go to the console. As a shortcut, I offer this patch consisting of this file and

build/macosx/script.data
build/macosx/script.r
build/macosx/bochs.applescript

script.data and script.r are taken from a script compiled into an application.
Flattened out to be checked in. (osacompile can produce runnable scripts, but
wants to create them for the classic environment, so I use these files as part
of a workaround)

When bochs.app is built, it also builds bochs.scpt. To use bochs.scpt you put
both bochs.app and bochs.scpt into the directory with your bochsrc.txt.

bochs.scpt is an applescript that when run notes the current directory, then
tells the terminal application to open a window, cd to the current directory,
and run bochs from the commandline.
----------------------------------------------------------------------

Modified Files:
  Makefile.in
Added Files:
  build/macosx/bochs.applescript build/macosx/script.data
  build/macosx/script.r
2002-10-21 11:38:38 +00:00
Bryce Denney
37be797307 - bochsdbg is an OPTIONAL install target. I build a bochsdbg.exe manually
when making windows releases, and copy it into the build directory.
  However, since some make programs (e.g. freebsd)  are giving errors when
  bochsdbg is not found (in Linux it just gives a little warning), I have tried
  to do it in a more clean way.  I put bochsdbg into an "optional" install
  list, and put a minus before the line that installs optional files.  This
  should cause make to ignore any errors that occur while trying to install the
  optional ones.
2002-10-21 11:28:37 +00:00
Bryce Denney
9297b17797 - in main.cc make the bochsrc parser a little more lenient about
empty pathnames, zero cylinders, etc.  It doesn't seem fair to allow
  people to write out bochsrcs that they cannot read back in without
  patching them up by hand!
- in harddrv.cc add the equivalent checks with BX_PANICs so that at least
  we don't start simulating with incomplete device configuration.
- make a few error messages more clear
- modified: main.cc iodev/harddrv.cc
2002-10-21 11:22:26 +00:00
Bryce Denney
cd4d17a363 - min and max in shadow params were broken recently when I changed the
constructors around.  The min,max that were being passed to the parent
  class constructor had junk in them.  In config.h.in, I defined the minimum
  and maximum values for each integer datatype so now we pass correct
  min and max values to the parent class.  These replace the BX_MAX_[U]INT
  and BX_MIN_[U]INT values.
- modified: main.cc config.h.in gui/siminterface.cc
2002-10-21 11:13:54 +00:00
Bryce Denney
8047b68ba2 - in a recent revision, I made bx_param_num_c::get() return a 64 bit
value instead of a 32 bit value.  Unfortunately there were many uses
  of bx_param_num_c::get() which depended on its size, and they were
  all broken by this change.  So in this rev I am changing get() to
  return a 32bit unsigned again.  If you really want a 64bit value (which
  is quite rare) you should call get64() instead.
- modified: gui/siminterface.h gui/siminterface.cc
2002-10-21 01:05:53 +00:00
Bryce Denney
984905c73a - revert previous rev. There is nothing dangerous about it, but I
decided to make bx_param_num_c::get() return 32bit integers again
  instead of trying to find every single case that was broken when
  I changed bx_param_num_c::get() to return a 64bit integer.
- as soon as get() returns 32 bit values again, the changes in the previous
  rev is are unnecessary.
2002-10-21 00:59:17 +00:00
Bryce Denney
78f4f9a1e5 - add int typecast to fix segfault, which was caused when I turned all
integer parameters into 64 bit values.
2002-10-21 00:34:04 +00:00
Volker Ruppert
f88e594dc2 - do a dimension update in text mode when the maximum scan line register has
changed. This changes the font height of the gui.
2002-10-20 13:18:21 +00:00
Stanislav Shwartsman
466a3226f5 FXSAVE/FXRSTOR stubs defined in sse.cc 2002-10-19 21:47:28 +00:00
Stanislav Shwartsman
277f14dd76 Implemented PMOVMSKB_GdPRq instruction (SSE) 2002-10-19 21:46:07 +00:00
Stanislav Shwartsman
63ac78d496 Implemented MOVNTQ instruction 2002-10-19 21:28:50 +00:00
Stanislav Shwartsman
82c879717c add prepareSSE for SSE2 only. SSE2 only not allowed by configure script but for debug issues it may be useful to enable SSE2 only ... 2002-10-19 21:01:24 +00:00
Stanislav Shwartsman
6cd078b777 Add opcode name to the information message in case of MMX/SSE/SSE2 instruction is not supported 2002-10-19 20:58:18 +00:00
Stanislav Shwartsman
21201bc237 Add opcode name to the information message in case of MMX/SSE/SSE2 instruction is not supported 2002-10-19 20:16:42 +00:00
Bryce Denney
8263030457 - remove call to "put()" which is no longer accessible now that eth_pktmover_c
doesn't descend from logfunctions anymore.
2002-10-19 19:14:57 +00:00
Christophe Bothamy
fd81d2c4cb - compile bios from rombios.c r1.70 2002-10-19 17:09:25 +00:00
Christophe Bothamy
17faa94c65 - add a pushad_regs_t structure, similar to pusha_regs_t
- change int 15 function to get a pushad_regs_t parameter
  instead of the registers enumeration
- change in int 15 references to 32bits,16bits and 8 bits
  registers to their pushad_regs_t counterpart
2002-10-19 17:08:17 +00:00
Volker Ruppert
3b75ad3200 - function reset() clears the IRQ line 2002-10-19 08:21:24 +00:00
Bryce Denney
1f44d32cff ----------------------------------------------------------------------
Patch name: patch.macosx-ui-polishing
Author: Jeremy Parsons <brefin@mac.com>
Date: Wed Oct 16 2002

Detailed description:

A number of changes to the Carbon Code to improve how well it meshes with the
MacOS X user experience as well as to make sure that all of more recently added
toolbar buttons actually work.

Specific changes include:

    Added partial keymap support. (Keymaps don't yet affect what the user types
        but an X11 keymap can be used to enable pasting)
    Copying of text screens added
    Pasting of text as keyboard input added
    Copy, Paste, Reset, and Snapshot menu items now work the same as the
        corresponding toolbar elements
    Revamped icon handling to use Control Manager IconControls,
        thus removing icon display code and greatly simplifying icon click handling code
        while adding better behaviours (icons that darken when clicked, track mouse movement,
        and only do something if the mouse is released atop of them as well as gaining
        the ability to be disabled)
    Tweaked Paste toolbar and menu items to only be enabled if key mapping is in use AND the
        clipboard contains text
    Tweaked Copy and Snapshot toolbar and menu elements to only be enabled if
        the screen mode is text.
    Tweaked User Keys toolbar element to only be enabled if there are user keys
        defined to be sent
    Tweaked Configure toolbar element to only be enabled if a tty is available
        (as in the emulator was started from a terminal)
    Respaced toolbar icons to match Aqua Toolbars
    Disabled menu items that are not currently handled (undo, clear, cut, disk eject)
    Full screen backdrop resettled all across the screen
    Fixed the callback interface so that when a Panic needs to ask the user about continuing
    	it actually works appropriately.
----------------------------------------------------------------------
2002-10-18 11:46:19 +00:00
Christophe Bothamy
869519eef6 - This patch is not needed for block device access, so I remove it 2002-10-18 10:29:46 +00:00
Bryce Denney
d87480bb03 - SIM->debug_get_next_command () can return null. Now when it does,
we avoid the segfault!  The NULL in charptr_ret will cause the
  debugger read loop to quit.
2002-10-17 15:48:55 +00:00
Christophe Bothamy
9be41f5f55 - add check forbiding block devices if --enable-split-hd 2002-10-17 07:04:45 +00:00
Bryce Denney
69da0e6c28 - 2nd try to get this delete line right. delete [] charptr_ret. 2002-10-16 22:20:32 +00:00
Stanislav Shwartsman
c5f0ef8c76 Removed duplicated definition of BX_SEG_REGS 2002-10-16 22:10:07 +00:00
Stanislav Shwartsman
ee0ec5908e Removed the patch because it was already implemented by other way 2002-10-16 21:55:27 +00:00
Bryce Denney
d401c8e23b - fix incorrect use of delete ptr in text mode debugger. It should
say "delete [] text" since it is an array of chars.
2002-10-16 21:37:06 +00:00
Bryce Denney
8be0d6089b - I did "delete ptr" instead of "delete ptr[]". Thanks to sandos and
our good friend valgrind.
2002-10-16 21:32:56 +00:00
Bryce Denney
4fc294ce2b - I was having compile problems because when BX_DEBUGGER==0 the declaration
of the DebugLogDialog class was turned off by an #if.  Now the methods are
  turned off by the same condition.
2002-10-16 20:39:43 +00:00
Bryce Denney
b33bd11321 - minor cleanup of output messages and help 2002-10-16 20:19:36 +00:00
Volker Ruppert
21b8955a4e - userbutton shortcut feature improved. The shortcut string can be a combination
of these key names: "alt", "ctrl", "del", "esc", "f1", "f4", "tab", "win".
  Up to 3 keys can be pressed at a time.
2002-10-16 19:50:27 +00:00
Bryce Denney
9d44d4e473 - the check for wxWindows/debugger/readline is obsolete, so I removed it 2002-10-16 19:42:24 +00:00
Bryce Denney
f6c637aa8a - upgrade bx_param_num to use 64 bit values, so that I could make
bx_shadow_num_c able to handle pointers to 64 bit values.  This
  allows x86-64 and wxWindows to coexist.
- I had a number of duplicate constructors for bx_shadow_num_c,
  with an without the description arg.  I eliminated the ones
  that had no description, and also removed the min/max arg from
  all.  I still need a bunch of constructors though, for
  Bit64u*, Bit64s*, Bit32u*, Bit32s*, Bit16u*, Bit16s*, Bit8u*, Bit8s*.
  Having all these constructors allows us to write
    new bx_shadow_num (bxid, name, description, &value)
  for basically any integer variable.  They are all handled by the same class.
- these changes led to minor touchups in cpu/init.cc and iodev/keyboard.cc
- modified:
    configure main.cc cpu/init.cc iodev/keyboard.cc
    gui/siminterface.cc gui/siminterface.h
2002-10-16 19:39:27 +00:00
Bryce Denney
ac9f370975 - shouldn't have default values for method parameters in the .cc! oops.
Thanks to sandos for pointing this out.
2002-10-16 19:27:17 +00:00
Stanislav Shwartsman
194952a53d Merged BOCHS-SSE branch 2002-10-16 17:37:35 +00:00
Bryce Denney
7313a837d4 - let configure script find the stinkin compiler. Br'fin says that
C++ links were failing because this script set CXX=cc.
2002-10-16 16:35:19 +00:00
Volker Ruppert
35225ed64d - the keyboard mapping feature for wxbochs (wxGTK version) now works with the
X11 keymap files. This okay since the keysym values are identical. The "AltGr"
  key on European keyboards doesn't work with wxGTK 2.3.3 because the keysym
  GDK_Mode_switch is not handled in wxGTK.
- German keymap table for wx and wxgtkkeys.h are no longer needed
2002-10-16 16:32:55 +00:00
Christophe Bothamy
75ae39ed8b - update to the blkgetsize patch :
There was a POTENTIAL RISK for your HARDDISKS with the previous
patch because it updated the concat_image_t object (BX_SPLIT_HD is on
by default). The behaviour of BX_SPLIT_HD is to open all filenames
incrementing the last letter. Guess what follows /dev/hda ?

You may now access block devices from within bochs, only
if --disable-split-hd is configured.

It has only been tested on linux and a WinNT guest.

There are issues with the current bios CHS translating scheme and
the guest OS translating scheme. For example my compaq system translates
a physical     38792/16/63 20GiB harddrive to
a logical      2586/240/63, which does not follow the bitshift algorithm.
I had to find a different PCHS that would translate in a compatible LCHS
I still have to investigate further, but I'm afraid everything I can do
will break some systems or the others.

Those issues should be explained in the documentation.
2002-10-16 14:40:46 +00:00
Christophe Bothamy
4ec9e8d5b1 - compiled rombios.c rev1.69 2002-10-16 14:05:28 +00:00
Christophe Bothamy
ec595a7d9b - limit the logical chs heads count for disks > 8GiB to 256
- limit the logical chs cylinders count for disks > 8GiB to 1024
- fix a missing parameter in a BX_INFO
2002-10-16 14:04:41 +00:00
Christophe Bothamy
80caacdb40 - compiled rombios.c rev 1.68 2002-10-16 07:40:09 +00:00
Christophe Bothamy
fcc1cd5195 - add int15 function 0xe820 (from osmaker)
- add int15 function 0xe801 (from Hartmut Birr)
- add amount of extended memory in 64KiB block to cmos regs 0x34 and 0x35
2002-10-16 07:38:37 +00:00
Bryce Denney
f05b2649f4 - on WIN32 platforms, ask user to press a key before it exits. Otherwise,
if you run it by double-clicking, the window will disappear before
  you have a chance to read it.
2002-10-15 20:47:43 +00:00