parlib: Move core_sets to parlib I converted xopen() -> open() and xstrdup() -> strdup(). I tried putting xlib in parlib, but a bunch of other projects use those names for the same functions, and we run into conflicts. This is why we can't have nice things. Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
diff --git a/tools/dev-util/perf/Makefile b/tools/dev-util/perf/Makefile index 6e506f6..1a90f49 100644 --- a/tools/dev-util/perf/Makefile +++ b/tools/dev-util/perf/Makefile
@@ -1,6 +1,6 @@ include ../../Makefrag -SOURCES = perf.c perfconv.c xlib.c perf_core.c akaros.c symbol-elf.c +SOURCES = perf.c perfconv.c xlib.c perf_core.c symbol-elf.c XCC = $(CROSS_COMPILE)gcc
diff --git a/tools/dev-util/perf/perf.c b/tools/dev-util/perf/perf.c index e7227bb..b018f9f 100644 --- a/tools/dev-util/perf/perf.c +++ b/tools/dev-util/perf/perf.c
@@ -19,8 +19,8 @@ #include <time.h> #include <parlib/parlib.h> #include <parlib/timing.h> +#include <parlib/core_set.h> #include "xlib.h" -#include "akaros.h" #include "perfconv.h" #include "perf_core.h"
diff --git a/tools/dev-util/perf/perf_core.c b/tools/dev-util/perf/perf_core.c index 17b4811..4143c9c 100644 --- a/tools/dev-util/perf/perf_core.c +++ b/tools/dev-util/perf/perf_core.c
@@ -20,11 +20,11 @@ #include <errno.h> #include <regex.h> #include <parlib/parlib.h> +#include <parlib/core_set.h> #include <perfmon/err.h> #include <perfmon/pfmlib.h> #include "xlib.h" #include "perfconv.h" -#include "akaros.h" #include "perf_core.h" #include "elf.h"
diff --git a/tools/dev-util/perf/perf_core.h b/tools/dev-util/perf/perf_core.h index ef67083..42e7419 100644 --- a/tools/dev-util/perf/perf_core.h +++ b/tools/dev-util/perf/perf_core.h
@@ -12,7 +12,7 @@ #include <stdint.h> #include <stdio.h> #include <limits.h> -#include "akaros.h" +#include <parlib/core_set.h> #include "perfconv.h" #define MAX_CPU_EVENTS 256
diff --git a/tools/dev-util/perf/perfconv.c b/tools/dev-util/perf/perfconv.c index f00a222..abc6379 100644 --- a/tools/dev-util/perf/perfconv.c +++ b/tools/dev-util/perf/perfconv.c
@@ -25,6 +25,7 @@ #include <string.h> #include <errno.h> #include <stdarg.h> +#include <assert.h> #include "perf_format.h" #include "xlib.h" #include "perf_core.h"
diff --git a/tools/dev-util/perf/akaros.c b/user/parlib/core_set.c similarity index 92% rename from tools/dev-util/perf/akaros.c rename to user/parlib/core_set.c index 5ccbd81..8c41245 100644 --- a/tools/dev-util/perf/akaros.c +++ b/user/parlib/core_set.c
@@ -6,13 +6,16 @@ #include <ros/arch/arch.h> #include <ros/common.h> #include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> #include <stdint.h> #include <stdio.h> +#include <stdlib.h> #include <string.h> #include <limits.h> +#include <unistd.h> #include <parlib/parlib.h> -#include "xlib.h" -#include "akaros.h" +#include <parlib/core_set.h> static const unsigned int llcores[] = { 0 @@ -40,7 +43,7 @@ int fd, ret; char buf[10]; - fd = xopen("#vars/num_cores!dw", O_READ, 0); + fd = open("#vars/num_cores!dw", O_READ); if (fd < 0) return -1; if (read(fd, buf, sizeof(buf)) <= 0) { @@ -71,10 +74,14 @@ void parlib_parse_cores(const char *str, struct core_set *cores) { unsigned int fcpu, ncpu; - char *dstr = xstrdup(str); + char *dstr = strdup(str); char *sptr = NULL; char *tok, *sptr2; + if (!dstr) { + perror("Duplicating a string"); + exit(1); + } ZERO_DATA(*cores); for (tok = strtok_r(dstr, ",", &sptr); tok; tok = strtok_r(NULL, ",", &sptr)) {
diff --git a/tools/dev-util/perf/akaros.h b/user/parlib/include/parlib/core_set.h similarity index 87% rename from tools/dev-util/perf/akaros.h rename to user/parlib/include/parlib/core_set.h index d47deb8..0832931 100644 --- a/tools/dev-util/perf/akaros.h +++ b/user/parlib/include/parlib/core_set.h
@@ -5,13 +5,6 @@ #pragma once -#include <ros/arch/arch.h> -#include <ros/common.h> -#include <sys/types.h> -#include <stdint.h> -#include <stdio.h> -#include <limits.h> -#include <parlib/parlib.h> #include <parlib/bitmask.h> __BEGIN_DECLS