Commit Graph

2923 Commits

Author SHA1 Message Date
Bryce Denney
3690ddc95a - when building win32 DLL's use the -no-undefined flag. Otherwise it
will only build static libraries.
2002-10-11 18:56:53 +00:00
Bryce Denney
838df1ee0b - support VPATH build 2002-10-11 18:32:27 +00:00
Bryce Denney
97717adadb - make -C not portable. sigh. 2002-10-11 18:19:38 +00:00
Bryce Denney
89d57436da - add configure support, since I'm starting to need different options
on different platforms

Modified Files:
  Makefile test1-static/Makefile test2-dynamic/Makefile
  test3-twomodules/Makefile test4-interdep/Makefile
  test5-execsymbols/Makefile
Added Files:
  Makefile.in aclocal.m4 config.guess config.h.in config.sub
  configure configure.in install-sh ltmain.sh
  test1-static/Makefile.in test2-dynamic/Makefile.in
  test3-twomodules/Makefile.in test4-interdep/Makefile.in
  test5-execsymbols/Makefile.in
2002-10-11 18:15:27 +00:00
Stanislav Shwartsman
b4f1a57924 Merged BOCHS-SSE branch with latest main trunk sources 2002-10-11 17:56:56 +00:00
Bryce Denney
6055351e63 - add top level README for plugin-test 2002-10-11 17:35:56 +00:00
Bryce Denney
c607035a27 - add test5 to the list 2002-10-11 17:29:23 +00:00
Bryce Denney
48540356e8 - add LT_LDFLAGS to all libtool links. Remove -no-undefined. 2002-10-11 17:03:50 +00:00
Bryce Denney
5b535b7e83 - test5-execsymbols checks that a module can reach symbols that are defined in
the executable.  On linux you can.
2002-10-11 16:45:31 +00:00
Bryce Denney
043167e8cc - this file is not used 2002-10-11 16:35:53 +00:00
Bryce Denney
c1e54f2fc4 - change #warnings so that they are informative, instead of "case 1,2,3" 2002-10-11 16:25:49 +00:00
Bryce Denney
bd9d45574d - make test requires make all 2002-10-11 16:22:18 +00:00
Bryce Denney
f4a7163433 - tweak DLL import/export macro so that the importer does not have to
define anything special.  If you are not an exporter, then it now
  assumes that you are an importer.
- modified:
	test2-dynamic/module1.h test2-dynamic/uselib.cc
	test3-twomodules/module1.h test3-twomodules/module2.h
	test3-twomodules/uselib.cc test4-interdep/module1.h
	test4-interdep/module2.h test4-interdep/uselib.cc
2002-10-11 16:21:33 +00:00
Kevin Lawton
491ca837f9 Fixed double quadword routines to work for little or big endian hosts. 2002-10-11 16:18:00 +00:00
Bryce Denney
6bd051de38 - add missing MODULE*_DLL_IMPORT definitions in uselib.cc 2002-10-11 16:15:09 +00:00
Bryce Denney
8f94d0a35b - rewrite DLL macros, now somewhat closer to how LT_SCOPE is written
in <ltdl.h>.  Now go back to Linux and test.
2002-10-11 16:09:21 +00:00
Bryce Denney
ba1e549490 - add "make test" target 2002-10-11 16:08:43 +00:00
Bryce Denney
dd9f00f100 - remove -mno-cygwin option from CXXFLAGS, duh 2002-10-11 16:01:11 +00:00
Bryce Denney
2f74efdb0a - rewrite DLL macros, now somewhat closer to how LT_SCOPE is written
in <ltdl.h>.  Now go back to Linux and test.
2002-10-11 15:59:21 +00:00
Bryce Denney
7f9c1489df - make it compile on non-win32 platforms by stuffing all the DLL details
into macros.  I got the idea for the MODULE1API(type) macros from
  expat.h that happens to be sitting on my disk.
- modified:
    test2-dynamic/module1.cc test2-dynamic/module1.h
    test3-twomodules/module1.cc test3-twomodules/module1.h
    test3-twomodules/module2.cc test3-twomodules/module2.h
    test4-interdep/module1.cc test4-interdep/module1.h
    test4-interdep/module2.cc test4-interdep/module2.h
2002-10-11 15:29:32 +00:00
Bryce Denney
059b59c98e - in bochs-testing area, check in shared library tests that I wrote while
trying to get plugins working on Cygwin.

Added Files:
	Makefile
	test1-static/*
	test2-dynamic/*
	test3-twomodules/*
	test4-interdep/*
2002-10-11 14:51:27 +00:00
Bryce Denney
51aa1fc3f0 - add README in the bochs-testing area. To check out the bochs-testing
area (which is not very interesting yet), set your CVSROOT and then
  do "cvs checkout bochs-testing".
2002-10-11 14:46:52 +00:00
Kevin Lawton
cffded3829 Simple implementations of the new double quadword functions in
access.cc for SSE[2] implementation by Stanislav.
2002-10-11 13:55:26 +00:00
Bryce Denney
14f9f230a8 - in OR_ALIb the local variable "sum" was changed to "result" but the
non-host-asm line at the end still said "sum".  Fixed.
2002-10-11 13:50:14 +00:00
Bryce Denney
be8db98f49 - applied in cvs 2002-10-11 13:21:34 +00:00
Bryce Denney
909b3104d9 - replace autoconf standard AC_SYS_LARGEFILE with wxWindows's AC_SYS_LARGEFILE
that actually works.
- modified: configure.in configure
- added:: aclocal.m4
2002-10-11 13:21:15 +00:00
Bryce Denney
d54402bfbd - this patch creates a new configure test which detects largefiles flags
correctly.  It is based on code from wxWindows, so I have asked
  Vadim Zeitlin for permission to include it.
2002-10-11 05:01:38 +00:00
Kevin Lawton
3183ab7102 Added some preliminary configure and config.h stuff for
SSE/SSE2 for Stanislav.  Also, some method prototypes and
  skeletal functions in access.cc for read/write double quadword
  features.

Also cleaned up one warning in protect_ctrl.cc for non-64 bit compiles.
  There was an unused variable, only used for 64-bit.
2002-10-11 01:11:11 +00:00
Volker Ruppert
445638e312 - new German keymap for SDL on X11 2002-10-10 18:30:16 +00:00
Volker Ruppert
a68e648853 - use keyboard mapping for keyup messages too 2002-10-10 18:02:08 +00:00
Bryce Denney
af6299e1d4 - make menu text more clear: now it says "Debug Console" instead of "Show Log"
- modified: gui/wxmain.cc gui/wxmain.h
2002-10-10 15:44:34 +00:00
Volker Ruppert
45720388bf - fixed some keymap entries 2002-10-09 18:08:42 +00:00
Volker Ruppert
e6f50cfabb - ascii chars are always Bit8u values (Bit32s has generated negative values for
codes > 0x7f)
2002-10-09 17:49:44 +00:00
Stanislav Shwartsman
30060682c1 Removed duplicate depencies list for mmx.cc 2002-10-08 21:31:56 +00:00
Stanislav Shwartsman
718d6e9814 Little bug fix 2002-10-08 21:30:50 +00:00
Bryce Denney
f133c6d1d0 - avoid a potential deadlock: if waiting for a sync response, stop waiting
if the gui wants to close.
2002-10-08 18:28:58 +00:00
Christophe Bothamy
cf33240efc This patch adds Tekram DC280E VLB-IDE support to Bochs.
This card has 2 ata channels, so this would be better
than the promise DC2300.  It also has drivers for win95,
available on tekram website.

Many thanks to Volker for fixing the interrupt bug!
It solved the problem I had with this patch...
2002-10-08 15:02:23 +00:00
Peter Tattam
b968c4e5c8 Latest round of patches/fixups to get 64 bit emulation further.
This is an interim update to allow others to test.

We have userland code running!!! (up to a point)

Able to start executing "sash" as /sbin/init in userland from linux 64 bit
kernel until it crashes trying to access a null pointer.  No kernel panics
though, just a segfault loop.
2002-10-08 14:43:18 +00:00
Bryce Denney
faff1d8715 - There can be no doubt that this is thoroughly out of date. 2002-10-08 07:29:21 +00:00
Bryce Denney
2fe9b943b6 - tweak parameters, at request of Bernd Korz 2002-10-08 07:09:58 +00:00
Bryce Denney
c74b8c55fc - add key mapping for SDL gui, to demonstrate/verify that key mapping is not
specific to X windows.  I changed a few names of variables and methods to
  sound less X windows specific, for example in the BXKeyEntry struct
  the "xwinKey" field is now called "hostKey".
- remove the hacks in bx_keymap_c::loadKeymap that checked that every
  keysym started with "XK_".  Now I can still make that check, but it
  is done in x.cc's convertStringToXKeysym() instead.
- in sdl.cc, load the keymap in specific_init function.  I had to
  create a conversion function from SDL key names to SDLkey values.
  I created a table of key names and associated values, and I just
  do a strcmp on each name.  It's not a fast algorithm obviously but this
  conversion only has to be done for maybe 200 keys at startup time.
- added a key map file for SDL called sdl-pc-us.map.  Since this has
  basically all the SDLK_* symbols defined, it is a good starting point
  if you need to make any other keymaps.
- modified: gui/keymap.cc gui/keymap.h gui/sdl.cc gui/x.cc iodev/keyboard.cc
- added: gui/sdlkeys.h gui/keymaps/sdl-pc-us.map
2002-10-08 06:14:53 +00:00
Kevin Lawton
b8d7f5c88e Moved the asm() statements from the arithmetic instruction emulation
into inline functions with asm() statements in cpu.h.  This cleans
  up the *.cc code (which now doesn't have any asm()s in it), and
  centralizes the asm() code so constraints can be modified in one
  place.  This also makes it easier to cover more instructions
  with asm()s for more efficient eflags handling.
2002-10-07 22:51:58 +00:00
Bryce Denney
0dd8da13d5 - Always enable the line that does
wxLog::SetActiveTarget (new wxLogStderr ());
  which used to be inside #ifdef __WXDEBUG__ ... #endif.  This fixes the
  problem of tons of little debug message dialogs appearing in wxwindows
  libraries built without debug support.
- This reverts revision 1.61.  I cannot figure out why I had trouble back on
  Sept 27, because now both my debug and release libraries work ok with the
  SetActiveTarget line.
2002-10-07 17:18:04 +00:00
Volker Ruppert
d460ec396a - harddisk controller interrupt must be enabled after a reset and the
completion of a read or write operation
- int13_harddisk function 0x00 calls ata_reset()
2002-10-07 16:16:04 +00:00
Bryce Denney
77a2d3fc89 - fix bug 619320 "wx: clicking mouse enable btn different". Now both
the toolbar button and the mouse capture shortcuts (F12 and middle button)
  call ToggleMouse().  The only difference is that the first time you
  press the toolbar button it gives a little message about mouse capture
  and how to turn it off.
- modified: gui/wx.cc gui/wxmain.cc gui/wxmain.h
2002-10-07 04:49:50 +00:00
Bryce Denney
84c33ec824 - I was getting occasional thread bugs and crashes when I click on
Quit while the simulation was running.  I used to just do
  wxFrame::Close(TRUE) in the wxwindows thread, but the simulation
  thread would keep on running even after the window had disappeared.
  If the simulation thread sent any messages to the gui, it could
  segfault.  Now, when you click on Quit it asks the simulator to
  quit, but does not close the gui.  When the simulator thread finally
  quits, THEN it calls wxFrame::Close(TRUE) from the sim_thread (with
  appropriate gui mutex).  Such tricks are only needed when the
  simulation is running.  I hope this will fix bug #616142: "wx: crash
  from events after gui shutdown".
- move MyFrame::closing flag out into a global variable wxBochsClosing
  so that it will be valid even when the MyFrame is deleted.  See
  comments on in wxmain.h.
- when wxBochsClosing is set, don't create any new windows.  If any
  errors appear, just print them to stderr because the gui is just
  about to be closed.
- fix comment in SimThread::Entry to talk about longjmp instead of
  kill_bochs_request
- (minor) move contents of DefaultCallback2 into DefaultCallback.  It
  doesn't refer to the wxApp at all.  This is a bit safer in case it
  gets called when the wxApp is in the process of being deleted.
- modified: gui/wxmain.cc gui/wxmain.h
2002-10-07 04:01:00 +00:00
Kevin Lawton
d7a16521c4 Replaced "return;" statements associated with bx_guard.special_unwind_stack
hack with longjmp() back to cpu.cc main decode loop, and added a
  check in there to return control when bx_guard.special_unwind_stack
  is set (compiling with debugger enabled only).

If in the debugger you try to execute further instructions
  (which you shouldn't), other fields need to be reset I would
  think, such as EXT and errorno, and have to make sure ESP/EIP
  are corrected properly.  Basically, this hack is only good
  for examining the current situation of a nasty fault.
2002-10-06 22:08:18 +00:00
Kevin Lawton
c6350caa48 Removed several "#if BX_CPU_LEVEL < 2" clauses, since stack64.cc
is only compiled for x86-64.
2002-10-06 21:38:02 +00:00
Stu Grossman
81f089da2e - Fix several bugs with uninitialized fields in sockaddr_in. Now this code
works under FreeBSD.
- Fix some formatting problems with long lines.
- Cleanup wait_for_connect().  Only set SO_REUSEADDR once.  Reuse sockaddr for
  bind() and accept().
- Turn on TCP_NODELAY to speed up GDB remote protocol transactions.
- In bx_gdbstub_init(), remove `Communicating...' message.  Add a `Waiting...'
  message just before calling wait_for_connect() to give the user some idea
  that the emulator is waiting for something.
2002-10-06 20:43:02 +00:00
Volker Ruppert
3c769207e2 - fixed some warnings at BX_INFO, BX_PANIC, BX_ERROR and BX_DEBUG 2002-10-06 20:19:03 +00:00