* [new PV device]
@ 2014-04-14 15:45 Vincenzo Maffione
2014-04-14 21:46 ` Wei Liu
2014-04-15 10:25 ` Roger Pau Monné
0 siblings, 2 replies; 6+ messages in thread
From: Vincenzo Maffione @ 2014-04-14 15:45 UTC (permalink / raw)
To: xen-devel
Hi,
I would like to design a new paravirtual device for Xen PV guests
(under Linux),
for research purposes.
This device should be a "simplification" of netfront/netback in that
the interface
with the domU/dom0 O.S. is not the normal TCP/IP stack, but something way
simpler (however, this is not so important w.r.t. my question).
Looking at the netback code
linux:drivers/net/xen-netback/xenbus.c
I've run into some "hotplug scripts" support code.
The netfront code, on the other hand, has no hotplug-related code.
I don't really understand what is the purpose of this hotplug support
(Is it something
related to the vif-* scripts?), but I'm wondering whether I can get
rid of this code for my
"simplified" device.
It would be enough for me to be able to do the following:
1) manually load my backend driver kernel module in Dom0
2) manually load my frontend driver kernel module in DomU
3) being able to use my device (think as I have userspace access to
the device through a character device).
I don't want/need any configuration scripts in Dom0 nor DomU (no sw
bridges or routing
tables to configure). Just plain simple Dom0 <==> DomU buffer exchange.
Is it possibile to achieve this without any "hotplug code"? Or do I need some
other "software pieces" apart from the frontend and backend drivers?
Thanks in advance.
Best regards,
Vincenzo Maffione
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [new PV device]
2014-04-14 15:45 [new PV device] Vincenzo Maffione
@ 2014-04-14 21:46 ` Wei Liu
2014-04-15 10:13 ` Vincenzo Maffione
2014-04-15 10:25 ` Roger Pau Monné
1 sibling, 1 reply; 6+ messages in thread
From: Wei Liu @ 2014-04-14 21:46 UTC (permalink / raw)
To: Vincenzo Maffione; +Cc: xen-devel, wei.liu2
On Mon, Apr 14, 2014 at 05:45:00PM +0200, Vincenzo Maffione wrote:
> Hi,
> I would like to design a new paravirtual device for Xen PV guests
> (under Linux),
> for research purposes.
> This device should be a "simplification" of netfront/netback in that
> the interface
> with the domU/dom0 O.S. is not the normal TCP/IP stack, but something way
> simpler (however, this is not so important w.r.t. my question).
>
> Looking at the netback code
> linux:drivers/net/xen-netback/xenbus.c
> I've run into some "hotplug scripts" support code.
> The netfront code, on the other hand, has no hotplug-related code.
>
> I don't really understand what is the purpose of this hotplug support
> (Is it something
> related to the vif-* scripts?), but I'm wondering whether I can get
Yes, you're right.
> rid of this code for my
> "simplified" device.
>
Of course you can, if you don't need user space event handling or don't
mind doing some tedious configurations by hand.
> It would be enough for me to be able to do the following:
> 1) manually load my backend driver kernel module in Dom0
> 2) manually load my frontend driver kernel module in DomU
> 3) being able to use my device (think as I have userspace access to
> the device through a character device).
> I don't want/need any configuration scripts in Dom0 nor DomU (no sw
> bridges or routing
> tables to configure). Just plain simple Dom0 <==> DomU buffer exchange.
>
> Is it possibile to achieve this without any "hotplug code"? Or do I need some
Yes, that's possible.
You can have a look at other Xen PV drivers as well. Probably Xen PV
framebuffer can be a good starting point.
Xen wiki also has some general information on PV driver.
Wei.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [new PV device]
2014-04-14 21:46 ` Wei Liu
@ 2014-04-15 10:13 ` Vincenzo Maffione
2014-04-15 10:20 ` Wei Liu
0 siblings, 1 reply; 6+ messages in thread
From: Vincenzo Maffione @ 2014-04-15 10:13 UTC (permalink / raw)
To: Wei Liu; +Cc: xen-devel
2014-04-14 23:46 GMT+02:00 Wei Liu <wei.liu2@citrix.com>:
> On Mon, Apr 14, 2014 at 05:45:00PM +0200, Vincenzo Maffione wrote:
>> Hi,
>> I would like to design a new paravirtual device for Xen PV guests
>> (under Linux),
>> for research purposes.
>> This device should be a "simplification" of netfront/netback in that
>> the interface
>> with the domU/dom0 O.S. is not the normal TCP/IP stack, but something way
>> simpler (however, this is not so important w.r.t. my question).
>>
>> Looking at the netback code
>> linux:drivers/net/xen-netback/xenbus.c
>> I've run into some "hotplug scripts" support code.
>> The netfront code, on the other hand, has no hotplug-related code.
>>
>> I don't really understand what is the purpose of this hotplug support
>> (Is it something
>> related to the vif-* scripts?), but I'm wondering whether I can get
>
> Yes, you're right.
>
>> rid of this code for my
>> "simplified" device.
>>
>
> Of course you can, if you don't need user space event handling or don't
> mind doing some tedious configurations by hand.
>
>> It would be enough for me to be able to do the following:
>> 1) manually load my backend driver kernel module in Dom0
>> 2) manually load my frontend driver kernel module in DomU
>> 3) being able to use my device (think as I have userspace access to
>> the device through a character device).
>> I don't want/need any configuration scripts in Dom0 nor DomU (no sw
>> bridges or routing
>> tables to configure). Just plain simple Dom0 <==> DomU buffer exchange.
>>
>> Is it possibile to achieve this without any "hotplug code"? Or do I need some
>
> Yes, that's possible.
>
> You can have a look at other Xen PV drivers as well. Probably Xen PV
> framebuffer can be a good starting point.
>
> Xen wiki also has some general information on PV driver.
>
> Wei.
Thank you.
So Xen is really a minimal hypervisor, if adding a new device doesn't
require modifications in the hypervisor itself (but only some new
kernel modules for the domains). Great!
I'm not able to find the framebuffer backend in the linux kernel. Is
it somewhere else?
--
Vincenzo Maffione
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [new PV device]
2014-04-15 10:13 ` Vincenzo Maffione
@ 2014-04-15 10:20 ` Wei Liu
2014-04-15 10:39 ` Konrad Rzeszutek Wilk
0 siblings, 1 reply; 6+ messages in thread
From: Wei Liu @ 2014-04-15 10:20 UTC (permalink / raw)
To: Vincenzo Maffione; +Cc: xen-devel, Wei Liu
[...]
>
> Thank you.
> So Xen is really a minimal hypervisor, if adding a new device doesn't
> require modifications in the hypervisor itself (but only some new
> kernel modules for the domains). Great!
>
> I'm not able to find the framebuffer backend in the linux kernel. Is
> it somewhere else?
>
video/xen-fbfront.c
but the backend is in QEMU, so this might not fit your need, sorry.
In any case you can go to drivers/ and do "find | grep xen" to get a
list of Xen drivers.
Wei.
> --
> Vincenzo Maffione
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [new PV device]
2014-04-15 10:20 ` Wei Liu
@ 2014-04-15 10:39 ` Konrad Rzeszutek Wilk
0 siblings, 0 replies; 6+ messages in thread
From: Konrad Rzeszutek Wilk @ 2014-04-15 10:39 UTC (permalink / raw)
To: Wei Liu; +Cc: xen-devel, Vincenzo Maffione
[-- Attachment #1: Type: text/plain, Size: 822 bytes --]
On Tue, Apr 15, 2014 at 11:20:47AM +0100, Wei Liu wrote:
> [...]
> >
> > Thank you.
> > So Xen is really a minimal hypervisor, if adding a new device doesn't
> > require modifications in the hypervisor itself (but only some new
> > kernel modules for the domains). Great!
> >
> > I'm not able to find the framebuffer backend in the linux kernel. Is
> > it somewhere else?
> >
>
> video/xen-fbfront.c
>
> but the backend is in QEMU, so this might not fit your need, sorry.
There was an standalone frame buffer at some point.
See attached.
>
> In any case you can go to drivers/ and do "find | grep xen" to get a
> list of Xen drivers.
>
> Wei.
>
> > --
> > Vincenzo Maffione
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
[-- Attachment #2: xenfb.tgz --]
[-- Type: application/gzip, Size: 11776 bytes --]
[-- Attachment #3: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [new PV device]
2014-04-14 15:45 [new PV device] Vincenzo Maffione
2014-04-14 21:46 ` Wei Liu
@ 2014-04-15 10:25 ` Roger Pau Monné
1 sibling, 0 replies; 6+ messages in thread
From: Roger Pau Monné @ 2014-04-15 10:25 UTC (permalink / raw)
To: Vincenzo Maffione, xen-devel
On 14/04/14 17:45, Vincenzo Maffione wrote:
> Hi,
> I would like to design a new paravirtual device for Xen PV guests
> (under Linux),
> for research purposes.
> This device should be a "simplification" of netfront/netback in that
> the interface
> with the domU/dom0 O.S. is not the normal TCP/IP stack, but something way
> simpler (however, this is not so important w.r.t. my question).
>
> Looking at the netback code
> linux:drivers/net/xen-netback/xenbus.c
> I've run into some "hotplug scripts" support code.
> The netfront code, on the other hand, has no hotplug-related code.
>
> I don't really understand what is the purpose of this hotplug support
> (Is it something
> related to the vif-* scripts?), but I'm wondering whether I can get
> rid of this code for my
> "simplified" device.
This hooks were used by xend, which relies on udev for launching hotplug
scripts. libxl launches scripts directly, so if you are adding a new
device, and don't need xend compatibility, you can get rid of them AFAIK.
Roger.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-04-15 10:39 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-14 15:45 [new PV device] Vincenzo Maffione
2014-04-14 21:46 ` Wei Liu
2014-04-15 10:13 ` Vincenzo Maffione
2014-04-15 10:20 ` Wei Liu
2014-04-15 10:39 ` Konrad Rzeszutek Wilk
2014-04-15 10:25 ` Roger Pau Monné
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.