The following git pull request adds the Xenbus infrastructure for Xen backend drivers to the upstream 2.6.37-rc kernel. It essentially refactors the frontend xenbus scaffolding into frontend and common and then adds the backend part. All but one patch is cherry-picked from xen.git xen/dom0/backend/core. It wasn''t possible to simply merge the branch because that pulled in a bunch of 2.6.32-style dom0 support which conflicts with what is now upstream. The only cherry-picked patch which required changes was the "xen: separate out frontend xenbus" commit which needed updating because the code which it moves has changed since it was written (primarily the changes to wait_for_devices e.g. c6e1971139be, f8dc33088feb, ae7888012969). The last patch is new and fixes up the checkpatch issues in the aggregate of the previous commits. I did it this way rather than fixing individual patches since I wanted to retain the history as is. I have a WIP set of changes which port netback onto this infrastructure (the port works but still uses PageForeign and hence is not upstreamable). I also tested with a merge of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git devel/xen-pciback-0.1 and the result seemed functional. Ian. The following changes since commit cf7d7e5a1980d1116ee152d25dac382b112b9c17: Linus Torvalds (1): Linux 2.6.37-rc5 are available in the git repository at: git://xenbits.xen.org/people/ianc/linux-2.6.git upstream/dom0/backend/core Ian Campbell (3): xen: separate out frontend xenbus xen: add backend driver support xen/xenbus: fixup checkpatch issues in xenbus_probe* Jeremy Fitzhardinge (10): xen: remove xen/evtchn.h xenbus/frontend: register bus earlier xen/xenbus: make sure backend bus is registered earlier xen/xenbus: make frontend bus GPL xen/xenbus: clean up error handling xen/xenbus: cleanup debug noise in xenbus_comms.c xen/xenbus: clean up noise in xenbus_probe.c xen/xenbus: clean up noise in xenbus_probe_backend.c xen/xenbus: clean up noise in xenbus_probe_frontend.c xen/netfront: select XEN_XENBUS_FRONTEND drivers/block/Kconfig | 1 + drivers/net/Kconfig | 1 + drivers/xen/Kconfig | 11 + drivers/xen/xenbus/Makefile | 5 + drivers/xen/xenbus/xenbus_probe.c | 351 +++++----------------------- drivers/xen/xenbus/xenbus_probe.h | 31 ++-- drivers/xen/xenbus/xenbus_probe_backend.c | 276 ++++++++++++++++++++++ drivers/xen/xenbus/xenbus_probe_frontend.c | 294 +++++++++++++++++++++++ include/xen/xenbus.h | 2 +- 9 files changed, 660 insertions(+), 312 deletions(-) create mode 100644 drivers/xen/xenbus/xenbus_probe_backend.c create mode 100644 drivers/xen/xenbus/xenbus_probe_frontend.c _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Konrad Rzeszutek Wilk
2010-Dec-13 14:48 UTC
Re: [Xen-devel] [GIT] xenbus backend support for upstream
On Fri, Dec 10, 2010 at 02:43:55PM +0000, Ian Campbell wrote:> The following git pull request adds the Xenbus infrastructure for Xen > backend drivers to the upstream 2.6.37-rc kernel. It essentially > refactors the frontend xenbus scaffolding into frontend and common and > then adds the backend part. > > All but one patch is cherry-picked from xen.git xen/dom0/backend/core. > It wasn''t possible to simply merge the branch because that pulled in a > bunch of 2.6.32-style dom0 support which conflicts with what is now > upstream. > > The only cherry-picked patch which required changes was the "xen: > separate out frontend xenbus" commit which needed updating because the > code which it moves has changed since it was written (primarily the > changes to wait_for_devices e.g. c6e1971139be, f8dc33088feb, > ae7888012969). > > The last patch is new and fixes up the checkpatch issues in the > aggregate of the previous commits. I did it this way rather than fixing > individual patches since I wanted to retain the history as is. > > I have a WIP set of changes which port netback onto this infrastructure > (the port works but still uses PageForeign and hence is not > upstreamable). I also tested with a merge of > git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git > devel/xen-pciback-0.1 and the result seemed functional.Ok. It compiled for me fine and looks fine. I stuck it on my branch at linux-next _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel