mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-12 15:58:05 +00:00
Merge branch 'master' of git://github.com/ckolivas/cgminer.git
This commit is contained in:
commit
1b8b50590d
@ -3159,8 +3159,6 @@ static void set_curblock(char *hexstr, unsigned char *hash)
|
||||
|
||||
get_timestamp(blocktime, &block_timeval);
|
||||
|
||||
if (unlikely(!current_hash))
|
||||
quit (1, "set_curblock OOM");
|
||||
applog(LOG_INFO, "New block: %s...", current_hash);
|
||||
}
|
||||
|
||||
|
67
findnonce.c
67
findnonce.c
@ -173,70 +173,19 @@ void precalc_hash(dev_blk_ctx *blk, uint32_t *state, uint32_t *data)
|
||||
|
||||
struct pc_data {
|
||||
struct thr_info *thr;
|
||||
struct work *work;
|
||||
struct work work;
|
||||
uint32_t res[MAXBUFFERS];
|
||||
pthread_t pth;
|
||||
int found;
|
||||
};
|
||||
|
||||
#if 0 // not used any more
|
||||
|
||||
static void send_sha_nonce(struct pc_data *pcd, cl_uint nonce)
|
||||
{
|
||||
dev_blk_ctx *blk = &pcd->work->blk;
|
||||
struct thr_info *thr = pcd->thr;
|
||||
cl_uint A, B, C, D, E, F, G, H;
|
||||
struct work *work = pcd->work;
|
||||
cl_uint W[16];
|
||||
|
||||
A = blk->cty_a; B = blk->cty_b;
|
||||
C = blk->cty_c; D = blk->cty_d;
|
||||
E = blk->cty_e; F = blk->cty_f;
|
||||
G = blk->cty_g; H = blk->cty_h;
|
||||
W[0] = blk->merkle; W[1] = blk->ntime;
|
||||
W[2] = blk->nbits; W[3] = nonce;
|
||||
W[4] = 0x80000000; W[5] = 0x00000000; W[6] = 0x00000000; W[7] = 0x00000000;
|
||||
W[8] = 0x00000000; W[9] = 0x00000000; W[10] = 0x00000000; W[11] = 0x00000000;
|
||||
W[12] = 0x00000000; W[13] = 0x00000000; W[14] = 0x00000000; W[15] = 0x00000280;
|
||||
PIR(0); IR(8);
|
||||
FR(16); FR(24);
|
||||
FR(32); FR(40);
|
||||
FR(48); FR(56);
|
||||
|
||||
W[0] = A + blk->ctx_a; W[1] = B + blk->ctx_b;
|
||||
W[2] = C + blk->ctx_c; W[3] = D + blk->ctx_d;
|
||||
W[4] = E + blk->ctx_e; W[5] = F + blk->ctx_f;
|
||||
W[6] = G + blk->ctx_g; W[7] = H + blk->ctx_h;
|
||||
W[8] = 0x80000000; W[9] = 0x00000000; W[10] = 0x00000000; W[11] = 0x00000000;
|
||||
W[12] = 0x00000000; W[13] = 0x00000000; W[14] = 0x00000000; W[15] = 0x00000100;
|
||||
A = 0x6a09e667; B = 0xbb67ae85;
|
||||
C = 0x3c6ef372; D = 0xa54ff53a;
|
||||
E = 0x510e527f; F = 0x9b05688c;
|
||||
G = 0x1f83d9ab; H = 0x5be0cd19;
|
||||
IR(0); IR(8);
|
||||
FR(16); FR(24);
|
||||
FR(32); FR(40);
|
||||
FR(48); PFR(56);
|
||||
|
||||
if (likely(H == 0xa41f32e7)) {
|
||||
if (unlikely(submit_nonce(thr, work, nonce) == false))
|
||||
applog(LOG_ERR, "Failed to submit work, exiting");
|
||||
} else {
|
||||
applog(LOG_DEBUG, "No best_g found! Error in OpenCL code?");
|
||||
hw_errors++;
|
||||
thr->cgpu->hw_errors++;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static void send_scrypt_nonce(struct pc_data *pcd, uint32_t nonce)
|
||||
{
|
||||
struct thr_info *thr = pcd->thr;
|
||||
struct work *work = pcd->work;
|
||||
struct work *work = &pcd->work;
|
||||
|
||||
if (scrypt_test(work->data, work->target, nonce))
|
||||
submit_nonce(thr, pcd->work, nonce);
|
||||
submit_nonce(thr, &pcd->work, nonce);
|
||||
else {
|
||||
applog(LOG_INFO, "Scrypt error, review settings");
|
||||
thr->cgpu->hw_errors++;
|
||||
@ -247,7 +196,6 @@ static void *postcalc_hash(void *userdata)
|
||||
{
|
||||
struct pc_data *pcd = (struct pc_data *)userdata;
|
||||
struct thr_info *thr = pcd->thr;
|
||||
struct work *work = pcd->work;
|
||||
unsigned int entry = 0;
|
||||
|
||||
pthread_detach(pthread_self());
|
||||
@ -269,7 +217,7 @@ static void *postcalc_hash(void *userdata)
|
||||
if (opt_scrypt)
|
||||
send_scrypt_nonce(pcd, nonce);
|
||||
else {
|
||||
if (unlikely(submit_nonce(thr, work, nonce) == false))
|
||||
if (unlikely(submit_nonce(thr, &pcd->work, nonce) == false))
|
||||
applog(LOG_ERR, "Failed to submit work, exiting");
|
||||
}
|
||||
}
|
||||
@ -286,14 +234,9 @@ void postcalc_hash_async(struct thr_info *thr, struct work *work, uint32_t *res)
|
||||
applog(LOG_ERR, "Failed to malloc pc_data in postcalc_hash_async");
|
||||
return;
|
||||
}
|
||||
pcd->work = calloc(1, sizeof(struct work));
|
||||
if (unlikely(!pcd->work)) {
|
||||
applog(LOG_ERR, "Failed to malloc work in postcalc_hash_async");
|
||||
return;
|
||||
}
|
||||
|
||||
pcd->thr = thr;
|
||||
memcpy(pcd->work, work, sizeof(struct work));
|
||||
memcpy(&pcd->work, work, sizeof(struct work));
|
||||
memcpy(&pcd->res, res, BUFFERSIZE);
|
||||
|
||||
if (pthread_create(&pcd->pth, NULL, postcalc_hash, (void *)pcd)) {
|
||||
|
Loading…
Reference in New Issue
Block a user