Nimgaonkar, Satyajeet
2010-Oct-25 16:42 UTC
[Xen-devel] Software Plugin Interface in Xen hypervisor
Hi All, Any pointer or sample code that I can refer to, to create a software plugin interface within the Xen hypervisor. Thanks.. Regards, Satyajeet _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Gianni Tedesco
2010-Oct-25 16:59 UTC
Re: [Xen-devel] Software Plugin Interface in Xen hypervisor
On Mon, 2010-10-25 at 17:42 +0100, Nimgaonkar, Satyajeet wrote:> Hi All, > Any pointer or sample code that I can refer to, to create a > software plugin interface within the Xen hypervisor. > Thanks..It would help if you could tell us what kind of software plugin interface? Something like "loadable hypervisor modules?" And for what purpose? :) Thanks Gianni _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Nimgaonkar, Satyajeet
2010-Oct-25 17:14 UTC
RE: [Xen-devel] Software Plugin Interface in Xen hypervisor
Hi Gianni, I want to modify the xen hypervisor such that I should be able to plug in software prototype of hardware architectures with in Xen. Once this architecture prototype is plugged in, all the VM''s on Xen will run on it. Thanks. Regards, Satyajeet ________________________________________ From: Gianni Tedesco [gianni.tedesco@citrix.com] Sent: Monday, October 25, 2010 10:59 AM To: Nimgaonkar, Satyajeet Cc: Xen Devel Subject: Re: [Xen-devel] Software Plugin Interface in Xen hypervisor On Mon, 2010-10-25 at 17:42 +0100, Nimgaonkar, Satyajeet wrote:> Hi All, > Any pointer or sample code that I can refer to, to create a > software plugin interface within the Xen hypervisor. > Thanks..It would help if you could tell us what kind of software plugin interface? Something like "loadable hypervisor modules?" And for what purpose? :) Thanks Gianni _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Gianni Tedesco
2010-Oct-25 18:16 UTC
RE: [Xen-devel] Software Plugin Interface in Xen hypervisor
On Mon, 2010-10-25 at 18:14 +0100, Nimgaonkar, Satyajeet wrote:> Hi Gianni, > I want to modify the xen hypervisor such that I should > be able to plug in software prototype of hardware architectures with > in Xen. Once this architecture prototype is plugged in, all the VM''s > on Xen will run on it. > Thanks. >Not sure what you mean by hardware architectures exactly. You mean you want to emulate devices? In this case, the place to do that would be qemu. In xen HVM domains, qemu is responsible for emulating all devices. Hope that helps. Gianni _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Nimgaonkar, Satyajeet
2010-Oct-26 16:24 UTC
RE: [Xen-devel] Software Plugin Interface in Xen hypervisor
Hi Gianni, I don''t want to emulate devices instead I just want to create a mechanism by modifying Xen hypervisor such that I can plug in any software prototype of an architecture. So basically this mechanism will be a software plug in interface, something like how VTPM is provided in Xen. I hope this helps you to understand my question. Thanks, Regards, Satyajeet ________________________________________ From: xen-devel-bounces@lists.xensource.com [xen-devel-bounces@lists.xensource.com] on behalf of Gianni Tedesco [gianni.tedesco@citrix.com] Sent: Monday, October 25, 2010 12:16 PM To: Nimgaonkar, Satyajeet Cc: Xen Devel Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor On Mon, 2010-10-25 at 18:14 +0100, Nimgaonkar, Satyajeet wrote:> Hi Gianni, > I want to modify the xen hypervisor such that I should > be able to plug in software prototype of hardware architectures with > in Xen. Once this architecture prototype is plugged in, all the VM''s > on Xen will run on it. > Thanks. >Not sure what you mean by hardware architectures exactly. You mean you want to emulate devices? In this case, the place to do that would be qemu. In xen HVM domains, qemu is responsible for emulating all devices. Hope that helps. Gianni _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Gianni Tedesco
2010-Oct-27 15:02 UTC
RE: [Xen-devel] Software Plugin Interface in Xen hypervisor
On Tue, 2010-10-26 at 17:24 +0100, Nimgaonkar, Satyajeet wrote:> Hi Gianni, > I don''t want to emulate devices instead I just want to create a mechanism by modifying Xen hypervisor such that I can plug in any software prototype of an architecture. So basically this mechanism will be a software plug in interface, something like how VTPM is provided in Xen. > I hope this helps you to understand my question. > Thanks,Yes I just didn''t know what you meant by "architecture." Basically this means "emulated devices" afaict? I mean VTPM is just a hardware device AIUI. What I said before about qemu being the place to implement devices is not strictly true. Some things, such as APIC''s and timers are implemented in the hypervisor for performance reasons. You may want to look at arch/x86/hvm/vlapic.c etc. for how this is done for HVM domains. For PV domains I guess we would just expose the relevant functionality through the hypercall interface. There isn''t really a "plug in" architecture that lets you swap these things in and out of the hypervisor at runtime. I think most devs are just compiling hypervisor and etherbooting it on a separate test machine with serial console setup. It really depends on the very specifics of what you are doing but if you really want rapid dev and testing, I would consider implementing your devices in qemu. Gianni _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Nimgaonkar, Satyajeet
2010-Oct-27 16:07 UTC
RE: [Xen-devel] Software Plugin Interface in Xen hypervisor
Thanks Gianni for those details, I will look into it. ________________________________________ From: xen-devel-bounces@lists.xensource.com [xen-devel-bounces@lists.xensource.com] on behalf of Gianni Tedesco [gianni.tedesco@citrix.com] Sent: Wednesday, October 27, 2010 9:02 AM To: Nimgaonkar, Satyajeet Cc: Xen Devel Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor On Tue, 2010-10-26 at 17:24 +0100, Nimgaonkar, Satyajeet wrote:> Hi Gianni, > I don''t want to emulate devices instead I just want to create a mechanism by modifying Xen hypervisor such that I can plug in any software prototype of an architecture. So basically this mechanism will be a software plug in interface, something like how VTPM is provided in Xen. > I hope this helps you to understand my question. > Thanks,Yes I just didn''t know what you meant by "architecture." Basically this means "emulated devices" afaict? I mean VTPM is just a hardware device AIUI. What I said before about qemu being the place to implement devices is not strictly true. Some things, such as APIC''s and timers are implemented in the hypervisor for performance reasons. You may want to look at arch/x86/hvm/vlapic.c etc. for how this is done for HVM domains. For PV domains I guess we would just expose the relevant functionality through the hypercall interface. There isn''t really a "plug in" architecture that lets you swap these things in and out of the hypervisor at runtime. I think most devs are just compiling hypervisor and etherbooting it on a separate test machine with serial console setup. It really depends on the very specifics of what you are doing but if you really want rapid dev and testing, I would consider implementing your devices in qemu. Gianni _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Nimgaonkar, Satyajeet
2010-Oct-27 19:06 UTC
RE: [Xen-devel] Software Plugin Interface in Xen hypervisor
Hi Gianni, I want to actually emulate the VCPU and Memory Management Unit and force the DOM Us to run on this new VCPU and MMU. Can you provide any pointers on how to achieve this? Thank you very much. Regards, Satyajeet ________________________________________ From: xen-devel-bounces@lists.xensource.com [xen-devel-bounces@lists.xensource.com] on behalf of Nimgaonkar, Satyajeet [SatyajeetNimgaonkar@my.unt.edu] Sent: Wednesday, October 27, 2010 10:07 AM To: Gianni Tedesco Cc: Xen Devel Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor Thanks Gianni for those details, I will look into it. ________________________________________ From: xen-devel-bounces@lists.xensource.com [xen-devel-bounces@lists.xensource.com] on behalf of Gianni Tedesco [gianni.tedesco@citrix.com] Sent: Wednesday, October 27, 2010 9:02 AM To: Nimgaonkar, Satyajeet Cc: Xen Devel Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor On Tue, 2010-10-26 at 17:24 +0100, Nimgaonkar, Satyajeet wrote:> Hi Gianni, > I don''t want to emulate devices instead I just want to create a mechanism by modifying Xen hypervisor such that I can plug in any software prototype of an architecture. So basically this mechanism will be a software plug in interface, something like how VTPM is provided in Xen. > I hope this helps you to understand my question. > Thanks,Yes I just didn''t know what you meant by "architecture." Basically this means "emulated devices" afaict? I mean VTPM is just a hardware device AIUI. What I said before about qemu being the place to implement devices is not strictly true. Some things, such as APIC''s and timers are implemented in the hypervisor for performance reasons. You may want to look at arch/x86/hvm/vlapic.c etc. for how this is done for HVM domains. For PV domains I guess we would just expose the relevant functionality through the hypercall interface. There isn''t really a "plug in" architecture that lets you swap these things in and out of the hypervisor at runtime. I think most devs are just compiling hypervisor and etherbooting it on a separate test machine with serial console setup. It really depends on the very specifics of what you are doing but if you really want rapid dev and testing, I would consider implementing your devices in qemu. Gianni _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Dan Magenheimer
2010-Oct-27 19:29 UTC
RE: [Xen-devel] Software Plugin Interface in Xen hypervisor
So you are talking about the guest and host having different instruction set architectures (ISA)? How different? Xen is not an instruction set emulator (though it does emulate some instructions under some situations). The reason Xen (and other hypervisors) are successful is because nearly all instructions are executed natively, at full performance, rather than using emulation, which is extremely slow. If you are researching minor architecture changes, you might consider a simulator such as Bochs or RSIM. If you are thinking about very different ISAs and binary translation, this might be of interest: http://www.hpl.hp.com/techreports/2007/HPL-2007-77.html Abstract: Virtualization is emerging as an important technology in future systems, providing an extra layer of abstraction between the hardware and operating system. Previous work on virtualization has focused on the partitioning, isolation, and encapsulation features of virtual machines and their use for different applications, but mainly in the context of a specific processor architecture. In this paper, we argue for integrating an interface transformation layer to virtualization, specifically combining virtualization with a dynamic binary translator. This feature significantly increases the benefits from current applications of virtualization (e.g., for server consolidation and resource provisioning) while potentially enabling additional new uses of virtualization matched with emerging trends (e.g., virtual appliances and heterogeneous hardware). We have built MagiXen - pronounced "magician" - a prototype implementation of a Xen virtual machine monitor with integrated binary translation that can run IA-32 virtual machines on Itanium platforms. We present performance results for several typical benchmarks and discuss insights from our experiences with building the prototype.> -----Original Message----- > From: Nimgaonkar, Satyajeet [mailto:SatyajeetNimgaonkar@my.unt.edu] > Sent: Wednesday, October 27, 2010 1:06 PM > To: Nimgaonkar, Satyajeet; Gianni Tedesco > Cc: Xen Devel > Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor > > Hi Gianni, > I want to actually emulate the VCPU and Memory > Management Unit and force the DOM Us to run on this new VCPU and MMU. > Can you provide any pointers on how to achieve this? > Thank you very much. > > Regards, > Satyajeet > ________________________________________ > From: xen-devel-bounces@lists.xensource.com [xen-devel- > bounces@lists.xensource.com] on behalf of Nimgaonkar, Satyajeet > [SatyajeetNimgaonkar@my.unt.edu] > Sent: Wednesday, October 27, 2010 10:07 AM > To: Gianni Tedesco > Cc: Xen Devel > Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor > > Thanks Gianni for those details, I will look into it. > ________________________________________ > From: xen-devel-bounces@lists.xensource.com [xen-devel- > bounces@lists.xensource.com] on behalf of Gianni Tedesco > [gianni.tedesco@citrix.com] > Sent: Wednesday, October 27, 2010 9:02 AM > To: Nimgaonkar, Satyajeet > Cc: Xen Devel > Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor > > On Tue, 2010-10-26 at 17:24 +0100, Nimgaonkar, Satyajeet wrote: > > Hi Gianni, > > I don''t want to emulate devices instead I just want to > create a mechanism by modifying Xen hypervisor such that I can plug in > any software prototype of an architecture. So basically this mechanism > will be a software plug in interface, something like how VTPM is > provided in Xen. > > I hope this helps you to understand my question. > > Thanks, > > Yes I just didn''t know what you meant by "architecture." Basically this > means "emulated devices" afaict? I mean VTPM is just a hardware device > AIUI. What I said before about qemu being the place to implement > devices > is not strictly true. Some things, such as APIC''s and timers are > implemented in the hypervisor for performance reasons. > > You may want to look at arch/x86/hvm/vlapic.c etc. for how this is done > for HVM domains. For PV domains I guess we would just expose the > relevant functionality through the hypercall interface. > > There isn''t really a "plug in" architecture that lets you swap these > things in and out of the hypervisor at runtime. I think most devs are > just compiling hypervisor and etherbooting it on a separate test > machine > with serial console setup. > > It really depends on the very specifics of what you are doing but if > you > really want rapid dev and testing, I would consider implementing your > devices in qemu. > > Gianni > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jeremy Fitzhardinge
2010-Oct-27 19:32 UTC
Re: [Xen-devel] Software Plugin Interface in Xen hypervisor
On 10/27/2010 12:06 PM, Nimgaonkar, Satyajeet wrote:> Hi Gianni, > I want to actually emulate the VCPU and Memory Management Unit and force the DOM Us to run on this new VCPU and MMU. > Can you provide any pointers on how to achieve this? Thank you very much.Do you mean a new virtual CPU architecture? Ie, not x86? If so, I think Xen is the wrong vehicle for your project, and you''d be better off hacking on qemu directly. J> Regards, > Satyajeet > ________________________________________ > From: xen-devel-bounces@lists.xensource.com [xen-devel-bounces@lists.xensource.com] on behalf of Nimgaonkar, Satyajeet [SatyajeetNimgaonkar@my.unt.edu] > Sent: Wednesday, October 27, 2010 10:07 AM > To: Gianni Tedesco > Cc: Xen Devel > Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor > > Thanks Gianni for those details, I will look into it. > ________________________________________ > From: xen-devel-bounces@lists.xensource.com [xen-devel-bounces@lists.xensource.com] on behalf of Gianni Tedesco [gianni.tedesco@citrix.com] > Sent: Wednesday, October 27, 2010 9:02 AM > To: Nimgaonkar, Satyajeet > Cc: Xen Devel > Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor > > On Tue, 2010-10-26 at 17:24 +0100, Nimgaonkar, Satyajeet wrote: >> Hi Gianni, >> I don''t want to emulate devices instead I just want to create a mechanism by modifying Xen hypervisor such that I can plug in any software prototype of an architecture. So basically this mechanism will be a software plug in interface, something like how VTPM is provided in Xen. >> I hope this helps you to understand my question. >> Thanks, > Yes I just didn''t know what you meant by "architecture." Basically this > means "emulated devices" afaict? I mean VTPM is just a hardware device > AIUI. What I said before about qemu being the place to implement devices > is not strictly true. Some things, such as APIC''s and timers are > implemented in the hypervisor for performance reasons. > > You may want to look at arch/x86/hvm/vlapic.c etc. for how this is done > for HVM domains. For PV domains I guess we would just expose the > relevant functionality through the hypercall interface. > > There isn''t really a "plug in" architecture that lets you swap these > things in and out of the hypervisor at runtime. I think most devs are > just compiling hypervisor and etherbooting it on a separate test machine > with serial console setup. > > It really depends on the very specifics of what you are doing but if you > really want rapid dev and testing, I would consider implementing your > devices in qemu. > > Gianni > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Nimgaonkar, Satyajeet
2010-Oct-27 20:19 UTC
RE: [Xen-devel] Software Plugin Interface in Xen hypervisor
Hi, Actually to be exact, I dont want to change the ISAs. The modified VCPU would be an extension of x86. For example if I am running a secure application, then I would like to add an encryption and decryption block within the VCPU. And then I would like to have an option of running a DOMU on this modified VCPU. I hope this makes more sense. Thank you very much. Regards, Satyajeet ________________________________________ From: Jeremy Fitzhardinge [jeremy@goop.org] Sent: Wednesday, October 27, 2010 1:32 PM To: Nimgaonkar, Satyajeet Cc: Gianni Tedesco; Xen Devel Subject: Re: [Xen-devel] Software Plugin Interface in Xen hypervisor On 10/27/2010 12:06 PM, Nimgaonkar, Satyajeet wrote:> Hi Gianni, > I want to actually emulate the VCPU and Memory Management Unit and force the DOM Us to run on this new VCPU and MMU. > Can you provide any pointers on how to achieve this? Thank you very much.Do you mean a new virtual CPU architecture? Ie, not x86? If so, I think Xen is the wrong vehicle for your project, and you''d be better off hacking on qemu directly. J> Regards, > Satyajeet > ________________________________________ > From: xen-devel-bounces@lists.xensource.com [xen-devel-bounces@lists.xensource.com] on behalf of Nimgaonkar, Satyajeet [SatyajeetNimgaonkar@my.unt.edu] > Sent: Wednesday, October 27, 2010 10:07 AM > To: Gianni Tedesco > Cc: Xen Devel > Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor > > Thanks Gianni for those details, I will look into it. > ________________________________________ > From: xen-devel-bounces@lists.xensource.com [xen-devel-bounces@lists.xensource.com] on behalf of Gianni Tedesco [gianni.tedesco@citrix.com] > Sent: Wednesday, October 27, 2010 9:02 AM > To: Nimgaonkar, Satyajeet > Cc: Xen Devel > Subject: RE: [Xen-devel] Software Plugin Interface in Xen hypervisor > > On Tue, 2010-10-26 at 17:24 +0100, Nimgaonkar, Satyajeet wrote: >> Hi Gianni, >> I don''t want to emulate devices instead I just want to create a mechanism by modifying Xen hypervisor such that I can plug in any software prototype of an architecture. So basically this mechanism will be a software plug in interface, something like how VTPM is provided in Xen. >> I hope this helps you to understand my question. >> Thanks, > Yes I just didn''t know what you meant by "architecture." Basically this > means "emulated devices" afaict? I mean VTPM is just a hardware device > AIUI. What I said before about qemu being the place to implement devices > is not strictly true. Some things, such as APIC''s and timers are > implemented in the hypervisor for performance reasons. > > You may want to look at arch/x86/hvm/vlapic.c etc. for how this is done > for HVM domains. For PV domains I guess we would just expose the > relevant functionality through the hypercall interface. > > There isn''t really a "plug in" architecture that lets you swap these > things in and out of the hypervisor at runtime. I think most devs are > just compiling hypervisor and etherbooting it on a separate test machine > with serial console setup. > > It really depends on the very specifics of what you are doing but if you > really want rapid dev and testing, I would consider implementing your > devices in qemu. > > Gianni > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel