|
|
@ -5,8 +5,8 @@ |
|
|
|
* Copyright 2014-2016 Wolf9466 <https://github.com/OhGodAPet>
|
|
|
|
* Copyright 2016 Jay D Dee <jayddee246@gmail.com> |
|
|
|
* Copyright 2017-2018 XMR-Stak <https://github.com/fireice-uk>, <https://github.com/psychocrypt>
|
|
|
|
* Copyright 2018-2020 SChernykh <https://github.com/SChernykh>
|
|
|
|
* Copyright 2016-2020 XMRig <https://github.com/xmrig>, <support@xmrig.com>
|
|
|
|
* Copyright 2018-2021 SChernykh <https://github.com/SChernykh>
|
|
|
|
* Copyright 2016-2021 XMRig <https://github.com/xmrig>, <support@xmrig.com>
|
|
|
|
* |
|
|
|
* This program is free software: you can redistribute it and/or modify |
|
|
|
* it under the terms of the GNU General Public License as published by |
|
|
@ -23,11 +23,11 @@ |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
#include "core/config/ConfigTransform.h" |
|
|
|
#include "base/kernel/interfaces/IConfig.h" |
|
|
|
#include "backend/cpu/CpuConfig.h" |
|
|
|
#include "base/net/stratum/Pool.h" |
|
|
|
#include "base/net/stratum/Pools.h" |
|
|
|
#include "core/config/ConfigTransform.h" |
|
|
|
#include "core/config/Config.h" |
|
|
|
#include "crypto/cn/CnHash.h" |
|
|
|
|
|
|
|
|
|
|
@ -51,14 +51,6 @@ static const char *kEnabled = "enabled"; |
|
|
|
static const char *kIntensity = "intensity"; |
|
|
|
static const char *kThreads = "threads"; |
|
|
|
|
|
|
|
#ifdef XMRIG_FEATURE_OPENCL |
|
|
|
static const char *kOcl = "opencl"; |
|
|
|
#endif |
|
|
|
|
|
|
|
#ifdef XMRIG_FEATURE_CUDA |
|
|
|
static const char *kCuda = "cuda"; |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
static inline uint64_t intensity(uint64_t av) |
|
|
|
{ |
|
|
@ -122,7 +114,7 @@ void xmrig::ConfigTransform::finalize(rapidjson::Document &doc) |
|
|
|
|
|
|
|
# ifdef XMRIG_FEATURE_OPENCL |
|
|
|
if (m_opencl) { |
|
|
|
set(doc, kOcl, kEnabled, true); |
|
|
|
set(doc, Config::kOcl, kEnabled, true); |
|
|
|
} |
|
|
|
# endif |
|
|
|
} |
|
|
@ -208,47 +200,54 @@ void xmrig::ConfigTransform::transform(rapidjson::Document &doc, int key, const |
|
|
|
break; |
|
|
|
|
|
|
|
case IConfig::OclCacheKey: /* --opencl-no-cache */ |
|
|
|
return set(doc, kOcl, "cache", false); |
|
|
|
return set(doc, Config::kOcl, "cache", false); |
|
|
|
|
|
|
|
case IConfig::OclLoaderKey: /* --opencl-loader */ |
|
|
|
return set(doc, kOcl, "loader", arg); |
|
|
|
return set(doc, Config::kOcl, "loader", arg); |
|
|
|
|
|
|
|
case IConfig::OclDevicesKey: /* --opencl-devices */ |
|
|
|
m_opencl = true; |
|
|
|
return set(doc, kOcl, "devices-hint", arg); |
|
|
|
return set(doc, Config::kOcl, "devices-hint", arg); |
|
|
|
|
|
|
|
case IConfig::OclPlatformKey: /* --opencl-platform */ |
|
|
|
if (strlen(arg) < 3) { |
|
|
|
return set(doc, kOcl, "platform", static_cast<uint64_t>(strtol(arg, nullptr, 10))); |
|
|
|
return set(doc, Config::kOcl, "platform", static_cast<uint64_t>(strtol(arg, nullptr, 10))); |
|
|
|
} |
|
|
|
|
|
|
|
return set(doc, kOcl, "platform", arg); |
|
|
|
return set(doc, Config::kOcl, "platform", arg); |
|
|
|
# endif |
|
|
|
|
|
|
|
# ifdef XMRIG_FEATURE_CUDA |
|
|
|
case IConfig::CudaKey: /* --cuda */ |
|
|
|
return set(doc, kCuda, kEnabled, true); |
|
|
|
return set(doc, Config::kCuda, kEnabled, true); |
|
|
|
|
|
|
|
case IConfig::CudaLoaderKey: /* --cuda-loader */ |
|
|
|
return set(doc, kCuda, "loader", arg); |
|
|
|
return set(doc, Config::kCuda, "loader", arg); |
|
|
|
|
|
|
|
case IConfig::CudaDevicesKey: /* --cuda-devices */ |
|
|
|
set(doc, kCuda, kEnabled, true); |
|
|
|
return set(doc, kCuda, "devices-hint", arg); |
|
|
|
set(doc, Config::kCuda, kEnabled, true); |
|
|
|
return set(doc, Config::kCuda, "devices-hint", arg); |
|
|
|
|
|
|
|
case IConfig::CudaBFactorKey: /* --cuda-bfactor-hint */ |
|
|
|
return set(doc, kCuda, "bfactor-hint", static_cast<uint64_t>(strtol(arg, nullptr, 10))); |
|
|
|
return set(doc, Config::kCuda, "bfactor-hint", static_cast<uint64_t>(strtol(arg, nullptr, 10))); |
|
|
|
|
|
|
|
case IConfig::CudaBSleepKey: /* --cuda-bsleep-hint */ |
|
|
|
return set(doc, kCuda, "bsleep-hint", static_cast<uint64_t>(strtol(arg, nullptr, 10))); |
|
|
|
return set(doc, Config::kCuda, "bsleep-hint", static_cast<uint64_t>(strtol(arg, nullptr, 10))); |
|
|
|
# endif |
|
|
|
|
|
|
|
# ifdef XMRIG_FEATURE_NVML |
|
|
|
case IConfig::NvmlKey: /* --no-nvml */ |
|
|
|
return set(doc, kCuda, "nvml", false); |
|
|
|
return set(doc, Config::kCuda, "nvml", false); |
|
|
|
# endif |
|
|
|
|
|
|
|
# if defined(XMRIG_FEATURE_NVML) || defined (XMRIG_FEATURE_ADL) |
|
|
|
case IConfig::HealthPrintTimeKey: /* --health-print-time */ |
|
|
|
return set(doc, "health-print-time", static_cast<uint64_t>(strtol(arg, nullptr, 10))); |
|
|
|
return set(doc, Config::kHealthPrintTime, static_cast<uint64_t>(strtol(arg, nullptr, 10))); |
|
|
|
# endif |
|
|
|
|
|
|
|
# ifdef XMRIG_FEATURE_DMI |
|
|
|
case IConfig::DmiKey: /* --no-dmi */ |
|
|
|
return set(doc, Config::kDMI, false); |
|
|
|
# endif |
|
|
|
|
|
|
|
# ifdef XMRIG_FEATURE_BENCHMARK |
|
|
|