This commit is contained in:
Vladimir Támara Patiño 2019-12-10 01:49:30 +00:00 committed by GitHub
commit ace4a633d9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 0 deletions

View file

@ -156,6 +156,8 @@ else()
if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
set(EXTRA_LIBS kvm pthread) set(EXTRA_LIBS kvm pthread)
elseif (CMAKE_SYSTEM_NAME STREQUAL OpenBSD)
set(EXTRA_LIBS kvm pthread)
else() else()
set(EXTRA_LIBS pthread rt dl) set(EXTRA_LIBS pthread rt dl)
endif() endif()

View file

@ -87,6 +87,9 @@ char *xmrig::Platform::createUserAgent()
#ifndef XMRIG_FEATURE_HWLOC #ifndef XMRIG_FEATURE_HWLOC
bool xmrig::Platform::setThreadAffinity(uint64_t cpu_id) bool xmrig::Platform::setThreadAffinity(uint64_t cpu_id)
{ {
#if defined(__OpenBSD__)
return true;
#else
cpu_set_t mn; cpu_set_t mn;
CPU_ZERO(&mn); CPU_ZERO(&mn);
CPU_SET(cpu_id, &mn); CPU_SET(cpu_id, &mn);
@ -96,6 +99,7 @@ bool xmrig::Platform::setThreadAffinity(uint64_t cpu_id)
# else # else
return sched_setaffinity(gettid(), sizeof(cpu_set_t), &mn) == 0; return sched_setaffinity(gettid(), sizeof(cpu_set_t), &mn) == 0;
# endif # endif
#endif
} }
#endif #endif

View file

@ -62,6 +62,8 @@ void *xmrig::VirtualMemory::allocateLargePagesMemory(size_t size)
void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, VM_FLAGS_SUPERPAGE_SIZE_2MB, 0); void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, VM_FLAGS_SUPERPAGE_SIZE_2MB, 0);
# elif defined(__FreeBSD__) # elif defined(__FreeBSD__)
void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_ALIGNED_SUPER | MAP_PREFAULT_READ, -1, 0); void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_ALIGNED_SUPER | MAP_PREFAULT_READ, -1, 0);
# elif defined(__OpenBSD__)
void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
# else # else
void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB | MAP_POPULATE, 0, 0); void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB | MAP_POPULATE, 0, 0);
# endif # endif