Bochs 2.4pre1 released

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
stlw
Member
Member
Posts: 357
Joined: Fri Apr 04, 2008 6:43 am
Contact:

Bochs 2.4pre1 released

Post 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 !
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Re: Bochs 2.4pre1 released

Post 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
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Re: Bochs 2.4pre1 released

Post 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.
Last edited by clange on Sat Apr 18, 2009 8:06 am, edited 1 time in total.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: Bochs 2.4pre1 released

Post 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
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
stlw
Member
Member
Posts: 357
Joined: Fri Apr 04, 2008 6:43 am
Contact:

Re: Bochs 2.4pre1 released

Post 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
User avatar
xenos
Member
Member
Posts: 1118
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: Bochs 2.4pre1 released

Post 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? ;)
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
stlw
Member
Member
Posts: 357
Joined: Fri Apr 04, 2008 6:43 am
Contact:

Re: Bochs 2.4pre1 released

Post 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
JohnnyTheDon
Member
Member
Posts: 524
Joined: Sun Nov 09, 2008 2:55 am
Location: Pennsylvania, USA

Re: Bochs 2.4pre1 released

Post 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.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: Bochs 2.4pre1 released

Post 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
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
nevar
Posts: 12
Joined: Fri Feb 02, 2007 8:04 am

Re: Bochs 2.4pre1 released

Post 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.
stlw
Member
Member
Posts: 357
Joined: Fri Apr 04, 2008 6:43 am
Contact:

Re: Bochs 2.4pre1 released

Post 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
ambius
Posts: 1
Joined: Wed May 06, 2009 11:14 pm

Re: Bochs 2.4pre1 released

Post 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:2120: 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. :P
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Bochs 2.4pre1 released

Post by Combuster »

Don't use colors
Do use

Code: Select all

 tags 
And this version of bochs is already outdated, so why the necromancy?
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
kubeos
Member
Member
Posts: 138
Joined: Tue Jan 30, 2007 2:31 pm
Location: Kamloops BC, CANADA
Contact:

Re: Bochs 2.4pre1 released

Post 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.
xyzzy
Member
Member
Posts: 391
Joined: Wed Jul 25, 2007 8:45 am
Libera.chat IRC: aejsmith
Location: London, UK
Contact:

Re: Bochs 2.4pre1 released

Post 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
Locked