the current code page's mode. It was &'ing against fetchModeMask:
((pageWriteStamp & fetchModeMask) == fetchModeMask)
instead of against a constant mask which populates all the
relevant bits:
((pageWriteStamp & ICacheFetchModeMask) == fetchModeMask)
* Moved the check above to ::prefetch(), since nothing should change
between calls to that function. I added some code to functions
which load CS to make sure that is the case.
* Commented out several calls to invalidate_prefetch_q() in
ctrl_xfer{16,32,64}.cc. Changes to only EIP (i.e. CS is not
modified) don't matter any more. If EIP lands outside the
window of the current code page, ::prefetch() is called.
* These changes add a few percent of performance.
- move configure options section right after Standard Compile. It
was buried at the end of the section and hard to find before.
- fix section issue for sb16
- fix typo in pit description
- fix some FIXMEs
- move documentation section to the top
- move wxWindows after config interface and display library sections
- remove the massive list of SF bugs,features,etc. since they have
(mostly) been covered above
- erase to-do list since it's done
sash to run.
1) fixed fetchdecode64.cc to fix the operand size at 64 bits in long mode for moves
to/from CRx
2) minor patches to sse2.cc to fix unimplemented and 64 bit variants of sse2
instructions.
Because source files were added/removed it would require an update
of the windows and macos project files, so I want to wait until after 2.0.
M Makefile.in 1.51 back to 1.50
M cpu.h 1.121 back to 1.120
M fetchdecode.cc 1.37 back to 1.36
M fetchdecode64.cc 1.33 back to 1.32
M sse.cc 1.17 back to 1.16
A sse2.cc 1.27 back to 1.26 (added back)
R sse_move.cc removed
R sse_pfp.cc removed
- to bring these changes back again, all we have to do is
"cvs update -j tmp-before1 -j tmp-after1"
sse.cc -> general SSE stuff and SSE integer (MMX extensions)
sse_move.cc -> memory transfer and shuffle opcodes
sse_pfp.cc -> packed floating point operations
the script to behave. It checks the current directory and the directory one up
for bochs.app. If both those checks fails then it just outright asks the user
for what bochs to run. (And notes the path so it won't ask again unless it
doesn't find things where they last were)
Modified Files:
bochs.applescript script_compiled.rsrc
- add notes about dlcompat on macosx, libtool ltdl, DLL building on win32
- add x86-64 notes from Peter Tattam
- add PSE,PGE,PAE in cu section
- specify some of those carbon improvements based on reading logs
- update to-do list
value be the application's directory, no matter where it gets
installed. This is consistent with installing the bioses and
keymaps/* into the same directory as bochs.app.
Authors: Br'fin, Bryce
- for MacOSX/Carbon, if you start the app by double clicking in the finder,
there is no text console. So in logfunctions::fatal(), display the
final message in a Carbon dialog instead of using fprintf.
- in the text-mode config interface, return an error code if the
user tries to use the text menus when there's no text console.
Back in bxmain() this error code causes a panic
"Bochs needed the text console, but it was not usable"
- if a config file was not found, normally we turn off quick start
and drop into the text menus. However in the no-console case the
text menus won't work, so we added a panic: Unable to start Bochs
without a bochsrc.txt and without a text console. This is a much
more useful error than the generic one above.
- removed ensure_text_console() which was making matters worse instead
of better.
Modified Files:
logio.cc main.cc gui/siminterface.cc gui/siminterface.h gui/textconfig.cc
been closed since 1.4.1. This massive list is not going to stay in
here forever--it's just to help us remember, summarize, and cross
reference as we write the changelog. Note that some have been
closed but not resolved--we can't just assume that every single thing
has been marked "Fixed".
completely ignored and Bochs has always been returning 0. Now Bochs should
exit with the proper exit code.
- implementation: BX_EXIT(exitcode) calls SIM->quit_sim(exitcode).
quit_sim stores the exit code in the SIM object, then uses longjmp
to unwind the stack and return to main(). main() calls
SIM->get_exit_code() to retrieve the exit code and returns it.
- If you are wondering why we don't just call exit(exitcode), it is
because in the wxWindows interface all of the CPU simulation runs as one
thread while the user interface runs as another thread. With the longjmp
technique the simulation thread ends cleanly and it is possible to
start a new simulation thread without making a new process.
and miss index.html. Then they would only find the documentation about
the documentation--not so helpful. Therefore, on win32 package install
documentation into
- docs/index.html
- docs/user/*
- docs/development/*
- docs/documentation/*
be used for more things than just the BIOS. Also the keymaps need to
be located relative to the share path, and maybe other things like
graphics and icons, later.
with scp and then log in and gunzip it on the shell server. This speeds
up "make webinst" quite a bit.
- add "make dl_docs" which downloads a bochsdoc.tar.gz from the web site.
This will be used to grab the rendered documentation for platforms that
do not have docbook tools. (Most don't.)
- stop installing "README" because depending on where you put it, it can
overwrite the main README.
you have dlcompat installed. Without dlcompat, the configure/build works
fine but the plugins cannot be loaded. This new test prints a meaningful
error message before you waste any time trying to build it and figure
out why the plugins cannot be dlopened.
authors. If someone has contributed a section, we would give them credit in
that section. If they write enough sections, we can take out the
section-by-section credits and list them as an author.
make install it will build the docbook documentation and install it
into $(prefix)/share/doc/bochs. If it is not specified, then it will
be enabled only if the program "docbook2html" is found in your path.
- this completes [ 652957 ] install docbook docs instead of HTML
Modified Files:
Makefile.in configure configure.in doc/docbook/Makefile.in
- only rebuild docbook stuff when the source is newer
- add install target
- allow $SFUSER environment variable to define the sf username, instead of
hardcoding the user->sfuser translations in the makefile.
- now alldocs is called index.html
- add dist-clean target
- now configure script does substitutions in doc/docbook/Makefile.in
- add "make install_docbook" target in main makefile that runs make install
in doc/docbook. It will not be run unless you ask for it.
Modified Files:
configure.in Makefile.in configure doc/docbook/Makefile.in
things up for MacOSX, and I don't want to risk that right now just before
the release. I changed it to #if BX_WITH_MACOS to be safe.
(Bochs makefiles currently define -Dmacintosh on OSX. Maybe they
shouldn't but I'm not going to change it right now.)
be zero. I changed it to #ifdef macintosh.
- removed extern "C" {} that only encompassed two #defines. If there
were any includes in there it would be important, but there weren't.
is important because many people don't have the tools to rebuild them.
They will only be removed if you type "make bios-clean", which people
are unlikely to do by accident.
- I had to hack around the disk image size measurement and force it to use
a 20meg disk image. Otherwise it would run out of space while copying
the files into the image. I don't know why this was necessary.
eject, insert, eject, etc. several extra times before allowing you to
actually change the CD. The extra insert/eject cycles were coming from the
param handlers for cdrom status and for the cdrom pathname. To fix this, I
changed wxdialog.cc and textconfig.cc to only call set() on parameters if
they are different from the original value. Now it generally does what you
would expect.
- to change physical CD: change the Bochs CD status to "ejected". On some OSes
that will actually eject it, but on others it will simply close the file so
that the eject button will actually work. Then put the new CD into the
drive, and change the Bochs CD status to "inserted".
Modified Files:
main.cc gui/siminterface.cc gui/siminterface.h
gui/textconfig.cc gui/wxdialog.cc
the first cdrom. Implemented by MyFrame::editFirstCdrom().
- eliminate OnOtherEvent and call OnEditATA directly from the event table.
Modified Files:
gui/wxmain.cc gui/wxmain.h