From owner-p4-projects@FreeBSD.ORG Fri Jan 27 03:54:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7314D16A424; Fri, 27 Jan 2006 03:54:46 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 47E6116A420 for ; Fri, 27 Jan 2006 03:54:46 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BC60A43D48 for ; Fri, 27 Jan 2006 03:54:45 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k0R3sj7c070395 for ; Fri, 27 Jan 2006 03:54:45 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k0R3sjFJ070392 for perforce@freebsd.org; Fri, 27 Jan 2006 03:54:45 GMT (envelope-from scottl@freebsd.org) Date: Fri, 27 Jan 2006 03:54:45 GMT Message-Id: <200601270354.k0R3sjFJ070392@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 90448 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2006 03:54:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=90448 Change 90448 by scottl@scottl-junior on 2006/01/27 03:53:46 Add the foundation for the xenbus device. Affected files ... .. //depot/projects/xen3-newbus/src/sys/dev/xen/xenbus/xenbus_probe.c#4 edit Differences ... ==== //depot/projects/xen3-newbus/src/sys/dev/xen/xenbus/xenbus_probe.c#4 (text+ko) ==== @@ -1218,15 +1218,11 @@ DEVMETHOD(bus_add_child, xenhub_add_child), DEVMETHOD(bus_read_ivar, bus_generic_read_ivar), DEVMETHOD(bus_write_ivar, bus_generic_write_ivar), -#if 0 DEVMETHOD(bus_set_resource, bus_generic_set_resource), DEVMETHOD(bus_get_resource, bus_generic_get_resource), -#endif DEVMETHOD(bus_alloc_resource, bus_generic_alloc_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), -#if 0 DEVMETHOD(bus_delete_resource, bus_generic_delete_resource), -#endif DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), @@ -1235,16 +1231,65 @@ { 0, 0 } }; -static char driver_name[] = "xenbus"; static driver_t xenbus_driver = { "xenhub", xenhub_methods, - sizeof(struct xenhub_device), + sizeof(struct xenbus_device), }; + devclass_t xenhub_devclass; DRIVER_MODULE(xenhub, nexus, xenhub_driver, xenhub_devclass, 0, 0); +struct xenbus_softc { + device_t dev; + struct xen_bus_type *xenbus; +}; + +static int +xenbus_prob(device_t dev) +{ + + return (0); +} + +static int +xenbus_attach(device_t dev) +{ + struct xenbus_softc *sc; + + sc = device_get_softc(dev); + + sc->dev = dev; + sc->xenbus = device_get_ivars(dev); + + /* Enumerate devices in xenstore */ + xenbus_probe_device(sc->xenbus); + + return (0); +} + +static device_method_t xenbus_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, xenbus_probe), + DEVMETHOD(device_attach, xenbus_attach), + DEVMETHOD(device_detach, bus_generic_detach), + DEVMETHOD(device_shutdown, bus_generic_shutdown), + DEVMETHOD(device_suspend, xenbus_suspend), + DEVMETHOD(device_resume, xenbus_resume), + { 0, 0 } +}; + +static driver_t xenbus_driver = { + "xenbus", + xenbus_methods, + sizeof(struct xenbus_softc), +}; + +devclass xenbus_devclass; + +DRIVER_MODULE(xenbus, xenhub, xenbus_driver, xenbus_devclass, 0, 0); + /* * Local variables: * c-file-style: "bsd"