From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Hopwood Subject: Re: win4lin-like porting of win98 to xen? Date: Mon, 11 Oct 2004 02:52:23 +0100 Sender: xen-devel-admin@lists.sourceforge.net Message-ID: <4169E757.2080006@blueyonder.co.uk> References: <1097425028.2679.5.camel@localhost.localdomain> <200410102341.03482.mark.williamson@cl.cam.ac.uk> <4169CE4E.6080905@blueyonder.co.uk> <200410110138.10997.mark.williamson@cl.cam.ac.uk> Reply-To: david.nospam.hopwood@blueyonder.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <200410110138.10997.mark.williamson@cl.cam.ac.uk> Errors-To: xen-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: xen-devel@lists.sourceforge.net List-Id: xen-devel@lists.xenproject.org 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 . > 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 ). 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 ------------------------------------------------------- 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