Hello, I have a question. If it''s dumb, I apologize in advance ;) There is one previous successful attempt to do "partial virtualization", adapting the guest OS to increase performance. It''s Win4Lin, and they adapted win9x by installing drivers. Now, perhaps the same kind of adaptation could be possible for xen? I understand WinXP is better than Win98; but the XP port has licensing problems. The structure of Win98, as far as I understand, allows to replace many things with "drivers" while not including Microsoft proprietary code (except redistributable things like the DDK). This kind of port could be made public. In this case xen would probably get a large userbase, as it would be an open-source, and probably more versatile (i.e. one could add MIDI support), replacement for win4lin. I, for one, would switch at once. So, is this possible? Yours, Mikhail Ramendik ------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
M.A. Williamson
2004-Oct-10 16:32 UTC
Re: [Xen-devel] win4lin-like porting of win98 to xen?
> I have a question. If it''s dumb, I apologize in advance ;)No, it''s a good question.> There is one previous successful attempt to do "partial virtualization", > adapting the guest OS to increase performance. It''s Win4Lin, and they > adapted win9x by installing drivers.The Win4Lin approach installs drivers for "virtual devices", like Xen does from disk and network. It also pretends to Win9x that it''s somehow running on DOS and emulates the DOS syscalls Windows needs to run. The Win4Lin host kernel patch adds support for these syscalls.> So, is this possible?One could imagine some sort of minimal OS that provides enough functionality for Win9x to run on by emulating DOS-like functionality. That''d be kinda cool but the straightforward approach would be to get the Win4Lin patch to apply to XenLinux - it should be possible to do this with some work. I think somebody''s trying it at the moment - there''s a recent thread on this in the mailing list archives, which you may find relevant. HTH, Mark> > Yours, Mikhail Ramendik > > > > > > ------------------------------------------------------- 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@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/xen-devel------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Mikhail Ramendik
2004-Oct-10 19:39 UTC
Re: [Xen-devel] win4lin-like porting of win98 to xen?
M.A. Williamson wrote:> > So, is this possible? > > One could imagine some sort of minimal OS that provides enough > functionality for Win9x to run on by emulating DOS-like functionality. > That''d be kinda cool but the straightforward approach would be to get the > Win4Lin patch to apply to XenLinux - it should be possible to do this with > some work. I think somebody''s trying it at the moment - there''s a recent > thread on this in the mailing list archives, which you may find relevant.This approach would enable running Win4Lin. My idea would be, instead, to replace Win4Lin entirely. Of course it may be somewhat unfair to the Win4Lin folks, but OTOH, it could become the ground for providing enhanced capabilities (like MIDI). As for a minimal DOS, well there''s FreeDOS. (I''m not sure if people have managed to start w98 over FreeDOS). Yours, Mikhail Ramendik ------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Mark A. Williamson
2004-Oct-10 22:41 UTC
Re: [Xen-devel] win4lin-like porting of win98 to xen?
> This approach would enable running Win4Lin. My idea would be, instead, > to replace Win4Lin entirely.That suggests using some kind of Xen-compatible kernel that can provide the DOS syscalls Win 9x needs to run. Maybe this could be a (perhaps suped-up) FreeDOS, as you suggest, if someone were to port it to Xen. I don''t know if FreeDOS can host Win 9x currently... OTOH, maybe its still possible to use a ported Win4Lin kernel patch to allow Win 9x to be hosted on a XenLinux kernel. Instead of using the Win4Lin virtual device drivers, you''d want to write some Xen-compatible ones for Win9x to talk to the block / net backends. You''d also need to figure out a suitable solution for display virtualisation. This approach would avoid you using the parts of Win4Lin that are non-free. There was another thread involving porting ReactOS (GPL licensed Windows clone) to Xen, recently. Something like this would be another option for Windows compatibility, although for now ReactOS is probably less compatible with Windows apps than Win 9x is ;-) HTH, Mark ------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Mark A. Williamson wrote:>>This approach would enable running Win4Lin. My idea would be, instead, >>to replace Win4Lin entirely. > > 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. 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. -- David Hopwood <david.nospam.hopwood@blueyonder.co.uk> ------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Sounds like reactOS is the best hope then. 8-P Took a peek earlier and liked what I saw about thier project. On Sun, 2004-10-10 at 19:05, David Hopwood wrote:> Mark A. Williamson wrote: > > >>This approach would enable running Win4Lin. My idea would be, instead, > >>to replace Win4Lin entirely. > > > > 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. > > 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.------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Mark A. Williamson
2004-Oct-11 00:38 UTC
Re: [Xen-devel] win4lin-like porting of win98 to xen?
> > 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.> 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? From what I''ve read, the kernel patch adds a DOS syscall interface that somehow helps Windows (apps) to run. 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. 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? 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. Thanks for the help, Mark ------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Avery Pennarun
2004-Oct-11 01:03 UTC
Re: [Xen-devel] win4lin-like porting of win98 to xen?
On Mon, Oct 11, 2004 at 01:38:10AM +0100, 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.Clearly something must work, because win4lin runs fine (and very fast!) under Linux, and I''m v*ery* sure it''s not allowed to randomly probe I/O ports there.> > 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?At least: video driver, input drivers, sound drivers, network drivers, parallel/serial port drivers, filesystem. It doesn''t emulate a block device because it replaces the filesystem entirely.> From what I''ve read, the kernel patch adds a DOS syscall interface that > somehow helps Windows (apps) to run. 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.The kernel patch, while mildly interesting, is definitely not the hardest part of win4lin.> For win9x under Xen I think that getting Win4Lin running under XenLinux > would be the most straightforward way of doing things.Yes.> Is the kernel patch GPL? 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.A free win4lin (ie. rewriting all those drivers) would be a *massive* amount of work. Fun, but a lot of work. And it gets more and more obsolete each day. Lots of stuff still runs under win98, but it''s certainly not a target platform for modern developers. Have fun, Avery ------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
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@blueyonder.co.uk> ------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Mikhail Ramendik
2004-Oct-11 09:05 UTC
Re: [Xen-devel] win4lin-like porting of win98 to xen?
Avery Pennarun wrote:> A free win4lin (ie. rewriting all those drivers) would be a *massive* amount > of work. Fun, but a lot of work. And it gets more and more obsolete each > day. Lots of stuff still runs under win98, but it''s certainly not a target > platform for modern developers.Actually I thought that, perhaps, much of the work from the WinXP port could be adapted to a Win98 snap-in port? (As I understand, the WinXP structure is so different that a snap-in port for it without breaking some MS license would be impossible. Otherwise you''d have done it already ;). The main idea behind any win9x port is end-user value. ReactOS is an attempt to recreate the Win32 API, like Wine (but with a different method). Wine''s main problem from the user side is the presence of various "quirks", minor differences between its implementation and the Microsoft one; they cause applications to misbehave strangely. ReactOS might have the same problem, and thus, its end-user value, under Xen or alone, might be significantly less than that of Win4Lin (or a Xen XP, if that were available to the users). Of course I understand that for end-user value alone, the presence of a proprietary solution is sufficient. And, Win98 support is indeed getting obsolete. So the only thing that Xen would get from this kind of support would be an expanded user base. Not a "first-of-a-kind" value, not technical advantage, only user adoption. The only people qualified to decide whether this is needed are those who know how hard it is - i.e. what actually is in the WinXP port and how easy would it be to move it to win98. Yours, Mikhail Ramendik ------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
>Avery Pennarun wrote: > >> A free win4lin (ie. rewriting all those drivers) would be a *massive* amount >> of work. Fun, but a lot of work. And it gets more and more obsolete each >> day. Lots of stuff still runs under win98, but it''s certainly not a target >> platform for modern developers. > >Actually I thought that, perhaps, much of the work from the WinXP port >could be adapted to a Win98 snap-in port?There''s almost no similarity between win98 and XP at the kernel level.>(As I understand, the WinXP structure is so different that a snap-in >port for it without breaking some MS license would be impossible. >Otherwise you''d have done it already ;).Any port of XP which results in a modified binary of any sort is at the very least unsupported by MS (including for example running XP on VMWare). And anything based on modified XP source will have limited or zero distribution prospects.>From reading this thread my opinion is that our best bets are:1. work on getting a ReactOS port, and/or 2. wait for Intel''s VT which may (or may not - I have only IDF announcements to go on) make unmodified XP support an option. Anyone from ReactOS here (or familiar with it) want to take a stab? cheers, S.
> >For win9x under Xen I think that getting Win4Lin running under XenLinuxwould>be the most straightforward way of doing things. Is the kernel patch GPL?>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 beto>reuse their kernel patch and rewrite the tools / drivers... Still a >nontrivial piece of work.I have looked moderately closely at the win4lin patch and Xen. For the most part, they look like they can be merged. There is one area that is probably the deal braker. Win4Lin modifies the layout of the Generl Descriptor Table at the CPU memory segment level, as does Xen, and there is an area of overlap. This may be fixable, but not at my skill levels. Check out the patch on segment.h in the Win4Lin patch. ------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel