mirror of
git://projects.qi-hardware.com/openwrt-packages.git
synced 2024-11-29 13:09:43 +02:00
49 lines
1.8 KiB
Diff
49 lines
1.8 KiB
Diff
From 9414fa7c182eef279e4b21d3c3edeb11461af5bd Mon Sep 17 00:00:00 2001
|
|
From: Xiangfu <xiangfu@openmobilefree.net>
|
|
Date: Fri, 11 May 2012 11:00:14 +0800
|
|
Subject: [PATCH 1/2] work_decode only needs swab32 on midstate under BIG
|
|
ENDIAN
|
|
|
|
---
|
|
cgminer.c | 17 +++++------------
|
|
1 files changed, 5 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/cgminer.c b/cgminer.c
|
|
index 118747b..d8b8e6f 100644
|
|
--- a/cgminer.c
|
|
+++ b/cgminer.c
|
|
@@ -1182,6 +1182,11 @@ static bool work_decode(const json_t *val, struct work *work)
|
|
sha2_starts( &ctx, 0 );
|
|
sha2_update( &ctx, data.c, 64 );
|
|
memcpy(work->midstate, ctx.state, sizeof(work->midstate));
|
|
+#if defined(__BIG_ENDIAN__) || defined(MIPSEB)
|
|
+ int i;
|
|
+ for (i = 0; i < 8; i++)
|
|
+ (((uint32_t*) (work->midstate))[i]) = swab32(((uint32_t*) (work->midstate))[i]);
|
|
+#endif
|
|
}
|
|
|
|
if (likely(!jobj_binary(val, "hash1", work->hash1, sizeof(work->hash1), false))) {
|
|
@@ -1196,18 +1201,6 @@ static bool work_decode(const json_t *val, struct work *work)
|
|
|
|
memset(work->hash, 0, sizeof(work->hash));
|
|
|
|
-#ifdef __BIG_ENDIAN__
|
|
- int swapcounter = 0;
|
|
- for (swapcounter = 0; swapcounter < 32; swapcounter++)
|
|
- (((uint32_t*) (work->data))[swapcounter]) = swab32(((uint32_t*) (work->data))[swapcounter]);
|
|
- for (swapcounter = 0; swapcounter < 16; swapcounter++)
|
|
- (((uint32_t*) (work->hash1))[swapcounter]) = swab32(((uint32_t*) (work->hash1))[swapcounter]);
|
|
- for (swapcounter = 0; swapcounter < 8; swapcounter++)
|
|
- (((uint32_t*) (work->midstate))[swapcounter]) = swab32(((uint32_t*) (work->midstate))[swapcounter]);
|
|
- for (swapcounter = 0; swapcounter < 8; swapcounter++)
|
|
- (((uint32_t*) (work->target))[swapcounter]) = swab32(((uint32_t*) (work->target))[swapcounter]);
|
|
-#endif
|
|
-
|
|
gettimeofday(&work->tv_staged, NULL);
|
|
|
|
return true;
|
|
--
|
|
1.7.5.4
|
|
|