for debug configuration or obj-release for release configuration.
- instead of gui,iodev,cpu,etc. having their own obj-debug directory, it
all goes into a single output directory for the whole project. I did
this when I was having trouble getting any debug information from the
static library directories to be recognized in the VC++ debugger. Maybe
it's not necessary.
- changed the compile arguments for the debug config so that debug symbols
are created. We used to have:
debug config: /G6 /MT /W4 /GX /O2
Now it says this:
debug config: /MTd /W3 /GX /Z7 /Od
I guess I haven't tested the release config yet, but the debug config is
working great now. I even have symbolic debugging of functions in the
gui/iodev/cpu libraries.
I don't have to list them, and also apparantly fixes a mysterious problem
which occurred when Anders Nielsen was trying to build the RPM for
PPC: his rpm appears to gzip the man pages automatically, and then
complains that /usr/man/man1/bochs.1 is not found!
- start using autoconf/configure's standard of prefix, exec_prefix, bindir,
mandir to control where make install puts things
- added script install-x11-fonts
- make install no longer tries to install DLXlinux (since not everyone will
want it). Now you must do make install_dlx if you want it.
- renamed erase_install to uninstall
- in RPM spec file:
- run .conf.linux instead of .conf.linux-x86. This is just a name change.
- build directory hierarchy in the buildroot
- patch up broken symbolic links in buildroot (ugly)
- run font install script in %post
- clean up dlxlinux directory in %preun to avoid warning about not
removing /usr/local/bochs/dlxlinux/bochsout.txt
- remove /usr/local/bochs if nothing left in it
in BRANCH-smp-bochs revisions.
- The general task was to make multiple CPU's which communicate
through their APICs. So instead of BX_CPU and BX_MEM, we now have
BX_CPU(x) and BX_MEM(y). For an SMP simulation you have several
processors in a shared memory space, so there might be processors
BX_CPU(0..3) but only one memory space BX_MEM(0). For cosimulation,
you could have BX_CPU(0) with BX_MEM(0), then BX_CPU(1) with
BX_MEM(1). WARNING: Cosimulation is almost certainly broken by the
SMP changes.
- to simulate multiple CPUs, you have to give each CPU time to execute
in turn. This is currently implemented using debugger guards. The
cpu loop steps one CPU for a few instructions, then steps the
next CPU for a few instructions, etc.
- there is some limited support in the debugger for two CPUs, for
example printing information from each CPU when single stepping.