| /* Copyright (c) 2016 Google Inc. |
| * Barret Rhoden <brho@cs.berkeley.edu> |
| * See LICENSE for details. |
| * |
| * Helper functions to query information about the system. */ |
| |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <stdint.h> |
| #include <sys/types.h> |
| #include <sys/stat.h> |
| #include <fcntl.h> |
| #include <assert.h> |
| #include <unistd.h> |
| |
| #include <parlib/sysinfo.h> |
| #include <ros/arch/arch.h> |
| |
| int get_num_pcores(void) |
| { |
| int fd; |
| int ret; |
| char buf[128]; |
| |
| fd = open("#vars/num_cores!dw", O_RDONLY); |
| if (fd < 0) |
| return MAX_NUM_CORES; |
| if (read(fd, buf, sizeof(buf)) < 0) { |
| /* major bug */ |
| perror("#vars read"); |
| exit(-1); |
| } |
| ret = strtol(buf, 0, 0); |
| close(fd); |
| return ret; |
| } |