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",
|
"alloy",
|
||||||
"xtl",
|
"xtl",
|
||||||
"msr",
|
"msr",
|
||||||
"xhv"
|
"xhv",
|
||||||
|
"rto"
|
||||||
};
|
};
|
||||||
|
|
||||||
Options *Options::parse(int argc, char **argv)
|
Options *Options::parse(int argc, char **argv)
|
||||||
|
@ -1034,6 +1035,11 @@ bool Options::parsePowVariant(const char *powVariant)
|
||||||
break;
|
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) {
|
if (i == ARRAY_SIZE(pow_variant_names) - 1) {
|
||||||
showUsage(1);
|
showUsage(1);
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -32,6 +32,7 @@ enum PowVariant
|
||||||
POW_XTL,
|
POW_XTL,
|
||||||
POW_MSR,
|
POW_MSR,
|
||||||
POW_XHV,
|
POW_XHV,
|
||||||
|
POW_RTO,
|
||||||
LAST_ITEM
|
LAST_ITEM
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -53,6 +54,8 @@ inline std::string getPowVariantName(PowVariant powVariant)
|
||||||
return "msr";
|
return "msr";
|
||||||
case POW_XHV:
|
case POW_XHV:
|
||||||
return "xhv";
|
return "xhv";
|
||||||
|
case POW_RTO:
|
||||||
|
return "rto";
|
||||||
case POW_AUTODETECT:
|
case POW_AUTODETECT:
|
||||||
default:
|
default:
|
||||||
return "-1";
|
return "-1";
|
||||||
|
@ -111,6 +114,8 @@ inline PowVariant parseVariant(const std::string variant)
|
||||||
powVariant = PowVariant::POW_MSR;
|
powVariant = PowVariant::POW_MSR;
|
||||||
} else if (variant == "xhv" || variant == "haven") {
|
} else if (variant == "xhv" || variant == "haven") {
|
||||||
powVariant = PowVariant::POW_XHV;
|
powVariant = PowVariant::POW_XHV;
|
||||||
|
} else if (variant == "rto" || variant == "arto") {
|
||||||
|
powVariant = PowVariant::POW_RTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
return powVariant;
|
return powVariant;
|
||||||
|
|
|
@ -44,7 +44,9 @@ 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);
|
CryptoNightMultiHash<0x80000, POW_XLT_V4_INDEX_SHIFT, MEMORY, 0x1FFFF0, false, NUM_HASH_BLOCKS>::hashPowV2(input, size, output, ctx);
|
||||||
} else if (powVersion == PowVariant::POW_MSR) {
|
} else if (powVersion == PowVariant::POW_MSR) {
|
||||||
CryptoNightMultiHash<0x40000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, false, NUM_HASH_BLOCKS>::hashPowV2(input, size, output, ctx);
|
CryptoNightMultiHash<0x40000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, false, NUM_HASH_BLOCKS>::hashPowV2(input, size, output, ctx);
|
||||||
} else {
|
} 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);
|
CryptoNightMultiHash<0x80000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, false, NUM_HASH_BLOCKS>::hash(input, size, output, ctx);
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
@ -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);
|
CryptoNightMultiHash<0x80000, POW_XLT_V4_INDEX_SHIFT, MEMORY, 0x1FFFF0, true, NUM_HASH_BLOCKS>::hashPowV2(input, size, output, ctx);
|
||||||
} else if (powVersion == PowVariant::POW_MSR) {
|
} else if (powVersion == PowVariant::POW_MSR) {
|
||||||
CryptoNightMultiHash<0x40000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, true, NUM_HASH_BLOCKS>::hashPowV2(input, size, output, ctx);
|
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 {
|
} else {
|
||||||
CryptoNightMultiHash<0x80000, POW_DEFAULT_INDEX_SHIFT, MEMORY, 0x1FFFF0, true, NUM_HASH_BLOCKS>::hash(input, size, output, ctx);
|
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