All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hopwood <david.nospam.hopwood@blueyonder.co.uk>
To: xen-devel@lists.sourceforge.net
Subject: Re: win4lin-like porting of win98 to xen?
Date: Mon, 11 Oct 2004 02:52:23 +0100	[thread overview]
Message-ID: <4169E757.2080006@blueyonder.co.uk> (raw)
In-Reply-To: <200410110138.10997.mark.williamson@cl.cam.ac.uk>

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

  parent reply	other threads:[~2004-10-11  1:52 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-10 16:17 win4lin-like porting of win98 to xen? Mikhail Ramendik
2004-10-10 16:32 ` M.A. Williamson
2004-10-10 19:39   ` Mikhail Ramendik
2004-10-10 22:41     ` Mark A. Williamson
2004-10-11  0:05       ` David Hopwood
2004-10-11  0:33         ` Brian Wolfe
2004-10-11  0:38         ` Mark A. Williamson
2004-10-11  1:03           ` Avery Pennarun
2004-10-11  9:05             ` Mikhail Ramendik
2004-10-11  9:21               ` Steven Hand
2004-10-11  1:52           ` David Hopwood [this message]
2004-10-11 11:33 Tom Cranbrook

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4169E757.2080006@blueyonder.co.uk \
    --to=david.nospam.hopwood@blueyonder.co.uk \
    --cc=xen-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.