Mark A. Williamson wrote:
That suggests using some kind of Xen-compatible kernel that can provide
the DOS syscalls Win 9x needs to run.
This certainly won't work. Despite their reliance on DOS for some drivers,
Win9x are not strictly layered on DOS; they are 32-bit protected-mode OSes
that also rely heavily on direct hardware access.
Hmmm. Some tweaks to shadow page tables could be used to trap attempts to
load the page table base register, so the memory management code would work.
Of course IO port accesses would be prevented by Xen completely but this
could be worked round.
I'm skeptical; at the very least, anyone trying to do this would need a very
good understanding of Win9x internals to know what it is possible to get away
without virtualizing.
Duplicating the approach used by Win4Lin is also not a feasible amount of
work; it's almost a rewrite of the lower layers of Win9x.
What bits of Win 9x does Win4Lin actually replace?
Some information is at
<http://www.netraverse.com/support/docs/Win4Lin-whitepaper.php>.
From what I've read, the
kernel patch adds a DOS syscall interface that somehow helps Windows (apps)
to run.
The Win4Lin Linux kernel patch is just a tiny part of Win4Lin, to allow the
user-mode part to get at GDTs, LDTs, TSSs etc., plus some event-handling stuff
(you can basically see what it's doing by skimming through the function names
in the patch at
<http://www.netraverse.com/member/downloads/files/mki-adapter26_1_3_7.patch>).
The user-mode part emulates a PC BIOS, and provides network, filesystem,
printing and display services.
Presumably they don't reimplement all functionality of the win9x
kernel-layer (the thought makes me shiver!). I've never looked at the
Win4Lin patch but it would be interesting to know exactly where it hooks into
Windows Land.
It replaces the network, filesystem, low-level printing and display drivers;
the rest can be fooled into running in an incomplete virtualization.
For win9x under Xen I think that getting Win4Lin running under XenLinux would
be the most straightforward way of doing things. Is the kernel patch GPL?
Yes.
If so, the commercial bit must be the userland software and the device
drivers, right? Given that, the quickest way to a free Win4Lin would be to
reuse their kernel patch and rewrite the tools / drivers... Still a
nontrivial piece of work.
I'm not sure this really helps much; for understandable reasons they've tried
to do as much as possible in user mode.
(I have no connection to NeTraverse -- the above is just what I've inferred
from the white paper and the kernel patch.)
--
David Hopwood <david.nospam.hopwood@xxxxxxxxxxxxxxxx>
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|