Commit Graph

117 Commits

Author SHA1 Message Date
Bryce Denney
9acf9f4198 - just to make it easier to read, move definition of some makefile
variables so that they are defined above the first time they are
  used.  "make" works ok either way.
2002-11-22 03:36:08 +00:00
Bryce Denney
5d05917565 - fix my stupid typo in macosx section. It should copy the resource fork
to a file called $(SCRIPT_COMPILED_RSRC).
2002-11-22 03:30:18 +00:00
Bryce Denney
7382b84f8c - A new GUI is born!
add SVGALIB display library by Igor Popik <igipop@wsfiz.edu.pl>
  While it's running, you can press F12 to escape into the runtime config
  menu, and then you can change disks or quit or whatever.

  Better not try it with the bochs debugger...you could get stuck.

Modified Files:
  Makefile.in config.h.in configure configure.in main.cc
  plugin.h gui/Makefile.in
Added Files:
  gui/svga.cc
Removed Files:
  patches/patch.svgalib-gui patches/patch.svgalib-gui-f12
2002-11-21 19:26:07 +00:00
Bryce Denney
1d106e59ad - small hack to make VPATH build work. 2002-11-21 17:52:59 +00:00
Bryce Denney
a648fc5a63 - clean up bochs.app and bochs.scpt files that are generated on MacOSX 2002-11-21 17:30:41 +00:00
Bryce Denney
4a01410fd0 - edit MacOSX make target to support building the applescript in two steps.
Step 1, the compile, must be done locally on a MacOSX machine.  This
  gives us the contents of the resource fork, which will be checked into
  CVS as script_compiled.rsrc every time the script sources change.  Step 2
  can be done remotely on the SF compile farm: reconstruct the script
  from the separate data and resource fork files.
- not all filesystems support resource forks!  I added a test in the
  makefile to check that the resource fork is accessible, so that at least
  we will get a clear error message if the filesystem doesn't support it.
2002-11-21 17:26:48 +00:00
Bryce Denney
9b7955c732 - rename VGABIOS-lgpl-README to .txt as well 2002-11-21 06:38:56 +00:00
Bryce Denney
0ab5bfa1d2 - move "$(LIBTOOL) --mode=link" into the @LINK@ configure variable, so that
it doesn't show up in nmake makefiles
2002-11-20 20:42:40 +00:00
Bryce Denney
bb428aaeb9 - use $(srcdir) to make VPATH compile work for bximage 2002-11-20 13:01:57 +00:00
Bryce Denney
e0b4cb6421 - nongnu make programs don't like "$<" except in pattern rules 2002-11-20 03:17:12 +00:00
Bryce Denney
002b7a3145 - the files in INSTALL_LIST_BIN_OPTIONAL were being omitted in
"make install_win32"
2002-11-19 21:31:00 +00:00
Bryce Denney
ab6cb49693 - this fixes bug #638600: need default plugin search path
- configure script adds -DBX_PLUGIN_PATH="${plugdir}" to CFLAGS/CXXFLAGS
  in the Makefile.
- in main.cc, if plugins enabled and the environment variable LTDL_LIBRARY_PATH
  is not set, then it gets set to the value supplied by BX_PLUGIN_PATH.

Modified Files:
  main.cc Makefile.in configure.in config.h.in configure
2002-11-18 02:32:53 +00:00
Bryce Denney
d3c734f3be - apply patch from Volker, who says:
> Dlltool creates a useless file called 'mingwex'.
  > I think the first dlltool call should only contain bochs object files and
  > no link options or external libraries.
2002-11-16 17:56:05 +00:00
Bryce Denney
53e9cc60e9 - remove GUI_LINK_OPTS from the dlltool line. The dlltool line only really
needs to include the .o's and .a's that are part of the Bochs source code
  so that it can create a list of Bochs symbols that need to be exported.
  I started out using the same list as the link line, but dlltool
  doesn't accept all the same options as the link such as -I and -L.
2002-11-16 12:55:09 +00:00
Bryce Denney
1bd9a44a9e - plugins are now called libbx_NAME.so for unix and bx_NAME.dll for win32.
- plugins are installed into ${plugdir} which is defined to be
  ${libdir}/bochs-${VERSION}/plugins.

Modified Files:
  Makefile.in plugin.cc configure.in configure gui/Makefile.in
  iodev/Makefile.in
2002-11-14 18:45:49 +00:00
Bryce Denney
0c734d9a4d - commit patch [ 629157 ] MacOSX Carbon Plugin Cleanup
by Jeremy Parsons <brefin@mac.com>
- modified: configure.in configure Makefile.in main.cc
2002-11-01 17:53:52 +00:00
Bryce Denney
692ee03065 - add "--export-all-symbols" to the dlltool line that produces bochs.def.
I believe that if we had correct BOCHSAPI macros on everything then it
  would not be necessary, and on my cygwin box it isn't necessary.  However
  it seems that on other versions of cygwin it is necessary.  The trouble with
  --export-all-symbols is that it's making bochs.exp much bigger so the binary
  grows by 900k, compared to exporting only the symbols that are marked.  If
  someone with that "other" version of cygwin can figure out where BOCHSAPI is
  needed, this can be removed.
2002-11-01 13:44:43 +00:00
Bryce Denney
a6aa9afd67 - rename "control" to "textconfig". It was named when we called it
a control panel, but now we're calling it a text configuration interface.

Modified:
    .bochsrc Makefile.in bochs.h main.cc cpu/Makefile.in
    debug/Makefile.in disasm/Makefile.in fpu/Makefile.in
    gui/Makefile.in iodev/Makefile.in memory/Makefile.in
2002-10-29 20:18:32 +00:00
Gregory Alexander
0201b362e1 Make the libtool --mode=link explicit for the main bochs link call.
This fixes a problem with linking under AIX.
2002-10-28 19:40:23 +00:00
Gregory Alexander
0987a6b2d8 bximage is a C program, not a C++ program.
Update Makefile.in to compile it that way.

This fixes a VisualAge problem which prevented bximage from compiling.


I still use the C++ linker for bximage since I don't think it
makes any difference.  If it does, that should be changed also.
2002-10-28 19:19:46 +00:00
Bryce Denney
fe7e2f5912 - add srcdir and VPATH 2002-10-28 08:42:28 +00:00
Bryce Denney
5e520261db Add plugin support to Bochs by merging all the changes from the
BRANCH_PLUGINS branch!

Authors:
  Bryce Denney
  Christophe Bothamy
  Kevin Lawton (we grabbed a lot of plugin code from plex86)
Testing help from:
  Volker Ruppert
  Don Becker (Psyon)
  Jeremy Parsons (Br'fin)

The change log is too long to paste in here.  To read the change log, do
  cvs log patches/patch.final-from-BRANCH_PLUGINS.gz

All the changes and a detailed description are contained in a patch
called patch.final-from-BRANCH_PLUGINS.gz.  To look at the complete
patch, do
  cvs upd -r1.1 patches/patch.final-from-BRANCH_PLUGINS.gz

Then you will have a local copy of the patch, which you can gunzip and
play with however you want.

Modified Files:
    .bochsrc Makefile.in aclocal.m4 bochs.h config.h.in configure
    configure.in gdbstub.cc logio.cc main.cc pc_system.cc
    pc_system.h state_file.h bios/Makefile.in bios/rombios.c
    cpu/Makefile.in cpu/access.cc cpu/apic.cc cpu/arith16.cc
    cpu/arith32.cc cpu/arith8.cc cpu/cpu.cc cpu/cpu.h
    cpu/ctrl_xfer32.cc cpu/exception.cc cpu/fetchdecode.cc
    cpu/fetchdecode64.cc cpu/flag_ctrl.cc cpu/flag_ctrl_pro.cc
    cpu/init.cc cpu/io.cc cpu/logical16.cc cpu/logical32.cc
    cpu/logical8.cc cpu/paging.cc cpu/proc_ctrl.cc
    cpu/protect_ctrl.cc cpu/segment_ctrl_pro.cc cpu/shift16.cc
    cpu/shift32.cc cpu/stack64.cc cpu/string.cc cpu/tasking.cc
    debug/Makefile.in debug/dbg_main.cc disasm/Makefile.in
    doc/docbook/user/user.dbk dynamic/Makefile.in fpu/Makefile.in
    gui/Makefile.in gui/amigaos.cc gui/beos.cc gui/carbon.cc
    gui/control.cc gui/control.h gui/gui.cc gui/gui.h
    gui/keymap.cc gui/keymap.h gui/macintosh.cc gui/nogui.cc
    gui/rfb.cc gui/sdl.cc gui/sdlkeys.h gui/siminterface.cc
    gui/siminterface.h gui/term.cc gui/win32.cc gui/wx.cc
    gui/wxdialog.cc gui/wxdialog.h gui/wxmain.cc gui/wxmain.h
    gui/x.cc gui/keymaps/sdl-pc-de.map gui/keymaps/sdl-pc-us.map
    gui/keymaps/x11-pc-de.map instrument/example0/instrument.h
    instrument/example1/instrument.h
    instrument/stubs/instrument.cc instrument/stubs/instrument.h
    iodev/Makefile.in iodev/biosdev.cc iodev/biosdev.h
    iodev/cdrom.cc iodev/cmos.cc iodev/cmos.h iodev/devices.cc
    iodev/dma.cc iodev/dma.h iodev/eth_fbsd.cc iodev/eth_linux.cc
    iodev/eth_null.cc iodev/eth_tap.cc iodev/floppy.cc
    iodev/floppy.h iodev/guest2host.cc iodev/guest2host.h
    iodev/harddrv.cc iodev/harddrv.h iodev/iodebug.cc
    iodev/iodebug.h iodev/iodev.h iodev/keyboard.cc
    iodev/keyboard.h iodev/ne2k.cc iodev/ne2k.h iodev/parallel.cc
    iodev/parallel.h iodev/pci.cc iodev/pci.h iodev/pci2isa.cc
    iodev/pci2isa.h iodev/pic.cc iodev/pic.h iodev/pit.cc
    iodev/pit.h iodev/pit_wrap.cc iodev/pit_wrap.h iodev/sb16.cc
    iodev/sb16.h iodev/scancodes.cc iodev/scancodes.h
    iodev/serial.cc iodev/serial.h iodev/slowdown_timer.cc
    iodev/slowdown_timer.h iodev/unmapped.cc iodev/unmapped.h
    iodev/vga.cc iodev/vga.h memory/Makefile.in memory/memory.cc
    memory/memory.h memory/misc_mem.cc misc/bximage.c
    misc/niclist.c
Added Files:
    README-plugins extplugin.h ltdl.c ltdl.h ltdlconf.h.in
    ltmain.sh plugin.cc plugin.h
2002-10-24 21:07:56 +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
f62c75ff5d - add GDB stub patch by Johan Rydberg 2002-10-03 05:23:20 +00:00
Bryce Denney
add4fbe892 - allow user to specify $WX_CONFIG variable before running configure, to
override default.  This is useful if you have more than one wx installation,
  for example debug and release libraries.
- modified: Makefile.in configure.in configure
2002-10-03 02:26:32 +00:00
Bryce Denney
e377b6dd5d - when building on for win32, add a "windres" command to build the
resources into wxbochs_resources.o, and link them in.
- modified: Makefile.in configure.in configure
2002-10-02 00:09:49 +00:00
Bryce Denney
4c9776fb96 - add -lwinmm to the link lines anytime you use --enable-sb16=win. Now
instead of winmm being a part of GUI_LINK_OPTS_WIN32 only, it is
  placed in @DEVICE_LINE_OPTS@ so that it will be used for sdl, rfb, wx,
  etc.
- solve compile problems when building bximage, niclist, and any other
  console based program.  The compile flags returned by wx-config and
  sdl-config did strange things to these console programs, for example
  redefining main to SDL_main.  Because I wanted to use the
  configure-generated CFLAGS to compile the programs, but I wanted to
  avoid including GUI specific compile options, I split up the configure's
  @CFLAGS@ variable into @CFLAGS@ and @GUI_CFLAGS@, and split
  @CXXFLAGS@ into @CXXFLAGS@ and @GUI_CXXFLAGS@.  All programs in the
  Bochs binary will use both, but the console programs will just use
  @CFLAGS@ or @CXXFLAGS@.
- gui/Makefile.in, I no longer use the gui specific CFLAGS variables,
  SDL_CFLAGS and WX_CXXFLAGS.  These values are included in CFLAGS and
  CXXFLAGS now.
- modified: configure.in, configure, all Makefile.in's
2002-10-01 23:37:50 +00:00
Bryce Denney
a96d0da728 - distinguish between $(srcdir)/build/macosx, where the source files
are found, and build/macosx, where the files created by configure are
  found.  Now VPATH build should work.
2002-09-23 03:58:25 +00:00
Bryce Denney
a6a63ce96c - macosx: add reference to new icons 2002-09-23 03:45:11 +00:00
Bryce Denney
90c4c03a7f - on make dist-clean, clean up the byproducts of rpm building 2002-09-22 23:42:35 +00:00
Bryce Denney
ec18d9b956 - add $(srcdir) in macosx install lines, so that it works in VPATH build 2002-09-22 17:43:38 +00:00
Bryce Denney
dc18466f15 - fix "fatal error U1083: target macro '' expands to nothing" that
Psyon reported
- clean up remnants of cpu64 merge in configure script, Makefile.in,
  and cpu/Makefile.in
2002-09-20 23:16:23 +00:00
Kevin Lawton
9b02229b84 Removed defunct options from configure.in (for dynamic translation
and old style fetchdecode cache).  Removed generations of
dynamic/Makefile.  Upgraded my autoconf to 2.50 to get rid
of those pesky "EOF" errors.
2002-09-20 15:34:51 +00:00
Kevin Lawton
846c50e635 Removed more references to cpu64 stuff in Makefile.in. 2002-09-16 20:41:11 +00:00
Kevin Lawton
5eb4e247bc Merged the final filed ("paging.cc") from Peter Tattam's x86-64
enhancement to bochs.  You can now configure with
--enable-guest2host-tlb.

Force the support of big pages (PSE) when x86-64 is configured.

Reverted back to only one kind of TLB entry style, since everything
is ported.

Fixed one bug in io.cc with as_64 and the index registers.
There are others, as noticed by Peter.
2002-09-16 20:23:38 +00:00
Kevin Lawton
80dd7a07ec Removed references to building libextdb.a. It doesn't seem to
be used at all, and Peter didn't want it.  "extdb.o" is compiled
into libcpu.a, if configured for it.

Removed a few #warnings for x86-64 compile, based on Peter's
line-item comments regarding the warnings I inserted during
the port/merge.
2002-09-15 15:10:21 +00:00
Kevin Lawton
aaeeab5850 Reverted back to using "ar" for making libraries. I had to
declare libs from cpu and cpu64 twice to make the linker
pick up all the symbols.
2002-09-14 05:46:57 +00:00
Kevin Lawton
4181e888e8 "make dist-clean" in top-level recurses to both cpu and cpu64
for cleanliness.
2002-09-13 05:31:28 +00:00
Kevin Lawton
c520824de5 Changed configure and the cpu + cpu64 dir Makefiles so it's easy
to incrementally merge files.  For a test, shift16.cc is always
compiled in the cpu/ directory regardless of 32/64-bit configure.
Ultimately, all files will migrate from cpu64 to cpu.
2002-09-13 02:56:14 +00:00
Kevin Lawton
6655634179 I merged the cpu/cpu.h and cpu64/cpu.h files as well as the
other header files.  There no longer are any *.h files in cpu64/.
Had to make some changes to the *.cc files for dealing with
accesses to eip.
2002-09-13 00:15:23 +00:00
Bryce Denney
0fdbbae45b - integrate Peter Tattam's x86-64 emulation code into the main branch!
This adds a whole new directory cpu64 with the new emulation code.
  Very few changes were necessary outside cpu64.  To try it, configure
  with --enable-x86-64 and make.
- also this adds Peter Tattam's external debugger interface.
- modified files: Makefile.in bochs.h config.h.in configure.in
  load32bitOShack.cc logio.cc cpu/Makefile.in cpu/cpu.cc debug/dbg_main.cc
- added files: cpu/extdb.cc cpu/extdb.h and cpu64/*
2002-09-12 07:16:37 +00:00
Bryce Denney
892eaab88c - in wxwindows compile, only include the wxwindows cflags on the few
files that need them.  This is more in line with the other gui libraries,
  and the compile line is easier to read.
- modified: Makefile.in configure.in configure gui/Makefile.in
2002-09-05 15:12:13 +00:00
Bryce Denney
f4157cad97 - the BIOS and other files have migrated to /usr/share/bochs, so now
"make unpack_dlx" needs to fix up the pathnames appropriately.
2002-09-04 21:13:21 +00:00
Bryce Denney
f78b7ca3b4 - update makefile dependencies 2002-08-28 03:02:56 +00:00
Volker Ruppert
d064db05b9 - 'make uninstall' now removes the 'bochs-docs' script too 2002-07-04 19:01:14 +00:00
Volker Ruppert
2ede8d7075 - manpage of bochsrc belongs to section 5. The file is renamed and the
references in the other manpages are updated.
- the version placeholder is now written in lowercase. This prevents the
  modification of the sed argument by 'configure'
- install/uninstall commands for the manpages in Makefile.in modified to make
  the changes obove work.
- header and footer of the manpages fixed
- pathnames of installed files updated (FHS compatibility)
- "parport1" section in the bochsrc manpage added
- new option "cdrom" in the "boot" section of the bochsrc manpage added
2002-06-29 18:35:32 +00:00
Christophe Bothamy
a7a6df9a1b - included patch.fhs. Detailed description:
see patch [ 551811 ]
   Location of some files on Bochs installation breaks the
   Filesystem Hierrachy Standard, to be found at:

   http://www.pathname.com/fhs/

   It is important to comply with FHS because most
   distributions require it in order to accept packages.
2002-06-25 07:30:44 +00:00
Bryce Denney
2bb90eae56 - don't panic if mkdir fails. Probably the dir already existed. 2002-06-19 15:15:59 +00:00
Bryce Denney
30aaf4088e - commit patch.wxwindows.gz in the main branch. Now you can try out
the wxwindows interface by just "configure --with-wx; make"

  Modified Files:
    Makefile.in bochs.h config.h.in configure configure.in
    load32bitOShack.cc logio.cc main.cc cpu/cpu.cc cpu/cpu.h
    debug/dbg_main.cc gui/Makefile.in gui/control.cc gui/gui.cc
    gui/siminterface.cc gui/siminterface.h gui/x.cc iodev/cdrom.cc
    iodev/keyboard.cc memory/misc_mem.cc
  Added Files:
    README-wxWindows wxbochs.rc gui/wx.cc gui/wxmain.cc
    gui/wxmain.h gui/bitmaps/cdromd.xpm
    gui/bitmaps/configbutton.xpm gui/bitmaps/copy.xpm
    gui/bitmaps/floppya.xpm gui/bitmaps/floppyb.xpm
    gui/bitmaps/mouse.xpm gui/bitmaps/paste.xpm
    gui/bitmaps/power.xpm gui/bitmaps/reset.xpm
    gui/bitmaps/snapshot.xpm
  Removed Files:
    patches/patch.wxwindows.gz
2002-04-18 00:22:20 +00:00