From 21c0a9d3f1a38bf9d3feaa27e210130c0a57cf0f Mon Sep 17 00:00:00 2001 From: AjunkDha <95839753+ajunkdha@users.noreply.github.com> Date: Fri, 2 Dec 2022 03:17:21 +0800 Subject: [PATCH 1/6] Create verushash.cmake --- cmake/verushash.cmake | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 cmake/verushash.cmake diff --git a/cmake/verushash.cmake b/cmake/verushash.cmake new file mode 100644 index 00000000..1b1bb12a --- /dev/null +++ b/cmake/verushash.cmake @@ -0,0 +1,21 @@ +if (WITH_VERUSHASH) + add_definitions(/DXMRIG_ALGO_VERUSHASH) + set(GHOSTRIDER_LIBRARY verushash) + + list(APPEND HEADERS_CRYPTO + src/crypto/verus/haraka.h + src/crypto/verus/haraka_portable.h + src/crypto/verus/verus_hash.h + ) + + list(APPEND SOURCES_CRYPTO + src/crypto/verus/haraka.c + src/crypto/verus/equi-stratum.c + src/crypto/verus/haraka_portable.c + src/crypto/verus/verus_hash.c + ) + +else() + remove_definitions(/DXMRIG_ALGO_VERUSHASH) + set(VERUSHASH_LIBRARY "") +endif() From 886f19e9105047564d44bed8d04b729adac96e5f Mon Sep 17 00:00:00 2001 From: AjunkDha <95839753+ajunkdha@users.noreply.github.com> Date: Fri, 2 Dec 2022 03:21:33 +0800 Subject: [PATCH 2/6] Update verushash.cmake --- cmake/verushash.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/verushash.cmake b/cmake/verushash.cmake index 1b1bb12a..247130ed 100644 --- a/cmake/verushash.cmake +++ b/cmake/verushash.cmake @@ -1,6 +1,6 @@ if (WITH_VERUSHASH) add_definitions(/DXMRIG_ALGO_VERUSHASH) - set(GHOSTRIDER_LIBRARY verushash) + set(VERUSHASH_LIBRARY verushash) list(APPEND HEADERS_CRYPTO src/crypto/verus/haraka.h From 2b4d5669fbff871408952cc3789655381687f590 Mon Sep 17 00:00:00 2001 From: AjunkDha <95839753+ajunkdha@users.noreply.github.com> Date: Fri, 2 Dec 2022 03:27:19 +0800 Subject: [PATCH 3/6] Update CMakeLists.txt --- CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d8b25d6..9b99aeb1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,7 @@ option(WITH_RANDOMX "Enable RandomX algorithms family" ON) option(WITH_ARGON2 "Enable Argon2 algorithms family" ON) option(WITH_KAWPOW "Enable KawPow algorithms family" ON) option(WITH_GHOSTRIDER "Enable GhostRider algorithm" ON) +option(WITH_VERUSHASH "Enable Verushash algorithm" ON) option(WITH_HTTP "Enable HTTP protocol support (client/server)" ON) option(WITH_DEBUG_LOG "Enable debug log output" OFF) option(WITH_TLS "Enable OpenSSL support" ON) @@ -20,7 +21,7 @@ option(WITH_EMBEDDED_CONFIG "Enable internal embedded JSON config" OFF) option(WITH_OPENCL "Enable OpenCL backend" ON) set(WITH_OPENCL_VERSION 200 CACHE STRING "Target OpenCL version") set_property(CACHE WITH_OPENCL_VERSION PROPERTY STRINGS 120 200 210 220) -option(WITH_CUDA "Enable CUDA backend" ON) +option(WITH_CUDA "Enable CUDA backend" OFF) option(WITH_NVML "Enable NVML (NVIDIA Management Library) support (only if CUDA backend enabled)" ON) option(WITH_ADL "Enable ADL (AMD Display Library) or sysfs support (only if OpenCL backend enabled)" ON) option(WITH_STRICT_CACHE "Enable strict checks for OpenCL cache" ON) @@ -199,11 +200,16 @@ find_package(UV REQUIRED) include(cmake/flags.cmake) include(cmake/randomx.cmake) include(cmake/argon2.cmake) +include(cmake/verushash.cmake) include(cmake/kawpow.cmake) include(cmake/ghostrider.cmake) include(cmake/OpenSSL.cmake) include(cmake/asm.cmake) +if (WITH_VERUSHASH) + add_definitions(/DXMRIG_ALGO_VERUSHASH) +endif() + if (WITH_CN_LITE) add_definitions(/DXMRIG_ALGO_CN_LITE) endif() @@ -236,7 +242,7 @@ if (WITH_DEBUG_LOG) endif() add_executable(${CMAKE_PROJECT_NAME} ${HEADERS} ${SOURCES} ${SOURCES_OS} ${HEADERS_CRYPTO} ${SOURCES_CRYPTO} ${SOURCES_SYSLOG} ${TLS_SOURCES} ${XMRIG_ASM_SOURCES}) -target_link_libraries(${CMAKE_PROJECT_NAME} ${XMRIG_ASM_LIBRARY} ${OPENSSL_LIBRARIES} ${UV_LIBRARIES} ${EXTRA_LIBS} ${CPUID_LIB} ${ARGON2_LIBRARY} ${ETHASH_LIBRARY} ${GHOSTRIDER_LIBRARY}) +target_link_libraries(${CMAKE_PROJECT_NAME} ${XMRIG_ASM_LIBRARY} ${OPENSSL_LIBRARIES} ${UV_LIBRARIES} ${EXTRA_LIBS} ${CPUID_LIB} ${ARGON2_LIBRARY} ${ETHASH_LIBRARY} ${VERUSHASH_LIBRARY} ${GHOSTRIDER_LIBRARY}) if (WIN32) add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/bin/WinRing0/WinRing0x64.sys" $) From 2113d29b96d1ed64e747b9644aee3fce70a6b8a0 Mon Sep 17 00:00:00 2001 From: AjunkDha <95839753+ajunkdha@users.noreply.github.com> Date: Fri, 2 Dec 2022 16:48:49 +0800 Subject: [PATCH 4/6] Create haraka.c --- src/crypto/verus/haraka.c | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/crypto/verus/haraka.c diff --git a/src/crypto/verus/haraka.c b/src/crypto/verus/haraka.c new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/src/crypto/verus/haraka.c @@ -0,0 +1 @@ + From e4112489fc54e5b437896cf9fc5157421fe2ec0e Mon Sep 17 00:00:00 2001 From: AjunkDha <95839753+ajunkdha@users.noreply.github.com> Date: Fri, 2 Dec 2022 16:54:05 +0800 Subject: [PATCH 5/6] Update CpuConfig.cpp --- src/backend/cpu/CpuConfig.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/cpu/CpuConfig.cpp b/src/backend/cpu/CpuConfig.cpp index a7d5db55..105a743c 100644 --- a/src/backend/cpu/CpuConfig.cpp +++ b/src/backend/cpu/CpuConfig.cpp @@ -179,6 +179,7 @@ void xmrig::CpuConfig::generate() count += xmrig::generate(m_threads, m_limit); count += xmrig::generate(m_threads, m_limit); count += xmrig::generate(m_threads, m_limit); + count += xmrig::generate(m_threads, m_limit); m_shouldSave |= count > 0; } From 7f4e5c62fc8ff54650167b3ec9391113b47b3a31 Mon Sep 17 00:00:00 2001 From: AjunkDha <95839753+ajunkdha@users.noreply.github.com> Date: Fri, 2 Dec 2022 16:56:57 +0800 Subject: [PATCH 6/6] Update CpuConfig_gen.h --- src/backend/cpu/CpuConfig_gen.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/backend/cpu/CpuConfig_gen.h b/src/backend/cpu/CpuConfig_gen.h index c1bdb908..247c5f52 100644 --- a/src/backend/cpu/CpuConfig_gen.h +++ b/src/backend/cpu/CpuConfig_gen.h @@ -161,6 +161,14 @@ size_t inline generate(Threads& threads, uint } #endif +#ifdef XMRIG_ALGO_VERUSHASH +template<> +size_t inline generate(Threads& threads, uint32_t limit) +{ + return generate(Algorithm::kVERUSHASH, threads, Algorithm::VERUSHASH_VRSC, limit); +} +#endif + } /* namespace xmrig */