summaryrefslogtreecommitdiffstats
path: root/src/bp_sim.cpp
diff options
context:
space:
mode:
authorYaroslav Brustinov <ybrustin@cisco.com>2016-11-16 14:34:53 +0200
committerYaroslav Brustinov <ybrustin@cisco.com>2016-11-16 14:34:53 +0200
commit0d96ac1e84acb03efb7db611dd4f682cc253b730 (patch)
tree5b39c95617f7a5dfd7f5fe5d1d41bf9c31727df1 /src/bp_sim.cpp
parent216689ebf931fe377295f2f597db41f839b7cbef (diff)
fix threads number 31+ in config causing overflow in mask calculations
Signed-off-by: Yaroslav Brustinov <ybrustin@cisco.com>
Diffstat (limited to 'src/bp_sim.cpp')
-rwxr-xr-xsrc/bp_sim.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/bp_sim.cpp b/src/bp_sim.cpp
index 90560417..c1df72fc 100755
--- a/src/bp_sim.cpp
+++ b/src/bp_sim.cpp
@@ -160,8 +160,8 @@ uint64_t CPlatformSocketInfoNoConfig::get_cores_mask(){
int i;
int offset=0;
/* master */
- uint32_t res=1;
- uint32_t mask=(1<<(offset+1));
+ uint64_t res=1;
+ uint64_t mask=(1LL<<(offset+1));
for (i=0; i<(cores_number-1); i++) {
res |= mask ;
mask = mask <<1;
@@ -388,14 +388,14 @@ uint64_t CPlatformSocketInfoConfig::get_cores_mask(){
printf(" ERROR phy threads can't be higher than 64 \n");
exit(1);
}
- mask |=(1<<i);
+ mask |=(1LL<<i);
}
}
- mask |=(1<<m_platform->m_master_thread);
+ mask |=(1LL<<m_platform->m_master_thread);
assert(m_platform->m_master_thread<64);
if (m_rx_is_enabled) {
- mask |=(1<<m_platform->m_rx_thread);
+ mask |=(1LL<<m_platform->m_rx_thread);
assert(m_platform->m_rx_thread<64);
}
return (mask);