Barry Silverman
2004-Apr-02 21:14 UTC
[Xen-devel] Non-standard use of Xen I/O Architecture
I have an off-the-wall question here: I have been looking to develop a stand-alone non-linux guest OS to run embedded applications (e.g. game console emultator), but have always been deterred by having to build a network stack, and support hardware device drivers. Would it be theoretically possible for Xen/Domain 0 to supply higher level services (E.G, sshd connection mapping, or VNC servers) running in custom built servers - to service simple guest (non-linux) drivers that use the evtchn/share memory interface? The idea would be to run Xen, and a set of guest-OS servers in Domain 0, and then use the simple Guest/Domain 0 protocols to support relatively high level services. For example (and this is somewhat contrived...): I have a PDP-11 emulator that runs the ancient Unix (Thompson & Ritchie''s original 1976 Unix 5th Edition). I would like to run the emulator, and the Unix as a guest (in fact more than one...). I would like someone SSH''ing in on specific ports to boot their own Ancient Unix, and to run it from the "console", as well as expose incoming ssh connections as Hardware terminal multiplexer ports. I would construct a custom SSH server to run on Domain 0. Incoming SSH connections would: 1) Spawn a new guest - and boot an emulator, and assign a cow file system to the virtual guest disk drive. 2) Connect the pty part of the ssh to the guest OS serial port using the evtchn protocol, and run the PDP-11 emulator in the guest. It would contain my own versions of the Guest Disk, Serial and TTY pseudo drivers. In this way, Xen/Domain 0 can provide a set of scaffolding to otherwise embedded applications. Barry Silverman ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
> Would it be theoretically possible for Xen/Domain 0 to supply higher level > services (E.G, sshd connection mapping, or VNC servers) running in custom > built servers - to service simple guest (non-linux) drivers that use the > evtchn/share memory interface?Sure. Xen provides a great environment for developing custom OSes without having to worry about about hardware device support etc. With the new IO model, you could even provide the guest OS with very high-level abstractions: For example, you could provide the guest with a reliable byte stream network connection implemented over an SSL or SSH connection in another domain.> For example (and this is somewhat contrived...): > I have a PDP-11 emulator that runs the ancient Unix (Thompson & Ritchie''s > original 1976 Unix 5th Edition). I would like to run the emulator, and the > Unix as a guest (in fact more than one...). > > I would like someone SSH''ing in on specific ports to boot their own Ancient > Unix, and to run it from the "console", as well as expose incoming ssh > connections as Hardware terminal multiplexer ports.Sure, all do-able with a bit of programming... Ian ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Barry Silverman
2004-Apr-02 21:46 UTC
RE: [Xen-devel] Non-standard use of Xen I/O Architecture
Great, I was hoping you would say that... Will some documentation be available (or will you update the mini-os example) to describe the guest driver interface that are not in a linux driver? Barry Silverman -----Original Message----- From: Ian Pratt [mailto:Ian.Pratt@cl.cam.ac.uk] Sent: Friday, April 02, 2004 4:40 PM To: Barry Silverman Cc: xen-devel@lists.sourceforge.net; Ian.Pratt@cl.cam.ac.uk Subject: Re: [Xen-devel] Non-standard use of Xen I/O Architecture> Would it be theoretically possible for Xen/Domain 0 to supply higher level > services (E.G, sshd connection mapping, or VNC servers) running in custom > built servers - to service simple guest (non-linux) drivers that use the > evtchn/share memory interface?Sure. Xen provides a great environment for developing custom OSes without having to worry about about hardware device support etc. With the new IO model, you could even provide the guest OS with very high-level abstractions: For example, you could provide the guest with a reliable byte stream network connection implemented over an SSL or SSH connection in another domain.> For example (and this is somewhat contrived...): > I have a PDP-11 emulator that runs the ancient Unix (Thompson & Ritchie''s > original 1976 Unix 5th Edition). I would like to run the emulator, and the > Unix as a guest (in fact more than one...). > > I would like someone SSH''ing in on specific ports to boot their ownAncient> Unix, and to run it from the "console", as well as expose incoming ssh > connections as Hardware terminal multiplexer ports.Sure, all do-able with a bit of programming... Ian ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Rolf Neugebauer
2004-Apr-02 23:31 UTC
RE: [Xen-devel] Non-standard use of Xen I/O Architecture
> -----Original Message----- > From: xen-devel-admin@lists.sourceforge.net [mailto:xen-devel- > admin@lists.sourceforge.net] On Behalf Of Barry Silverman > Sent: 02 April 2004 13:46 > To: Ian Pratt > Cc: xen-devel@lists.sourceforge.net > Subject: RE: [Xen-devel] Non-standard use of Xen I/O Architecture > > Great, I was hoping you would say that... > > Will some documentation be available (or will you update the mini-os > example) to describe the guest driver interface that are not in a linux > driver?The "guest driver interface" or virtual device interface is not yet implemented, though we expect this to be available over the next couple of weeks. Likewise, direct device access for domains other than dom0. Primary documentation will be the header files and sample implementation in xenolinux :) time permitting we would also update mini-os with some sample device driver, though they will look a lot like the ones in xenolinux and it is not quite clear to me how much use they would be without also pulling in say some sort of a network stack. We plan to write up some of this but don''t yet know yet to which detail. Rolf> > Barry Silverman > -----Original Message----- > From: Ian Pratt [mailto:Ian.Pratt@cl.cam.ac.uk] > Sent: Friday, April 02, 2004 4:40 PM > To: Barry Silverman > Cc: xen-devel@lists.sourceforge.net; Ian.Pratt@cl.cam.ac.uk > Subject: Re: [Xen-devel] Non-standard use of Xen I/O Architecture > > > > > Would it be theoretically possible for Xen/Domain 0 to supply higher > level > > services (E.G, sshd connection mapping, or VNC servers) running in > custom > > built servers - to service simple guest (non-linux) drivers that use the > > evtchn/share memory interface? > > Sure. Xen provides a great environment for developing custom OSes > without having to worry about about hardware device support etc. > > With the new IO model, you could even provide the guest OS with > very high-level abstractions: For example, you could provide the > guest with a reliable byte stream network connection implemented > over an SSL or SSH connection in another domain. > > > For example (and this is somewhat contrived...): > > I have a PDP-11 emulator that runs the ancient Unix (Thompson & > Ritchie''s > > original 1976 Unix 5th Edition). I would like to run the emulator, and > the > > Unix as a guest (in fact more than one...). > > > > I would like someone SSH''ing in on specific ports to boot their own > Ancient > > Unix, and to run it from the "console", as well as expose incoming ssh > > connections as Hardware terminal multiplexer ports. > > Sure, all do-able with a bit of programming... > > Ian > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/xen-devel------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Keir Fraser
2004-Apr-03 08:35 UTC
Re: [Xen-devel] Non-standard use of Xen I/O Architecture
> Great, I was hoping you would say that... > > Will some documentation be available (or will you update the mini-os > example) to describe the guest driver interface that are not in a linux > driver?We ought to write more documentation. :-) The mini-OS doesn''t currently do any I/O -- it''s just an example of setting up exception vectors, page tables, and other CPU stuff. This is the kind of thing that tends to get buried in the bootstrap cruft in a full-sized OS and so is useful to pull out into somethign simpler. Device drivers are usually self-contained, and so easy to find and understand -- hopefully the Linux virtual drivers will suffice as a ''reference implementation''. -- Keir ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel