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