1
0
mirror of https://github.com/xmrig/xmrig.git synced 2025-12-25 05:40:39 -05:00

Merge xmrig v6.19.0 into master

This commit is contained in:
MoneroOcean
2023-02-14 23:39:04 +00:00
59 changed files with 9049 additions and 7092 deletions

View File

@@ -57,6 +57,15 @@
# define MAP_HUGE_MASK 0x3f
#endif
#ifdef XMRIG_OS_FREEBSD
# ifndef MAP_ALIGNED_SUPER
# define MAP_ALIGNED_SUPER 0
# endif
# ifndef MAP_PREFAULT_READ
# define MAP_PREFAULT_READ 0
# endif
#endif
#ifdef XMRIG_SECURE_JIT
# define SECURE_PROT_EXEC 0
@@ -65,7 +74,7 @@
#endif
#if defined(XMRIG_OS_LINUX) || (!defined(XMRIG_OS_APPLE) && !defined(__FreeBSD__))
#if defined(XMRIG_OS_LINUX) || (!defined(XMRIG_OS_APPLE) && !defined(XMRIG_OS_FREEBSD))
static inline int hugePagesFlag(size_t size)
{
return (static_cast<int>(log2(size)) & MAP_HUGE_MASK) << MAP_HUGE_SHIFT;
@@ -135,7 +144,7 @@ void *xmrig::VirtualMemory::allocateExecutableMemory(size_t size, bool hugePages
# ifdef XMRIG_ARM
pthread_jit_write_protect_np(false);
# endif
# elif defined(__FreeBSD__)
# elif defined(XMRIG_OS_FREEBSD)
void *mem = nullptr;
if (hugePages) {
@@ -168,7 +177,7 @@ void *xmrig::VirtualMemory::allocateLargePagesMemory(size_t size)
{
# if defined(XMRIG_OS_APPLE)
void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, VM_FLAGS_SUPERPAGE_SIZE_2MB, 0);
# elif defined(__FreeBSD__)
# elif defined(XMRIG_OS_FREEBSD)
void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_ALIGNED_SUPER | MAP_PREFAULT_READ, -1, 0);
# else
void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB | MAP_POPULATE | hugePagesFlag(hugePageSize()), 0, 0);