On Fri, 28 Dec 2001 16:34:33 +0100, Bas Mevissen wrote:

>Only feasable if Bochs is actively maintained.
>
>| Now the bochs code uses "plugins" from bochs. Maybe it is also possible to
>| make plex86 a plugin into bochs. Just like a
>| written-in-assembler-and-optimized-for-this-single-host-processor code
>| interpreter could be a plugin into bochs.
>
>I think we better opt for using from Bochs what we need and go on with what
>we have from Plex86. To be honest, I want to get rid of any Bochs reference.
>It is a great source, but this project is Plex86 and in my opinion, we
>should not do anything because it is done in Bochs that way.

This is just a quick update as to the current status of Bochs, from a
lurker on both lists (so take everything with a grain of salt):

Bochs is adding hardware support at a decent clip of late.  NE2000
support has been expanded to multiple host OS's (Windows and Linux
being the big ones), ability to mount CD's directly into Bochs,
SoundBlaster support, etc. etc. is expanding as well.

Bochs is becoming actually friendly.  Bochs can be configured with
minimal config file tinkering.  There is a text UI for on-the-fly
configuration changes.  The debugger is being expanded as well.

If you'll recall, Plex86 started as an offshoot of Kevin's research
into how to make Bochs faster.  Eventually, you (probably) get to the
realization that virtualization is superior (of course, assuming you
have an x86 processor) than emulation.  (I say probably because I've
read that Connectix's VirtualPC uses emulation *even* on x86, and it's
fast.)  But virtualization really only helps you with raw CPU code that
does not touch the hardware one iota.  Beyond that, it gets *really*
diecy.  If you've played with VMWare you'll notice that a lot of
hardware is either emulated to a greater or lesser degree (it sure
seems like greater in many cases), or that there are guest-OS-specific
drivers to circumvent this.

This is the exact same case as Bochs.  Looking at Plex86 as a
CPU-"emulation"-plugin to Bochs may be the best way to leverage the
development efforts of both camps.  The sticking point is the
definition of the interface between the CPU core code and the periphial
emulation code.  In fact, there was a discussion underway at the Bochs
list last week about this exact topic:  the sharing of code and
interfaces between Plex86 and Bochs.

Of course, if it were just that easy, Kevin (the author of Bochs, for
crying out loud) probably wouldn't have abandoned Bochs for Plex86. 
Again, take all of this with a grain of salt.

I believe that Bryce (the head maintainer of Bochs) is subscribed out
here, too:  I'm sure he will correct my mistaken assumptions.  But with
the recent drop in work on Plex86 and the recent flurry of work on
Bochs, it sure seems to make sense to try to share work *wherever*
possible...

Back to lurking.

Tim Massey




Reply via email to