Add Arto (RTO) support
This commit is contained in:
parent
eb8b854211
commit
bb1fba37a6
3 changed files with 17 additions and 2 deletions
|
@ -283,7 +283,8 @@ constexpr static const char *pow_variant_names[] = {
|
|||
"alloy",
|
||||
"xtl",
|
||||
"msr",
|
||||
"xhv"
|
||||
"xhv",
|
||||
"rto"
|
||||
};
|
||||
|
||||
Options *Options::parse(int argc, char **argv)
|
||||
|
@ -1034,6 +1035,11 @@ bool Options::parsePowVariant(const char *powVariant)
|
|||
break;
|
||||
}
|
||||
|
||||
if (i == ARRAY_SIZE(pow_variant_names) - 1 && !strcmp(powVariant, "arto")) {
|
||||
m_powVariant = POW_RTO;
|
||||
break;
|
||||
}
|
||||
|
||||
if (i == ARRAY_SIZE(pow_variant_names) - 1) {
|
||||
showUsage(1);
|
||||
return false;
|
||||
|
|
|
@ -32,6 +32,7 @@ enum PowVariant
|
|||
POW_XTL,
|
||||
POW_MSR,
|
||||
POW_XHV,
|
||||
POW_RTO,
|
||||
LAST_ITEM
|
||||
};
|
||||
|
||||
|
@ -53,6 +54,8 @@ inline std::string getPowVariantName(PowVariant powVariant)
|
|||
return "msr";
|
||||
case POW_XHV:
|
||||
return "xhv";
|
||||
case POW_RTO:
|
||||
return "rto";
|
||||
case POW_AUTODETECT:
|
||||
default:
|
||||
return "-1";
|
||||
|
@ -111,6 +114,8 @@ inline PowVariant parseVariant(const std::string variant)
|
|||
powVariant = PowVariant::POW_MSR;
|
||||
} else if (variant == "xhv" || variant == "haven") {
|
||||
powVariant = PowVariant::POW_XHV;
|
||||
} else if (variant == "rto" || variant == "arto") {
|
||||
powVariant = PowVariant::POW_RTO;
|
||||
}
|
||||
|
||||
return powVariant;
|
||||
|
|
|
@ -44,6 +44,8 @@ static void cryptonight_aesni(PowVariant powVersion, const uint8_t* input, size_
|
|||
CryptoNightMultiHash<0x80000, POW_XLT_V4_INDEX_SHIFT, MEMORY, 0x1FFFF0, false, NUM_HASH_BLOCKS>::hashPowV2(input, size, output, ctx);
|
||||
} else if (powVersion == PowVariant::POW_MSR) {
|
||||
CryptoNightMultiHash<0x40000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, false, NUM_HASH_BLOCKS>::hashPowV2(input, size, output, ctx);
|
||||
} else if (powVersion == PowVariant::POW_RTO) {
|
||||
CryptoNightMultiHash<0x80000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, false, NUM_HASH_BLOCKS>::hashLiteIpbc(input, size, output, ctx);
|
||||
}else {
|
||||
CryptoNightMultiHash<0x80000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, false, NUM_HASH_BLOCKS>::hash(input, size, output, ctx);
|
||||
}
|
||||
|
@ -60,6 +62,8 @@ static void cryptonight_softaes(PowVariant powVersion, const uint8_t* input, siz
|
|||
CryptoNightMultiHash<0x80000, POW_XLT_V4_INDEX_SHIFT, MEMORY, 0x1FFFF0, true, NUM_HASH_BLOCKS>::hashPowV2(input, size, output, ctx);
|
||||
} else if (powVersion == PowVariant::POW_MSR) {
|
||||
CryptoNightMultiHash<0x40000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, true, NUM_HASH_BLOCKS>::hashPowV2(input, size, output, ctx);
|
||||
} else if (powVersion == PowVariant::POW_RTO) {
|
||||
CryptoNightMultiHash<0x80000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, true, NUM_HASH_BLOCKS>::hashLiteIpbc(input, size, output, ctx);
|
||||
} else {
|
||||
CryptoNightMultiHash<0x80000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, true, NUM_HASH_BLOCKS>::hash(input, size, output, ctx);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue