X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Flibrte_eal%2Fbsdapp%2Feal%2Feal_lcore.c;h=b47eb1b6ae9c16901610f7c20acc249f6dfb41a9;hb=d12b6da14bfa910fbd5b9b51961eb26466302d24;hp=e2f3793025ec843d46bc8b5c24c22eb47672f66b;hpb=764bf26873b95761ac3bd4b98251d3c497c65a90;p=dpdk.git diff --git a/lib/librte_eal/bsdapp/eal/eal_lcore.c b/lib/librte_eal/bsdapp/eal/eal_lcore.c index e2f3793025..b47eb1b6ae 100644 --- a/lib/librte_eal/bsdapp/eal/eal_lcore.c +++ b/lib/librte_eal/bsdapp/eal/eal_lcore.c @@ -1,13 +1,13 @@ /*- * BSD LICENSE - * + * * Copyright(c) 2010-2014 Intel Corporation. All rights reserved. * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: - * + * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright @@ -17,7 +17,7 @@ * * Neither the name of Intel Corporation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR @@ -41,13 +41,17 @@ #include #include "eal_private.h" +#include "eal_thread.h" /* No topology information available on FreeBSD including NUMA info */ -#define cpu_core_id(X) 0 -#define cpu_socket_id(X) 0 +unsigned +eal_cpu_core_id(__rte_unused unsigned lcore_id) +{ + return 0; +} static int -get_ncpus(void) +eal_get_ncpus(void) { int mib[2] = {CTL_HW, HW_NCPU}; int ncpu; @@ -58,45 +62,18 @@ get_ncpus(void) return ncpu; } -/* - * fill the cpu_info structure with as much info as we can get. - * code is similar to linux version, but sadly available info is less. +unsigned +eal_cpu_socket_id(__rte_unused unsigned cpu_id) +{ + return 0; +} + +/* Check if a cpu is present by the presence of the + * cpu information for it. */ int -rte_eal_cpu_init(void) +eal_cpu_detected(unsigned lcore_id) { - /* pointer to global configuration */ - struct rte_config *config = rte_eal_get_configuration(); - unsigned lcore_id; - unsigned count = 0; - - const unsigned ncpus = get_ncpus(); - - /* disable lcores that were not detected */ - RTE_LCORE_FOREACH(lcore_id) { - - lcore_config[lcore_id].detected = (lcore_id < ncpus); - if (lcore_config[lcore_id].detected == 0) { - RTE_LOG(DEBUG, EAL, "Skip lcore %u (not detected)\n", lcore_id); - config->lcore_role[lcore_id] = ROLE_OFF; - continue; - } - count++; - lcore_config[lcore_id].core_id = cpu_core_id(lcore_id); - lcore_config[lcore_id].socket_id = cpu_socket_id(lcore_id); - if (lcore_config[lcore_id].socket_id >= RTE_MAX_NUMA_NODES) -#ifdef RTE_EAL_ALLOW_INV_SOCKET_ID - lcore_config[lcore_id].socket_id = 0; -#else - rte_panic("Socket ID (%u) is greater than " - "RTE_MAX_NUMA_NODES (%d)\n", - lcore_config[lcore_id].socket_id, RTE_MAX_NUMA_NODES); -#endif - RTE_LOG(DEBUG, EAL, "Detected lcore %u\n", - lcore_id); - } - - config->lcore_count = count; - - return 0; + const unsigned ncpus = eal_get_ncpus(); + return (lcore_id < ncpus); }