1
0
mirror of https://github.com/xmrig/xmrig.git synced 2026-07-03 23:22:44 -04:00

Compare commits

...

6 Commits

Author SHA1 Message Date
Tony Butler d76c0f869e Merge 6c8098378a into 64a0ed413b 2023-11-19 16:36:41 -07:00
xmrig 64a0ed413b Merge pull request #3358 from SChernykh/dev
Zephyr solo mining: handle multiple outputs
2023-11-15 22:36:35 +07:00
SChernykh 0b59b7eb43 Zephyr solo mining: handle multiple outputs 2023-11-15 16:18:05 +01:00
xmrig ae6b10b5a4 Merge pull request #3356 from SChernykh/dev
Updated pricing record size for Zephyr solo mining
2023-11-15 08:27:02 +07:00
SChernykh 705a7eac0c Updated pricing record size for Zephyr solo mining 2023-11-14 13:06:10 +01:00
Tony Butler 6c8098378a Add AUTO_HUGEPAGE feature to disable writing to nr_hugepages 2023-07-12 02:06:53 -06:00
3 changed files with 33 additions and 18 deletions
+5
View File
@@ -32,6 +32,7 @@ option(WITH_VAES "Enable VAES instructions for Cryptonight" ON)
option(WITH_BENCHMARK "Enable builtin RandomX benchmark and stress test" ON) option(WITH_BENCHMARK "Enable builtin RandomX benchmark and stress test" ON)
option(WITH_SECURE_JIT "Enable secure access to JIT memory" OFF) option(WITH_SECURE_JIT "Enable secure access to JIT memory" OFF)
option(WITH_DMI "Enable DMI/SMBIOS reader" ON) option(WITH_DMI "Enable DMI/SMBIOS reader" ON)
option(WITH_AUTO_HUGEPAGE "Enable Automatic setting of nr_hugepages (Linux Only)" ON)
option(BUILD_STATIC "Build static binary" OFF) option(BUILD_STATIC "Build static binary" OFF)
option(ARM_V8 "Force ARMv8 (64 bit) architecture, use with caution if automatic detection fails, but you sure it may work" OFF) option(ARM_V8 "Force ARMv8 (64 bit) architecture, use with caution if automatic detection fails, but you sure it may work" OFF)
@@ -181,6 +182,10 @@ else()
if (XMRIG_OS_ANDROID) if (XMRIG_OS_ANDROID)
set(EXTRA_LIBS pthread rt dl log) set(EXTRA_LIBS pthread rt dl log)
elseif (XMRIG_OS_LINUX) elseif (XMRIG_OS_LINUX)
if (WITH_AUTO_HUGEPAGE)
add_definitions(/DXMRIG_FEATURE_AUTO_HUGEPAGE)
endif()
list(APPEND SOURCES_OS list(APPEND SOURCES_OS
src/crypto/common/LinuxMemory.h src/crypto/common/LinuxMemory.h
src/crypto/common/LinuxMemory.cpp src/crypto/common/LinuxMemory.cpp
+24 -18
View File
@@ -198,7 +198,7 @@ bool xmrig::BlockTemplate::parse(bool hashes)
} }
if (m_coin == Coin::ZEPHYR) { if (m_coin == Coin::ZEPHYR) {
uint8_t pricing_record[24]; uint8_t pricing_record[120];
ar(pricing_record); ar(pricing_record);
} }
@@ -225,8 +225,12 @@ bool xmrig::BlockTemplate::parse(bool hashes)
ar(m_height); ar(m_height);
ar(m_numOutputs); ar(m_numOutputs);
const uint64_t expected_outputs = (m_coin == Coin::ZEPHYR) ? 2 : 1; if (m_coin == Coin::ZEPHYR) {
if (m_numOutputs != expected_outputs) { if (m_numOutputs < 2) {
return false;
}
}
else if (m_numOutputs != 1) {
return false; return false;
} }
@@ -252,23 +256,25 @@ bool xmrig::BlockTemplate::parse(bool hashes)
ar.skip(asset_type_len); ar.skip(asset_type_len);
ar(m_viewTag); ar(m_viewTag);
uint64_t amount2; for (uint64_t k = 1; k < m_numOutputs; ++k) {
ar(amount2); uint64_t amount2;
ar(amount2);
uint8_t output_type2; uint8_t output_type2;
ar(output_type2); ar(output_type2);
if (output_type2 != 2) { if (output_type2 != 2) {
return false; return false;
}
Span key2;
ar(key2, kKeySize);
ar(asset_type_len);
ar.skip(asset_type_len);
uint8_t view_tag2;
ar(view_tag2);
} }
Span key2;
ar(key2, kKeySize);
ar(asset_type_len);
ar.skip(asset_type_len);
uint8_t view_tag2;
ar(view_tag2);
} }
else if (m_outputType == 3) { else if (m_outputType == 3) {
ar(m_viewTag); ar(m_viewTag);
+4
View File
@@ -60,7 +60,11 @@ bool xmrig::LinuxMemory::reserve(size_t size, uint32_t node, size_t hugePageSize
return false; return false;
} }
# ifdef XMRIG_FEATURE_AUTO_HUGEPAGE
return write_nr_hugepages(node, hugePageSize, std::max<size_t>(nr_hugepages(node, hugePageSize), 0) + (required - available)); return write_nr_hugepages(node, hugePageSize, std::max<size_t>(nr_hugepages(node, hugePageSize), 0) + (required - available));
# else
return false;
# endif
} }