On 6/13/2013 3:46 PM, Jeff Roberson wrote: > Author: jeff > Date: Thu Jun 13 20:46:03 2013 > New Revision: 251703 > URL: http://svnweb.freebsd.org/changeset/base/251703 > > Log: > - Add a BIT_FFS() macro and use it to replace cpusetffs_obj() > > Discussed with: attilio > Sponsored by: EMC / Isilon Storage Division > > Modified: > head/sys/amd64/amd64/mp_machdep.c > head/sys/i386/i386/mp_machdep.c > head/sys/i386/i386/pmap.c > head/sys/i386/xen/mp_machdep.c > head/sys/i386/xen/pmap.c > head/sys/kern/kern_cpuset.c > head/sys/mips/mips/mp_machdep.c > head/sys/sparc64/sparc64/mp_machdep.c > head/sys/sys/bitset.h > head/sys/sys/cpuset.h > [...] > Modified: head/sys/sys/cpuset.h > ============================================================================== > --- head/sys/sys/cpuset.h Thu Jun 13 20:41:09 2013 (r251702) > +++ head/sys/sys/cpuset.h Thu Jun 13 20:46:03 2013 (r251703) > @@ -57,6 +57,7 @@ > #define CPU_SET_ATOMIC(n, p) BIT_SET_ATOMIC(CPU_SETSIZE, n, > p) > #define CPU_OR_ATOMIC(d, s) BIT_OR_ATOMIC(CPU_SETSIZE, d, s) > #define CPU_COPY_STORE_REL(f, t) BIT_COPY_STORE_REL(CPU_SETSIZE, > f, t) > +#define CPU_FFS(p) BIT_FFS(CPU_SETSIZE, p) > > /* > * Valid cpulevel_t values. > @@ -118,7 +119,6 @@ void cpuset_rel(struct cpuset *); > int cpuset_setthread(lwpid_t id, cpuset_t *); > int cpuset_create_root(struct prison *, struct cpuset **); > int cpuset_setproc_update_set(struct proc *, struct cpuset *); > -int cpusetobj_ffs(const cpuset_t *); > char *cpusetobj_strprint(char *, const cpuset_t *); > int cpusetobj_strscan(cpuset_t *, const char *); >
Looks like cpusetobj_ffs() -> CPU_FFS() was missed in sys/amd64/vmm/io/vlapic.c: > --- vlapic.o --- > /usr/src/sys/modules/vmm/../../amd64/vmm/io/vlapic.c:468:15: error: implicit > declaration of function 'cpusetobj_ffs' is invalid in C99 > [-Werror,-Wimplicit-function-declaration] > while ((i = cpusetobj_ffs(&dmask)) != 0) { -- Regards, Bryan Drewery
signature.asc
Description: OpenPGP digital signature