From: Rusty Russell <rusty@rustcorp.com.au>
To: dor.laor@qumranet.com
Cc: kvm-devel <kvm-devel@lists.sourceforge.net>,
lguest <lguest@ozlabs.org>,
virtualization <virtualization@lists.linux-foundation.org>
Subject: Re: [PATCH 0/6] virtio with config abstraction and ring implementation
Date: Fri, 21 Sep 2007 13:20:11 +1000 [thread overview]
Message-ID: <1190344811.19451.47.camel@localhost.localdomain> (raw)
In-Reply-To: <46F2791A.8070601@qumranet.com>
On Thu, 2007-09-20 at 15:43 +0200, Dor Laor wrote:
> Rusty Russell wrote:
> > Drivers now unpack their own configuration: their probe() methods are
> > uniform. The configuration mechanism is extensible and can be backed by
> > PCI, a string of bytes, or something else.
> I like the separation of the ring code, the improved descriptors and
> the notify too.
> Regarding the pci config space, I rather see config_ops type of
> operations to let
> the 390/xen/other implementations jump on our wagon.
It's possible to abstract at the find_config() level, but it's also not
too bad to linearize any existing configuration. I chose to change the
lguest device page to use a linearized format, but I could have adapted
the old device info struct in the kernel without too much hassle:
FYI, here's the lguest snippet, for example:
+struct lguest_config {
+ struct virtio_config_space v;
+
+ /* Status pointer: 4 bytes, then comes the config space itself. */
+ u8 *status;
+};
...
+static void lguest_writeb(struct virtio_config_space *v, unsigned off, u8 b)
+{
+ struct lguest_config *c = container_of(v, struct lguest_config, v);
+
+ c->status[4 + off] = b;
+}
+
+static u8 lguest_readb(struct virtio_config_space *v, unsigned off)
+{
+ struct lguest_config *c = container_of(v, struct lguest_config, v);
+
+ return c->status[4 + off];
+}
+
+static void lguest_set_status(struct virtio_config_space *v, u32 status)
+{
+ struct lguest_config *c = container_of(v, struct lguest_config, v);
+
+ memcpy(c->status, &status, sizeof(status));
+}
+
+static u32 lguest_get_status(struct virtio_config_space *v)
+{
+ struct lguest_config *c = container_of(v, struct lguest_config, v);
+ u32 status;
+
+ memcpy(&status, c->status, sizeof(status));
+ return status;
+}
next prev parent reply other threads:[~2007-09-21 3:20 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-20 12:03 [PATCH 0/6] virtio with config abstraction and ring implementation Rusty Russell
2007-09-20 12:09 ` [PATCH 1/6] virtio interace Rusty Russell
2007-09-20 13:43 ` [PATCH 0/6] virtio with config abstraction and ring implementation Dor Laor
[not found] ` <1190289808.7262.223.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:09 ` [PATCH 1/6] virtio interace Rusty Russell
2007-09-20 12:12 ` [PATCH 2/6] virtio_config Rusty Russell
2007-09-20 12:27 ` [kvm-devel] [PATCH 1/6] virtio interace Avi Kivity
2007-09-21 12:05 ` Arnd Bergmann
[not found] ` <1190290140.7262.228.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:12 ` [PATCH 2/6] virtio_config Rusty Russell
2007-09-20 12:14 ` [PATCH 3/6] virtio net driver Rusty Russell
[not found] ` <1190290369.7262.231.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:14 ` Rusty Russell
2007-09-20 12:16 ` [PATCH 4/6] virtio block driver Rusty Russell
[not found] ` <1190290495.7262.235.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:16 ` Rusty Russell
2007-09-20 12:19 ` [PATCH 5/6] virtio console driver Rusty Russell
2007-09-20 12:27 ` [PATCH 4/6] virtio block driver Jens Axboe
2007-09-20 13:05 ` Jens Axboe
[not found] ` <1190290606.7262.239.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:19 ` [PATCH 5/6] virtio console driver Rusty Russell
2007-09-20 12:27 ` [PATCH 6/6] virtio ring helper Rusty Russell
[not found] ` <1190290761.7262.242.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:27 ` Rusty Russell
[not found] ` <1190291234.7262.246.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:43 ` Avi Kivity
2007-09-21 2:04 ` [kvm-devel] " Rusty Russell
[not found] ` <46F26AF6.60904-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-21 2:04 ` Rusty Russell
[not found] ` <1190340251.19451.36.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-23 10:05 ` Avi Kivity
[not found] ` <46F63A64.9070200-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-23 11:40 ` Rusty Russell
[not found] ` <1190547607.27805.120.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-23 11:46 ` Avi Kivity
2007-09-23 11:46 ` [kvm-devel] " Avi Kivity
2007-09-23 11:40 ` Rusty Russell
2007-09-23 10:05 ` Avi Kivity
2007-09-20 12:43 ` Avi Kivity
2007-09-20 12:27 ` [PATCH 4/6] virtio block driver Jens Axboe
2007-09-21 12:00 ` Rusty Russell
[not found] ` <20070920122713.GK2367-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2007-09-21 12:00 ` Rusty Russell
[not found] ` <1190376007.27805.19.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-21 12:27 ` Jens Axboe
2007-09-23 6:47 ` Rusty Russell
[not found] ` <20070921122746.GO2367-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2007-09-23 6:47 ` Rusty Russell
2007-09-21 12:27 ` Jens Axboe
2007-09-20 13:05 ` Jens Axboe
2007-09-21 2:06 ` Rusty Russell
2007-09-21 11:47 ` Jens Axboe
[not found] ` <1190340367.19451.40.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-21 11:47 ` Jens Axboe
2007-09-21 12:30 ` Rusty Russell
[not found] ` <20070921114703.GN2367-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2007-09-21 12:30 ` Rusty Russell
2007-09-21 10:48 ` [PATCH 3/6] virtio net driver Christian Borntraeger
[not found] ` <200709211248.11783.borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-09-21 11:53 ` Rusty Russell
2007-09-21 12:36 ` [kvm-devel] " Christian Borntraeger
[not found] ` <1190375615.27805.9.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-21 12:36 ` Christian Borntraeger
[not found] ` <200709211436.43964.borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-09-21 14:08 ` Herbert Xu
2007-09-21 14:42 ` [kvm-devel] " Christian Borntraeger
[not found] ` <20070921140833.GA12242-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org>
2007-09-21 14:42 ` Christian Borntraeger
[not found] ` <200709211642.25208.borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-09-23 7:13 ` Rusty Russell
2007-09-23 7:13 ` [kvm-devel] " Rusty Russell
2007-09-21 14:08 ` Herbert Xu
2007-09-21 11:53 ` Rusty Russell
2007-09-21 10:48 ` Christian Borntraeger
2007-09-20 12:36 ` [PATCH 2/6] virtio_config Avi Kivity
[not found] ` <46F26958.4080102-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-20 12:55 ` Avi Kivity
[not found] ` <46F26DC7.9040001-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-21 1:50 ` Rusty Russell
[not found] ` <1190339435.19451.23.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-22 13:03 ` Avi Kivity
2007-09-22 13:03 ` [kvm-devel] " Avi Kivity
2007-09-21 1:50 ` Rusty Russell
2007-09-20 12:55 ` Avi Kivity
2007-09-20 12:36 ` Avi Kivity
2007-09-20 12:27 ` [PATCH 1/6] virtio interace Avi Kivity
2007-09-21 11:37 ` [kvm-devel] " Rusty Russell
2007-09-21 12:05 ` Arnd Bergmann
2007-09-21 12:45 ` Rusty Russell
[not found] ` <200709211405.32116.arnd-r2nGTMty4D4@public.gmane.org>
2007-09-21 12:45 ` Rusty Russell
2007-09-21 14:22 ` Arnd Bergmann
[not found] ` <1190378736.27805.54.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-21 14:22 ` Arnd Bergmann
2007-09-22 9:55 ` Rusty Russell
2007-09-22 10:01 ` Arnd Bergmann
[not found] ` <1190454934.27805.80.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-22 10:01 ` Arnd Bergmann
2007-09-23 8:33 ` Rusty Russell
[not found] ` <200709221201.33865.arnd-r2nGTMty4D4@public.gmane.org>
2007-09-23 8:33 ` Rusty Russell
2007-09-23 11:20 ` Dor Laor
[not found] ` <1190536431.27805.109.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-23 11:20 ` Dor Laor
2007-09-20 13:43 ` [PATCH 0/6] virtio with config abstraction and ring implementation Dor Laor
[not found] ` <46F2791A.8070601-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-20 13:50 ` [Lguest] [PATCH 0/6] virtio with config abstraction and ringimplementation Dor Laor
2007-09-20 13:50 ` Dor Laor
2007-09-21 3:20 ` Rusty Russell [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-09-20 12:03 [PATCH 0/6] virtio with config abstraction and ring implementation Rusty Russell
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=1190344811.19451.47.camel@localhost.localdomain \
--to=rusty@rustcorp.com.au \
--cc=dor.laor@qumranet.com \
--cc=kvm-devel@lists.sourceforge.net \
--cc=lguest@ozlabs.org \
--cc=virtualization@lists.linux-foundation.org \
/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.