@ -1,18 +1,33 @@
--- a/crc32.c
+++ b/crc32.c
@@ -8,11 +8,7 @@
@@ -8,21 +8,16 @@
* For conditions of distribution and use, see copyright notice in zlib.h
*/
-#ifndef USE_HOSTCC /* Shut down "ANSI does not permit..." warnings */
-#ifndef USE_HOSTCC
-#include <common.h>
-#else
#include <stdint.h>
-#endif
-#include <compiler.h>
-#include <u-boot/crc.h>
+#include <stdint.h>
+#include <asm/byteorder.h>
+
+#include "zlib.h"
-#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
-#include <watchdog.h>
-#endif
-#include "u-boot/zlib.h"
#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
#include <watchdog.h>
@@ -136,7 +132,7 @@ local const uint32_t crc_table[256] = {
#define local static
#define ZEXPORT /* empty */
-#define tole(x) cpu_to_le32(x)
+#define tole(x) __constant_cpu_to_le32(x)
#ifdef DYNAMIC_CRC_TABLE
@@ -151,7 +146,7 @@ tole(0xb40bbe37L), tole(0xc30c8ea1L), to
#if 0
/* =========================================================================
@ -21,16 +36,30 @@
*/
const uint32_t * ZEXPORT get_crc_table()
{
@@ -154,7 +150,7 @@ const uint32_t * ZEXPORT get_crc_table()
#define DO8(buf) DO4(buf); DO4(buf);
@@ -183,7 +178,7 @@ uint32_t ZEXPORT crc32_no_comp(uint32_t
if (crc_table_empty)
make_crc_table();
#endif
- crc = cpu_to_le32(crc);
+ crc = __cpu_to_le32(crc);
/* Align it */
if (((long)b) & 3 && len) {
uint8_t *p = (uint8_t *)b;
@@ -212,11 +207,11 @@ uint32_t ZEXPORT crc32_no_comp(uint32_t
} while (--len);
}
/* ========================================================================= */
-uint32_t ZEXPORT crc32 (uint32_t crc, const Bytef *buf, uInt len)
+uint32_t ZEXPORT uboot_crc32 (uint32_t crc, const Bytef *buf, uInt len)
- return le32_to_cpu(crc);
+ return __le32_to_cpu(crc);
}
#undef DO_CRC
-uint32_t ZEXPORT crc32 (uint32_t crc, const Bytef *p, uInt len)
+uint32_t ZEXPORT uboot_crc32 (uint32_t crc, const Bytef *p, uInt len)
{
#ifdef DYNAMIC_CRC_TABLE
if (crc_table_empty)
@@ -217,12 +213,12 @@ uint32_t ZEXPORT crc32_wd (uint32_t crc,
return crc32_no_comp(crc ^ 0xffffffffL, p, len) ^ 0xffffffffL;
}
@@ -239,12 +234 ,12 @@ uint32_t ZEXPORT crc32_wd (uint32_t crc,
chunk = end - curr;
if (chunk > chunk_sz)
chunk = chunk_sz;
@ -47,7 +76,20 @@
return crc;
--- a/fw_env.c
+++ b/fw_env.c
@@ -216,9 +216,9 @@ static int parse_config (void);
@@ -34,6 +34,7 @@
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <zlib.h>
#ifdef MTD_OLD
# include <stdint.h>
@@ -210,13 +211,14 @@ static char default_environment[] = {
static int flash_io (int mode);
static char *envmatch (char * s1, char * s2);
static int parse_config (void);
+uint32_t uboot_crc32 (uint32_t crc, const Bytef *p, uInt len);
#if defined(CONFIG_FILE)
static int get_config (char *);
#endif
@ -59,16 +101,16 @@
if (HaveRedundEnv)
rc -= sizeof (char);
@@ -437,7 +437,7 @@ int fw_setenv (int argc, char *argv[] )
@@ -346,7 +348,7 @@ int fw_env_close(void )
/*
* Update CRC
*/
- *environment.crc = crc32 (0, (uint8_t *) environment.data, ENV_SIZE);
+ *environment.crc = uboot_crc32 (0, (uint8_t *) environment.data, ENV_SIZE);
- *environment.crc = crc32(0, (uint8_t *) environment.data, ENV_SIZE);
+ *environment.crc = uboot_crc32(0, (uint8_t *) environment.data, ENV_SIZE);
/* write environment back to flash */
if (flash_io (O_RDWR)) {
@@ -627,7 +627 ,7 @@ static int flash_write_buf (int dev, int
if (flash_io(O_RDWR)) {
@@ -802,7 +804 ,7 @@ static int flash_write_buf (int dev, int
data = malloc (erase_len);
if (!data) {
fprintf (stderr,
@ -77,21 +119,7 @@
erase_len, strerror (errno));
return -1;
}
@@ -883,11 +883,11 @@ static char *envmatch (char * s1, char *
static int env_init (void)
{
int crc0, crc0_ok;
- char flag0;
+ unsigned char flag0;
void *addr0;
int crc1, crc1_ok;
- char flag1;
+ unsigned char flag1;
void *addr1;
struct env_image_single *single;
@@ -923,7 +923,7 @@ static int env_init (void)
@@ -1107,7 +1109,7 @@ int fw_env_open(void)
if (flash_io (O_RDONLY))
return -1;
@ -100,7 +128,7 @@
crc0_ok = (crc0 == *environment.crc);
if (!HaveRedundEnv) {
if (!crc0_ok) {
@@ -964,7 +964,7 @@ static int env_init (void)
@@ -1151,7 +1153,7 @@ int fw_env_open (void)
return -1;
}
@ -109,17 +137,3 @@
crc1_ok = (crc1 == redundant->crc);
flag1 = redundant->flags;
--- a/fw_env.h
+++ b/fw_env.h
@@ -47,8 +47,10 @@
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \
"bootm"
+# include <stdint.h>
+
extern int fw_printenv(int argc, char *argv[]);
extern char *fw_getenv (char *name);
extern int fw_setenv (int argc, char *argv[]);
-extern unsigned long crc32 (unsigned long, const unsigned char *, unsigned);
+extern uint32_t uboot_crc32 (uint32_t, const unsigned char *, unsigned);