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