Author: jhb
Date: Tue May  3 01:17:40 2016
New Revision: 298951
URL: https://svnweb.freebsd.org/changeset/base/298951

Log:
  Revert bus_get_cpus() for now.
  
  I really thought I had run this through the tinderbox before committing,
  but many places need <sys/types.h> -> <sys/param.h> for <sys/bus.h> now.

Deleted:
  head/share/man/man9/BUS_GET_CPUS.9
Modified:
  head/share/man/man9/Makefile
  head/sys/amd64/include/intr_machdep.h
  head/sys/dev/acpica/acpi.c
  head/sys/dev/acpica/acpi_pci.c
  head/sys/dev/acpica/acpi_pcib.c
  head/sys/dev/acpica/acpi_pcib_acpi.c
  head/sys/dev/acpica/acpi_pcib_pci.c
  head/sys/dev/acpica/acpi_pcibvar.h
  head/sys/dev/acpica/acpivar.h
  head/sys/dev/drm2/drm_dp_iic_helper.c
  head/sys/dev/drm2/i915/dvo.h
  head/sys/kern/bus_if.m
  head/sys/kern/subr_bus.c
  head/sys/sys/bus.h
  head/sys/x86/acpica/OsdEnvironment.c
  head/sys/x86/x86/intr_machdep.c
  head/sys/x86/x86/nexus.c

Modified: head/share/man/man9/Makefile
==============================================================================
--- head/share/man/man9/Makefile        Tue May  3 00:35:11 2016        
(r298950)
+++ head/share/man/man9/Makefile        Tue May  3 01:17:40 2016        
(r298951)
@@ -42,7 +42,6 @@ MAN=  accept_filter.9 \
        bus_generic_print_child.9 \
        bus_generic_read_ivar.9 \
        bus_generic_shutdown.9 \
-       BUS_GET_CPUS.9 \
        bus_get_resource.9 \
        BUS_NEW_PASS.9 \
        BUS_PRINT_CHILD.9 \
@@ -503,7 +502,6 @@ MLINKS+=bus_dma.9 busdma.9 \
        bus_dma.9 bus_dma_tag_create.9 \
        bus_dma.9 bus_dma_tag_destroy.9
 MLINKS+=bus_generic_read_ivar.9 bus_generic_write_ivar.9
-MLINKS+=BUS_GET_CPUS.9 bus_get_cpus.9
 MLINKS+=BUS_READ_IVAR.9 BUS_WRITE_IVAR.9
 MLINKS+=BUS_SETUP_INTR.9 bus_setup_intr.9 \
        BUS_SETUP_INTR.9 BUS_TEARDOWN_INTR.9 \

Modified: head/sys/amd64/include/intr_machdep.h
==============================================================================
--- head/sys/amd64/include/intr_machdep.h       Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/amd64/include/intr_machdep.h       Tue May  3 01:17:40 2016        
(r298951)
@@ -143,9 +143,6 @@ struct nmi_pcpu {
        register_t      __padding;      /* pad to 16 bytes */
 };
 
-#ifdef SMP
-extern cpuset_t intr_cpus;
-#endif
 extern struct mtx icu_lock;
 extern int elcr_found;
 

Modified: head/sys/dev/acpica/acpi.c
==============================================================================
--- head/sys/dev/acpica/acpi.c  Tue May  3 00:35:11 2016        (r298950)
+++ head/sys/dev/acpica/acpi.c  Tue May  3 01:17:40 2016        (r298951)
@@ -211,7 +211,6 @@ static device_method_t acpi_methods[] = 
     DEVMETHOD(bus_setup_intr,          bus_generic_setup_intr),
     DEVMETHOD(bus_teardown_intr,       bus_generic_teardown_intr),
     DEVMETHOD(bus_hint_device_unit,    acpi_hint_device_unit),
-    DEVMETHOD(bus_get_cpus,            acpi_get_cpus),
     DEVMETHOD(bus_get_domain,          acpi_get_domain),
 
     /* ACPI bus */
@@ -1078,79 +1077,52 @@ acpi_hint_device_unit(device_t acdev, de
 }
 
 /*
- * Fetch the NUMA domain for a device by mapping the value returned by
- * _PXM to a NUMA domain.  If the device does not have a _PXM method,
- * -2 is returned.  If any other error occurs, -1 is returned.
+ * Fetch the VM domain for the given device 'dev'.
+ *
+ * Return 1 + domain if there's a domain, 0 if not found;
+ * -1 upon an error.
  */
-static int
-acpi_parse_pxm(device_t dev)
+int
+acpi_parse_pxm(device_t dev, int *domain)
 {
 #ifdef DEVICE_NUMA
-       ACPI_HANDLE handle;
-       ACPI_STATUS status;
-       int pxm;
+       ACPI_HANDLE h;
+       int d, pxm;
 
-       handle = acpi_get_handle(dev);
-       if (handle == NULL)
-               return (-2);
-       status = acpi_GetInteger(handle, "_PXM", &pxm);
-       if (ACPI_SUCCESS(status))
-               return (acpi_map_pxm_to_vm_domainid(pxm));
-       if (status == AE_NOT_FOUND)
-               return (-2);
+       h = acpi_get_handle(dev);
+       if ((h != NULL) &&
+           ACPI_SUCCESS(acpi_GetInteger(h, "_PXM", &pxm))) {
+               d = acpi_map_pxm_to_vm_domainid(pxm);
+               if (d < 0)
+                       return (-1);
+               *domain = d;
+               return (1);
+       }
 #endif
-       return (-1);
-}
-
-int
-acpi_get_cpus(device_t dev, device_t child, enum cpu_sets op, size_t setsize,
-    cpuset_t *cpuset)
-{
-       int d, error;
 
-       d = acpi_parse_pxm(child);
-       if (d < 0)
-               return (bus_generic_get_cpus(dev, child, op, setsize, cpuset));
-
-       switch (op) {
-       case LOCAL_CPUS:
-               if (setsize != sizeof(cpuset_t))
-                       return (EINVAL);
-               *cpuset = cpuset_domain[d];
-               return (0);
-       case INTR_CPUS:
-               error = bus_generic_get_cpus(dev, child, op, setsize, cpuset);
-               if (error != 0)
-                       return (error);
-               if (setsize != sizeof(cpuset_t))
-                       return (EINVAL);
-               CPU_AND(cpuset, &cpuset_domain[d]);
-               return (0);
-       default:
-               return (bus_generic_get_cpus(dev, child, op, setsize, cpuset));
-       }
+       return (0);
 }
 
 /*
- * Fetch the NUMA domain for the given device 'dev'.
+ * Fetch the NUMA domain for the given device.
  *
  * If a device has a _PXM method, map that to a NUMA domain.
- * Otherwise, pass the request up to the parent.
- * If there's no matching domain or the domain cannot be
- * determined, return ENOENT.
+ *
+ * If none is found, then it'll call the parent method.
+ * If there's no domain, return ENOENT.
  */
 int
 acpi_get_domain(device_t dev, device_t child, int *domain)
 {
-       int d;
+       int ret;
 
-       d = acpi_parse_pxm(child);
-       if (d >= 0) {
-               *domain = d;
-               return (0);
-       }
-       if (d == -1)
+       ret = acpi_parse_pxm(child, domain);
+       /* Error */
+       if (ret == -1)
                return (ENOENT);
+       /* Found */
+       if (ret == 1)
+               return (0);
 
        /* No _PXM node; go up a level */
        return (bus_generic_get_domain(dev, child, domain));

Modified: head/sys/dev/acpica/acpi_pci.c
==============================================================================
--- head/sys/dev/acpica/acpi_pci.c      Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/dev/acpica/acpi_pci.c      Tue May  3 01:17:40 2016        
(r298951)
@@ -95,7 +95,6 @@ static device_method_t acpi_pci_methods[
        DEVMETHOD(bus_write_ivar,       acpi_pci_write_ivar),
        DEVMETHOD(bus_child_deleted,    acpi_pci_child_deleted),
        DEVMETHOD(bus_child_location_str, acpi_pci_child_location_str_method),
-       DEVMETHOD(bus_get_cpus,         acpi_get_cpus),
        DEVMETHOD(bus_get_dma_tag,      acpi_pci_get_dma_tag),
        DEVMETHOD(bus_get_domain,       acpi_get_domain),
 

Modified: head/sys/dev/acpica/acpi_pcib.c
==============================================================================
--- head/sys/dev/acpica/acpi_pcib.c     Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/dev/acpica/acpi_pcib.c     Tue May  3 01:17:40 2016        
(r298951)
@@ -265,11 +265,3 @@ acpi_pcib_power_for_sleep(device_t pcib,
     acpi_device_pwr_for_sleep(acpi_dev, dev, pstate);
     return (0);
 }
-
-int
-acpi_pcib_get_cpus(device_t pcib, device_t dev, enum cpu_sets op,
-    size_t setsize, cpuset_t *cpuset)
-{
-
-       return (bus_get_cpus(pcib, op, setsize, cpuset));
-}

Modified: head/sys/dev/acpica/acpi_pcib_acpi.c
==============================================================================
--- head/sys/dev/acpica/acpi_pcib_acpi.c        Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/dev/acpica/acpi_pcib_acpi.c        Tue May  3 01:17:40 2016        
(r298951)
@@ -130,7 +130,6 @@ static device_method_t acpi_pcib_acpi_me
     DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),
     DEVMETHOD(bus_setup_intr,          bus_generic_setup_intr),
     DEVMETHOD(bus_teardown_intr,       bus_generic_teardown_intr),
-    DEVMETHOD(bus_get_cpus,            acpi_pcib_get_cpus),
 
     /* pcib interface */
     DEVMETHOD(pcib_maxslots,           pcib_maxslots),

Modified: head/sys/dev/acpica/acpi_pcib_pci.c
==============================================================================
--- head/sys/dev/acpica/acpi_pcib_pci.c Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/dev/acpica/acpi_pcib_pci.c Tue May  3 01:17:40 2016        
(r298951)
@@ -78,7 +78,6 @@ static device_method_t acpi_pcib_pci_met
 
     /* Bus interface */
     DEVMETHOD(bus_read_ivar,           acpi_pcib_read_ivar),
-    DEVMETHOD(bus_get_cpus,            acpi_pcib_get_cpus),
 
     /* pcib interface */
     DEVMETHOD(pcib_route_interrupt,    acpi_pcib_pci_route_interrupt),

Modified: head/sys/dev/acpica/acpi_pcibvar.h
==============================================================================
--- head/sys/dev/acpica/acpi_pcibvar.h  Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/dev/acpica/acpi_pcibvar.h  Tue May  3 01:17:40 2016        
(r298951)
@@ -36,8 +36,6 @@ void  acpi_pci_link_add_reference(device_
     int slot, int pin);
 int    acpi_pci_link_route_interrupt(device_t dev, int index);
 void   acpi_pcib_fetch_prt(device_t bus, ACPI_BUFFER *prt);
-int    acpi_pcib_get_cpus(device_t pcib, device_t dev, enum cpu_sets op,
-    size_t setsize, cpuset_t *cpuset);
 int    acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin,
     ACPI_BUFFER *prtbuf);
 int    acpi_pcib_power_for_sleep(device_t pcib, device_t dev,

Modified: head/sys/dev/acpica/acpivar.h
==============================================================================
--- head/sys/dev/acpica/acpivar.h       Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/dev/acpica/acpivar.h       Tue May  3 01:17:40 2016        
(r298951)
@@ -506,9 +506,8 @@ SYSCTL_DECL(_debug_acpi);
  * Returns the VM domain ID if found, or -1 if not found / invalid.
  */
 int            acpi_map_pxm_to_vm_domainid(int pxm);
-int            acpi_get_cpus(device_t dev, device_t child, enum cpu_sets op,
-                   size_t setsize, cpuset_t *cpuset);
 int            acpi_get_domain(device_t dev, device_t child, int *domain);
+int            acpi_parse_pxm(device_t dev, int *domain);
 
 #endif /* _KERNEL */
 #endif /* !_ACPIVAR_H_ */

Modified: head/sys/dev/drm2/drm_dp_iic_helper.c
==============================================================================
--- head/sys/dev/drm2/drm_dp_iic_helper.c       Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/dev/drm2/drm_dp_iic_helper.c       Tue May  3 01:17:40 2016        
(r298951)
@@ -23,7 +23,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <sys/param.h>
+#include <sys/types.h>
 #include <sys/kobj.h>
 #include <sys/bus.h>
 #include <dev/iicbus/iic.h>

Modified: head/sys/dev/drm2/i915/dvo.h
==============================================================================
--- head/sys/dev/drm2/i915/dvo.h        Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/dev/drm2/i915/dvo.h        Tue May  3 01:17:40 2016        
(r298951)
@@ -26,7 +26,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <sys/param.h>
+#include <sys/types.h>
 #include <sys/bus.h>
 #include <dev/iicbus/iic.h>
 #include <dev/iicbus/iiconf.h>

Modified: head/sys/kern/bus_if.m
==============================================================================
--- head/sys/kern/bus_if.m      Tue May  3 00:35:11 2016        (r298950)
+++ head/sys/kern/bus_if.m      Tue May  3 01:17:40 2016        (r298951)
@@ -731,21 +731,3 @@ METHOD int get_domain {
        device_t        _child;
        int             *_domain;
 } DEFAULT bus_generic_get_domain;
-
-/**
- * @brief Request a set of CPUs
- *
- * @param _dev         the bus device
- * @param _child       the child device
- * @param _op          type of CPUs to request
- * @param _setsize     the size of the set passed in _cpuset
- * @param _cpuset      a pointer to a cpuset to receive the requested
- *                     set of CPUs
- */
-METHOD int get_cpus {
-       device_t        _dev;
-       device_t        _child;
-       enum cpu_sets   _op;
-       size_t          _setsize;
-       cpuset_t        *_cpuset;
-} DEFAULT bus_generic_get_cpus;

Modified: head/sys/kern/subr_bus.c
==============================================================================
--- head/sys/kern/subr_bus.c    Tue May  3 00:35:11 2016        (r298950)
+++ head/sys/kern/subr_bus.c    Tue May  3 01:17:40 2016        (r298951)
@@ -47,10 +47,8 @@ __FBSDID("$FreeBSD$");
 #include <machine/bus.h>
 #include <sys/random.h>
 #include <sys/rman.h>
-#include <sys/sbuf.h>
 #include <sys/selinfo.h>
 #include <sys/signalvar.h>
-#include <sys/smp.h>
 #include <sys/sysctl.h>
 #include <sys/systm.h>
 #include <sys/uio.h>
@@ -4113,23 +4111,6 @@ bus_generic_describe_intr(device_t dev, 
 }
 
 /**
- * @brief Helper function for implementing BUS_GET_CPUS().
- *
- * This simple implementation of BUS_GET_CPUS() simply calls the
- * BUS_GET_CPUS() method of the parent of @p dev.
- */
-int
-bus_generic_get_cpus(device_t dev, device_t child, enum cpu_sets op,
-    size_t setsize, cpuset_t *cpuset)
-{
-
-       /* Propagate up the bus hierarchy until someone handles it. */
-       if (dev->parent != NULL)
-               return (BUS_GET_CPUS(dev->parent, child, op, setsize, cpuset));
-       return (EINVAL);
-}
-
-/**
  * @brief Helper function for implementing BUS_GET_DMA_TAG().
  *
  * This simple implementation of BUS_GET_DMA_TAG() simply calls the
@@ -4639,23 +4620,6 @@ bus_child_location_str(device_t child, c
 }
 
 /**
- * @brief Wrapper function for BUS_GET_CPUS().
- *
- * This function simply calls the BUS_GET_CPUS() method of the
- * parent of @p dev.
- */
-int
-bus_get_cpus(device_t dev, enum cpu_sets op, size_t setsize, cpuset_t *cpuset)
-{
-       device_t parent;
-
-       parent = device_get_parent(dev);
-       if (parent == NULL)
-               return (EINVAL);
-       return (BUS_GET_CPUS(parent, dev, op, setsize, cpuset));
-}
-
-/**
  * @brief Wrapper function for BUS_GET_DMA_TAG().
  *
  * This function simply calls the BUS_GET_DMA_TAG() method of the
@@ -4747,23 +4711,6 @@ root_child_present(device_t dev, device_
        return (-1);
 }
 
-static int
-root_get_cpus(device_t dev, device_t child, enum cpu_sets op, size_t setsize,
-    cpuset_t *cpuset)
-{
-
-       switch (op) {
-       case INTR_CPUS:
-               /* Default to returning the set of all CPUs. */
-               if (setsize != sizeof(cpuset_t))
-                       return (EINVAL);
-               *cpuset = all_cpus;
-               return (0);
-       default:
-               return (EINVAL);
-       }
-}
-
 static kobj_method_t root_methods[] = {
        /* Device interface */
        KOBJMETHOD(device_shutdown,     bus_generic_shutdown),
@@ -4776,7 +4723,6 @@ static kobj_method_t root_methods[] = {
        KOBJMETHOD(bus_write_ivar,      bus_generic_write_ivar),
        KOBJMETHOD(bus_setup_intr,      root_setup_intr),
        KOBJMETHOD(bus_child_present,   root_child_present),
-       KOBJMETHOD(bus_get_cpus,        root_get_cpus),
 
        KOBJMETHOD_END
 };

Modified: head/sys/sys/bus.h
==============================================================================
--- head/sys/sys/bus.h  Tue May  3 00:35:11 2016        (r298950)
+++ head/sys/sys/bus.h  Tue May  3 01:17:40 2016        (r298951)
@@ -32,7 +32,6 @@
 #include <machine/_limits.h>
 #include <machine/_bus.h>
 #include <sys/_bus_dma.h>
-#include <sys/_cpuset.h>
 #include <sys/ioccom.h>
 
 /**
@@ -273,16 +272,6 @@ enum intr_polarity {
        INTR_POLARITY_LOW = 2
 };
 
-/**
- * CPU sets supported by bus_get_cpus().  Note that not all sets may be
- * supported for a given device.  If a request is not supported by a
- * device (or its parents), then bus_get_cpus() will fail with EINVAL.
- */
-enum cpu_sets {
-       LOCAL_CPUS = 0,
-       INTR_CPUS
-};
-
 typedef int (*devop_t)(void);
 
 /**
@@ -399,8 +388,6 @@ int bus_generic_deactivate_resource(devi
                                        int rid, struct resource *r);
 int    bus_generic_detach(device_t dev);
 void   bus_generic_driver_added(device_t dev, driver_t *driver);
-int    bus_generic_get_cpus(device_t dev, device_t child, enum cpu_sets op,
-                            size_t setsize, cpuset_t *cpuset);
 bus_dma_tag_t
        bus_generic_get_dma_tag(device_t dev, device_t child);
 bus_space_tag_t
@@ -470,8 +457,6 @@ int bus_activate_resource(device_t dev, 
                              struct resource *r);
 int    bus_deactivate_resource(device_t dev, int type, int rid,
                                struct resource *r);
-int    bus_get_cpus(device_t dev, enum cpu_sets op, size_t setsize,
-                    cpuset_t *cpuset);
 bus_dma_tag_t bus_get_dma_tag(device_t dev);
 bus_space_tag_t bus_get_bus_tag(device_t dev);
 int    bus_get_domain(device_t dev, int *domain);

Modified: head/sys/x86/acpica/OsdEnvironment.c
==============================================================================
--- head/sys/x86/acpica/OsdEnvironment.c        Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/x86/acpica/OsdEnvironment.c        Tue May  3 01:17:40 2016        
(r298951)
@@ -28,7 +28,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <sys/param.h>
+#include <sys/types.h>
 #include <sys/bus.h>
 #include <sys/kernel.h>
 #include <sys/sysctl.h>

Modified: head/sys/x86/x86/intr_machdep.c
==============================================================================
--- head/sys/x86/x86/intr_machdep.c     Tue May  3 00:35:11 2016        
(r298950)
+++ head/sys/x86/x86/intr_machdep.c     Tue May  3 01:17:40 2016        
(r298951)
@@ -490,7 +490,7 @@ DB_SHOW_COMMAND(irqs, db_show_irqs)
  * allocate CPUs round-robin.
  */
 
-cpuset_t intr_cpus = CPUSET_T_INITIALIZER(0x1);
+static cpuset_t intr_cpus = CPUSET_T_INITIALIZER(0x1);
 static int current_cpu;
 
 /*

Modified: head/sys/x86/x86/nexus.c
==============================================================================
--- head/sys/x86/x86/nexus.c    Tue May  3 00:35:11 2016        (r298950)
+++ head/sys/x86/x86/nexus.c    Tue May  3 01:17:40 2016        (r298951)
@@ -127,8 +127,6 @@ static      int nexus_set_resource(device_t, 
 static int nexus_get_resource(device_t, device_t, int, int,
                               rman_res_t *, rman_res_t *);
 static void nexus_delete_resource(device_t, device_t, int, int);
-static int nexus_get_cpus(device_t, device_t, enum cpu_sets, size_t,
-                          cpuset_t *);
 #ifdef DEV_APIC
 static int nexus_alloc_msi(device_t pcib, device_t dev, int count, int 
maxcount, int *irqs);
 static int nexus_release_msi(device_t pcib, device_t dev, int count, int 
*irqs);
@@ -165,7 +163,6 @@ static device_method_t nexus_methods[] =
        DEVMETHOD(bus_set_resource,     nexus_set_resource),
        DEVMETHOD(bus_get_resource,     nexus_get_resource),
        DEVMETHOD(bus_delete_resource,  nexus_delete_resource),
-       DEVMETHOD(bus_get_cpus,         nexus_get_cpus),
 
        /* pcib interface */
 #ifdef DEV_APIC
@@ -622,24 +619,6 @@ nexus_delete_resource(device_t dev, devi
        resource_list_delete(rl, type, rid);
 }
 
-static int
-nexus_get_cpus(device_t dev, device_t child, enum cpu_sets op, size_t setsize,
-    cpuset_t *cpuset)
-{
-
-       switch (op) {
-#ifdef SMP
-       case INTR_CPUS:
-               if (setsize != sizeof(cpuset_t))
-                       return (EINVAL);
-               *cpuset = intr_cpus;
-               return (0);
-#endif
-       default:
-               return (bus_generic_get_cpus(dev, child, op, setsize, cpuset));
-       }
-}
-
 /* Called from the MSI code to add new IRQs to the IRQ rman. */
 void
 nexus_add_irq(u_long irq)
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to