Page 1 of 2
Bochs 2.4pre1 released
Posted: Sat Apr 18, 2009 3:15 am
by stlw
Bochs 2.4 is coming soon !
The first pre-release of Bochs 2.4 is now available for downloading from Bochs homepage !
Brief summary of changes:
- Added graphical Bochs debugger frontend for most of the supported platforms.
- - Thanks for Chourdakis Michael and Bruce Ewing.
- Many new CPU features in emulation
- - Support for > 32 bit physical address space and configurable MSRs
- VMX, 1G pages in long mode, MOVBE instruction
- Bugfixes for CPU emulation correctness, debugger and CPU instrumentation.
- New config interface 'win32config' with start and runtime menu
- USB: added OHCI support, external hub and cdrom
- Added user plugin interface support.
TODO for final release:
- documentation updates
- enable USB OHCI support for binary packages
- new MSVC project files
Direct download page -
http://bochs.sourceforge.net/cgi-bin/to ... _ideq12580
Please test and comment here or in sourceforce developers mailing list !
Re: Bochs 2.4pre1 released
Posted: Sat Apr 18, 2009 4:21 am
by clange
Hi
I just started testing briefly. How do you want feedback? Here or somewhere else?
EDIT: sorry just noticed the answer in your message
clange
Re: Bochs 2.4pre1 released
Posted: Sat Apr 18, 2009 5:38 am
by clange
Hi
I am using the pre compiled version for Windows.
Besides the new features it also seems to be much faster once again. Running some quick and dirty tests with 2.3.7 and the newest release indicated that the new version completes the tests in 55% to 75% percent of the time now. A very respectable speedup indeed.
One little bug (that was in 2.3.7 and possible earlier versions too). When Bochs captures the mouse input it doesn't seem to restrict the cursor to the Bochs window. It is possible for me to move the mouse very fast and have the cursor jump out of the Bochs window and onto my other screen. I use Synergy to share mouse and keyboard so the other screen is OS X. This seems to cause much confusion for Synergy
I suspect that this could be fixed with ClipCursor() but my knowledge of Windows programming is very limited so could someone please comment.
Bochs generally doesn't play well with Synergy. After Bochs have captured and released the cursor it is no longer possible to move the mouse cursor to other screens. I don't know if this is Bochs or Synergy. The error persists after Bochs has exited.
I like the new look of the Config dialog better than the old.
Well this has just been a brief test. But I will start using this for testing and if I find any issues I will let you know.
clange
EDIT: forgot to mention which version I tested.
Re: Bochs 2.4pre1 released
Posted: Sat Apr 18, 2009 6:21 am
by Brendan
Hi,
stlw wrote:Please test and comment here or in sourceforce developers mailing list !
I downloaded "bochs-2.4.pre1.tar.gz" into a clean directory, did "./configure --enable-debugger" then "make bochs", and got:
Code: Select all
gui/libgui.a(gtk_enh_dbg_osdep.o): In function `MakeGTKthreads()':
/home/bcos/Desktop/bochs-test/bochs-2.4.pre1/gui/gtk_enh_dbg_osdep.cc:2120: undefined reference to `pthread_create'
collect2: ld returned 1 exit status
make: *** [bochs] Error 1
I changed "Makefile.in" lines 92 and 93 to "CC = @CC@ -pthread" and "CXX = @CXX@ -pthread" as a temporary hack to get it to compile (but I know that's a bad solution)...
Cheers,
Brendan
Re: Bochs 2.4pre1 released
Posted: Sat Apr 18, 2009 10:06 am
by stlw
I downloaded "bochs-2.4.pre1.tar.gz" into a clean directory, did "./configure --enable-debugger" then "make bochs", and got:
Code: Select all
gui/libgui.a(gtk_enh_dbg_osdep.o): In function `MakeGTKthreads()':
/home/bcos/Desktop/bochs-test/bochs-2.4.pre1/gui/gtk_enh_dbg_osdep.cc:2120: undefined reference to `pthread_create'
collect2: ld returned 1 exit status
make: *** [bochs] Error 1
Brendan, what is you host OS?
Stanislav
Re: Bochs 2.4pre1 released
Posted: Sat Apr 18, 2009 11:10 am
by xenos
Maybe I'm missing something obvious, but... How can I start the debugger GUI? I downloaded the sources, configured with options "--with-win32 --enable-x86_64 --enable-debugger --enable-debugger-gui", compiled and started the fresh executable, but it only shows the command line debugger. I could not find any information on this. Is there a trick I'm missing?
Re: Bochs 2.4pre1 released
Posted: Sat Apr 18, 2009 12:21 pm
by stlw
XenOS wrote:Maybe I'm missing something obvious, but... How can I start the debugger GUI? I downloaded the sources, configured with options "--with-win32 --enable-x86_64 --enable-debugger --enable-debugger-gui", compiled and started the fresh executable, but it only shows the command line debugger. I could not find any information on this. Is there a trick I'm missing?
The same way as bewing's version had: in .bochsrc
#display_library: win32, options="gui_debug" # use Win32 debugger gui
Re: Bochs 2.4pre1 released
Posted: Sat Apr 18, 2009 3:31 pm
by JohnnyTheDon
Brendan wrote:
Code: Select all
gui/libgui.a(gtk_enh_dbg_osdep.o): In function `MakeGTKthreads()':
/home/bcos/Desktop/bochs-test/bochs-2.4.pre1/gui/gtk_enh_dbg_osdep.cc:2120: undefined reference to `pthread_create'
collect2: ld returned 1 exit status
make: *** [bochs] Error 1
I had the same issue on Arch Linux. Another workaround is to use 'LIBS=-lpthread ./configure' so it includes the pthead library. It appears something small is wrong with the build script.
Re: Bochs 2.4pre1 released
Posted: Sat Apr 18, 2009 4:31 pm
by Brendan
Hi,
For the GUI debugger, the docbook documentation shows "windebug" (which is wrong) in an example (in "4.2.13. display_library") but says nothing else anywhere else.
About the missing "-pthread", I'm using a 64-bit version of Gentoo, with "Linux version 2.6.27-gentoo-r8" and "gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.1)".
@JohnnyTheDon: It's a simple problem, but different OSs may need different fixes (e.g. some tool-chains might want "-lpthread" instead, and I'm guessing some tool-chains don't need anything), so it'd probably be something for autoconf to figure out.
Cheers,
Brendan
Re: Bochs 2.4pre1 released
Posted: Tue Apr 21, 2009 4:45 am
by nevar
In debugger when i send command "info tab" it still shows only values for virtual memory range from 0 to 4BG. I have some pages mapped at virtual address 0xFFFFFFFF80000000 but it isn't shown with "info tab". In graphical debugger it's the same problem.
Re: Bochs 2.4pre1 released
Posted: Tue Apr 21, 2009 11:02 am
by stlw
nevar wrote:In debugger when i send command "info tab" it still shows only values for virtual memory range from 0 to 4BG. I have some pages mapped at virtual address 0xFFFFFFFF80000000 but it isn't shown with "info tab". In graphical debugger it's the same problem.
I know to fix command line debugger - just add linear range to 'info tab' command.
But it will not affect GUI debugger at all. Anybody could help to update GUI debugger accordingly ?
Thanks,
Stanislav
Re: Bochs 2.4pre1 released
Posted: Wed May 06, 2009 11:32 pm
by ambius
gui/libgui.a(gtk_enh_dbg_osdep.o): In function `MakeGTKthreads()':
/home/bcos/Desktop/bochs-test/bochs-2.4.pre1/gui/gtk_enh_dbg_osdep.cc
undefined reference to `pthread_create'
collect2: ld returned 1 exit status
make: *** [bochs] Error 1
I figured out a good solution to the problem (on fedora 10, but I'm pretty sure it should work for windows as well). I'm not sure if it's because of a poor assumption made by the auto tools, or whether it was just omitted completely in Makefile.in; which is where I came up with a solution.
At line 183 in Makefile.in in the main directory, you should come across a little piece of code that looks like the following:
bochs@EXE@: @IODEV_LIB_VAR@ @DEBUGGER_VAR@ \
cpu/libcpu.a memory/libmemory.a gui/libgui.a \
@DISASM_VAR@ @INSTRUMENT_VAR@ $(BX_OBJS) \
$(SIMX86_OBJS) @FPU_VAR@ @GDBSTUB_VAR@ @PLUGIN_VAR@
@LINK@ @EXPORT_DYNAMIC@ $(BX_OBJS) $(SIMX86_OBJS) \
@IODEV_LIB_VAR@ @DEBUGGER_VAR@ cpu/libcpu.a memory/libmemory.a gui/libgui.a \
@DISASM_VAR@ @INSTRUMENT_VAR@ @PLUGIN_VAR@ \
@GDBSTUB_VAR@ @FPU_VAR@ \
@NONPLUGIN_GUI_LINK_OPTS@ \
$(MCH_LINK_FLAGS) \
$(SIMX86_LINK_FLAGS) \
$(READLINE_LIB) \
$(EXTRA_LINK_OPTS) \
$(LIBS)
I just added on a "\ -lpthread" to the end of it to look like this:
bochs@EXE@: @IODEV_LIB_VAR@ @DEBUGGER_VAR@ \
cpu/libcpu.a memory/libmemory.a gui/libgui.a \
@DISASM_VAR@ @INSTRUMENT_VAR@ $(BX_OBJS) \
.
.
.
$(LIBS)\
-lpthread
Now I'm no expert when it comes to auto-tools or compilers, so I'm not sure if it's different or any better than the little "@CXX@" hack above, but this has got to be better than linking every single object/library/executable file to pthreads that is being compiled. If you've already compiled some of the source code and are about to apply this, I would suggest you execute a "make clean" then execute "./configure" to make the changes reflect in the Makefile. Should be smooth sailing from here.
Re: Bochs 2.4pre1 released
Posted: Thu May 07, 2009 12:12 am
by Combuster
Don't use colors
Do use
Code: Select all
tags
And this version of bochs is already outdated, so why the necromancy?
Re: Bochs 2.4pre1 released
Posted: Thu May 07, 2009 8:48 am
by kubeos
2.4pre1 keeps freezing up on me for no apparent reason. I know it's not my OS because I tested it with my old 16-bit version and it does the same thing. My OS doesn't freeze on any of my real computers either. It doesn't seem to matter what I'm doing, it just freezes when it feels like it. There's nothing in the output logs, no panics or anything. I can't remember which version I had before but it never froze on me.
I'm on XP-Pro with a AMD Phenom X3 (Tri-Core), 3 gigs ram, Radeon 3650 (1gb) video. Directx 9.0c.
Hope that helps you.
Re: Bochs 2.4pre1 released
Posted: Thu May 07, 2009 9:29 am
by xyzzy
Did you not see what Combuster said about 2.4pre1 being out of date? 2.4 is out:
http://forum.osdev.org/viewtopic.php?f=2&t=19922