diff options
Diffstat (limited to 'ubi-utils/src')
-rw-r--r-- | ubi-utils/src/eb_chain.c | 42 | ||||
-rw-r--r-- | ubi-utils/src/libubigen.c | 56 | ||||
-rw-r--r-- | ubi-utils/src/pfi2bin.c | 14 | ||||
-rw-r--r-- | ubi-utils/src/ubigen.h | 27 | ||||
-rw-r--r-- | ubi-utils/src/unubi.c | 68 | ||||
-rw-r--r-- | ubi-utils/src/unubi_analyze.c | 46 |
6 files changed, 127 insertions, 126 deletions
diff --git a/ubi-utils/src/eb_chain.c b/ubi-utils/src/eb_chain.c index 471efad..a018ae6 100644 --- a/ubi-utils/src/eb_chain.c +++ b/ubi-utils/src/eb_chain.c @@ -65,9 +65,9 @@ eb_chain_insert(struct eb_info **head, struct eb_info *new) return 0; } - new_vol = ubi32_to_cpu(new->vid.vol_id); - new_num = ubi32_to_cpu(new->vid.lnum); - new_ver = ubi32_to_cpu(new->vid.leb_ver); + new_vol = __be32_to_cpu(new->vid.vol_id); + new_num = __be32_to_cpu(new->vid.lnum); + new_ver = __be32_to_cpu(new->vid.leb_ver); /** TRAVERSE HORIZONTALY **/ @@ -75,8 +75,8 @@ eb_chain_insert(struct eb_info **head, struct eb_info *new) prev = NULL; /* traverse until vol_id/lnum align */ - vol = ubi32_to_cpu(cur->vid.vol_id); - num = ubi32_to_cpu(cur->vid.lnum); + vol = __be32_to_cpu(cur->vid.vol_id); + num = __be32_to_cpu(cur->vid.lnum); while ((new_vol > vol) || ((new_vol == vol) && (new_num > num))) { /* insert new at end of chain */ if (cur->next == NULL) { @@ -88,8 +88,8 @@ eb_chain_insert(struct eb_info **head, struct eb_info *new) prev = cur; cur = cur->next; - vol = ubi32_to_cpu(cur->vid.vol_id); - num = ubi32_to_cpu(cur->vid.lnum); + vol = __be32_to_cpu(cur->vid.vol_id); + num = __be32_to_cpu(cur->vid.lnum); } if (prev == NULL) @@ -111,7 +111,7 @@ eb_chain_insert(struct eb_info **head, struct eb_info *new) prev = NULL; /* traverse until versions align */ - ver = ubi32_to_cpu(cur->vid.leb_ver); + ver = __be32_to_cpu(cur->vid.leb_ver); while (new_ver < ver) { /* insert new at bottom of history */ if (hist->older == NULL) { @@ -124,7 +124,7 @@ eb_chain_insert(struct eb_info **head, struct eb_info *new) prev = hist; hist = hist->older; - ver = ubi32_to_cpu(hist->vid.leb_ver); + ver = __be32_to_cpu(hist->vid.leb_ver); } if (prev == NULL) { @@ -168,8 +168,8 @@ eb_chain_position(struct eb_info **head, uint32_t vol_id, uint32_t *lnum, cur = *head; while (cur != NULL) { - vol = ubi32_to_cpu(cur->vid.vol_id); - num = ubi32_to_cpu(cur->vid.lnum); + vol = __be32_to_cpu(cur->vid.vol_id); + num = __be32_to_cpu(cur->vid.lnum); if ((vol_id == vol) && ((lnum == NULL) || (*lnum == num))) { *pos = cur; @@ -210,24 +210,24 @@ eb_chain_print(FILE* stream, struct eb_info *head) struct eb_info *hist; fprintf(stream, "%08x %-8u %08x %-4s%-4s", - ubi32_to_cpu(cur->vid.vol_id), - ubi32_to_cpu(cur->vid.lnum), - ubi32_to_cpu(cur->vid.leb_ver), + __be32_to_cpu(cur->vid.vol_id), + __be32_to_cpu(cur->vid.lnum), + __be32_to_cpu(cur->vid.leb_ver), cur->ec_crc_ok ? "ok":"bad", cur->vid_crc_ok ? "ok":"bad"); if (cur->vid.vol_type == UBI_VID_STATIC) fprintf(stream, "%-4s", cur->data_crc_ok ? "ok":"bad"); else fprintf(stream, "%-4s", cur->data_crc_ok ? "ok":"ign"); fprintf(stream, " %-4d %08x %-8u %-8llu\n", cur->phys_block, - cur->phys_addr, ubi32_to_cpu(cur->vid.data_size), - ubi64_to_cpu(cur->ec.ec)); + cur->phys_addr, __be32_to_cpu(cur->vid.data_size), + __be64_to_cpu(cur->ec.ec)); hist = cur->older; while (hist != NULL) { fprintf(stream, "%08x %-8u %08x %-4s%-4s", - ubi32_to_cpu(hist->vid.vol_id), - ubi32_to_cpu(hist->vid.lnum), - ubi32_to_cpu(hist->vid.leb_ver), + __be32_to_cpu(hist->vid.vol_id), + __be32_to_cpu(hist->vid.lnum), + __be32_to_cpu(hist->vid.leb_ver), hist->ec_crc_ok ? "ok":"bad", hist->vid_crc_ok ? "ok":"bad"); if (hist->vid.vol_type == UBI_VID_STATIC) @@ -235,8 +235,8 @@ eb_chain_print(FILE* stream, struct eb_info *head) else fprintf(stream, "%-4s", hist->data_crc_ok ? "ok":"ign"); fprintf(stream, " %-4d %08x %-8u %-8llu (*)\n", hist->phys_block, hist->phys_addr, - ubi32_to_cpu(hist->vid.data_size), - ubi64_to_cpu(hist->ec.ec)); + __be32_to_cpu(hist->vid.data_size), + __be64_to_cpu(hist->ec.ec)); hist = hist->older; } diff --git a/ubi-utils/src/libubigen.c b/ubi-utils/src/libubigen.c index d65f055..87c8c40 100644 --- a/ubi-utils/src/libubigen.c +++ b/ubi-utils/src/libubigen.c @@ -78,7 +78,7 @@ validate_ubi_info(ubi_info_t u) return EUBIGEN_INVALID_TYPE; } - if (ubi32_to_cpu(u->ec->vid_hdr_offset) < UBI_VID_HDR_SIZE) { + if (__be32_to_cpu(u->ec->vid_hdr_offset) < UBI_VID_HDR_SIZE) { return EUBIGEN_INVALID_HDR_OFFSET; } @@ -142,16 +142,16 @@ add_static_info(ubi_info_t u, size_t data_size, ubigen_action_t action) uint32_t crc = clc_crc32(crc32_table, UBI_CRC32_INIT, u->ptr_data, data_size); - u->v->data_size = cpu_to_ubi32(data_size); - u->v->data_crc = cpu_to_ubi32(crc); + u->v->data_size = __cpu_to_be32(data_size); + u->v->data_crc = __cpu_to_be32(crc); if (action & BROKEN_DATA_CRC) { u->v->data_crc = - cpu_to_ubi32(ubi32_to_cpu(u->v->data_crc) + 1); + __cpu_to_be32(__be32_to_cpu(u->v->data_crc) + 1); } if (action & BROKEN_DATA_SIZE) { u->v->data_size = - cpu_to_ubi32(ubi32_to_cpu(u->v->data_size) + 1); + __cpu_to_be32(__be32_to_cpu(u->v->data_size) + 1); } } @@ -161,9 +161,9 @@ write_vid_hdr(ubi_info_t u, ubigen_action_t action) uint32_t crc = clc_crc32(crc32_table, UBI_CRC32_INIT, u->v, UBI_VID_HDR_SIZE_CRC); /* Write VID header */ - u->v->hdr_crc = cpu_to_ubi32(crc); + u->v->hdr_crc = __cpu_to_be32(crc); if (action & BROKEN_HDR_CRC) { - u->v->hdr_crc = cpu_to_ubi32(ubi32_to_cpu(u->v->hdr_crc) + 1); + u->v->hdr_crc = __cpu_to_be32(__be32_to_cpu(u->v->hdr_crc) + 1); } memcpy(u->ptr_vid_hdr, u->v, UBI_VID_HDR_SIZE); } @@ -197,7 +197,7 @@ ubigen_write_leb(ubi_info_t u, ubigen_action_t action) add_static_info(u, read, action); } - u->v->lnum = cpu_to_ubi32(u->blks_written); + u->v->lnum = __cpu_to_be32(u->blks_written); if (action & MARK_AS_UPDATE) { u->v->copy_flag = (u->v->copy_flag)++; @@ -267,19 +267,19 @@ dump_info(ubi_info_t u ubi_unused) fprintf(stderr, "ubi volume\n"); fprintf(stderr, "version : %8d\n", u->v->version); - fprintf(stderr, "vol_id : %8d\n", ubi32_to_cpu(u->v->vol_id)); + fprintf(stderr, "vol_id : %8d\n", __be32_to_cpu(u->v->vol_id)); fprintf(stderr, "vol_type : %8s\n", u->v->vol_type == UBI_VID_STATIC ? "static" : "dynamic"); fprintf(stderr, "used_ebs : %8d\n", - ubi32_to_cpu(u->v->used_ebs)); + __be32_to_cpu(u->v->used_ebs)); fprintf(stderr, "peb_size : 0x%08x\n", u->peb_size); fprintf(stderr, "leb_size : 0x%08x\n", u->leb_size); fprintf(stderr, "data_pad : 0x%08x\n", - ubi32_to_cpu(u->v->data_pad)); + __be32_to_cpu(u->v->data_pad)); fprintf(stderr, "leb_total : %8d\n", u->leb_total); fprintf(stderr, "header offs : 0x%08x\n", - ubi32_to_cpu(u->ec->vid_hdr_offset)); + __be32_to_cpu(u->ec->vid_hdr_offset)); fprintf(stderr, "bytes_total : %8d\n", u->bytes_total); fprintf(stderr, " + in MiB : %8.2f M\n", ((float)(u->bytes_total)) / 1024 / 1024); @@ -372,31 +372,31 @@ ubigen_create(ubi_info_t* u, uint32_t vol_id, uint8_t vol_type, res->fp_out = fp_out; /* vid hdr data which doesn't change */ - res->v->magic = cpu_to_ubi32(UBI_VID_HDR_MAGIC); + res->v->magic = __cpu_to_be32(UBI_VID_HDR_MAGIC); res->v->version = version ? version : UBI_VERSION; res->v->vol_type = vol_type; - res->v->vol_id = cpu_to_ubi32(vol_id); + res->v->vol_id = __cpu_to_be32(vol_id); res->v->compat = compat_flag; - res->v->data_pad = cpu_to_ubi32(res->data_pad); + res->v->data_pad = __cpu_to_be32(res->data_pad); /* static only: used_ebs */ if (res->v->vol_type == UBI_VID_STATIC) { - res->v->used_ebs = cpu_to_ubi32(byte_to_blk + res->v->used_ebs = __cpu_to_be32(byte_to_blk (res->bytes_total, res->leb_size)); } /* ec hdr (fixed, doesn't change) */ - res->ec->magic = cpu_to_ubi32(UBI_EC_HDR_MAGIC); + res->ec->magic = __cpu_to_be32(UBI_EC_HDR_MAGIC); res->ec->version = version ? version : UBI_VERSION; - res->ec->ec = cpu_to_ubi64(ec); - res->ec->vid_hdr_offset = cpu_to_ubi32(vid_hdr_offset); + res->ec->ec = __cpu_to_be64(ec); + res->ec->vid_hdr_offset = __cpu_to_be32(vid_hdr_offset); - res->ec->data_offset = cpu_to_ubi32(data_offset); + res->ec->data_offset = __cpu_to_be32(data_offset); crc = clc_crc32(crc32_table, UBI_CRC32_INIT, res->ec, UBI_EC_HDR_SIZE_CRC); - res->ec->hdr_crc = cpu_to_ubi32(crc); + res->ec->hdr_crc = __cpu_to_be32(crc); /* prepare a read buffer */ res->buf = (uint8_t*) malloc (res->peb_size * sizeof(uint8_t)); @@ -407,8 +407,8 @@ ubigen_create(ubi_info_t* u, uint32_t vol_id, uint8_t vol_type, /* point to distinct regions within the buffer */ res->ptr_ec_hdr = res->buf; - res->ptr_vid_hdr = res->buf + ubi32_to_cpu(res->ec->vid_hdr_offset); - res->ptr_data = res->buf + ubi32_to_cpu(res->ec->vid_hdr_offset) + res->ptr_vid_hdr = res->buf + __be32_to_cpu(res->ec->vid_hdr_offset); + res->ptr_data = res->buf + __be32_to_cpu(res->ec->vid_hdr_offset) + UBI_VID_HDR_SIZE; rc = validate_ubi_info(res); @@ -458,7 +458,7 @@ ubigen_get_leb_total(ubi_info_t u, size_t* total) int ubigen_set_lvol_rec(ubi_info_t u, size_t reserved_bytes, - const char* vol_name, struct ubi_vol_tbl_record *lvol_rec) + const char* vol_name, struct ubi_vtbl_record *lvol_rec) { uint32_t crc; @@ -468,19 +468,19 @@ ubigen_set_lvol_rec(ubi_info_t u, size_t reserved_bytes, memset(lvol_rec, 0x0, UBI_VTBL_RECORD_SIZE); lvol_rec->reserved_pebs = - cpu_to_ubi32(byte_to_blk(reserved_bytes, u->leb_size)); - lvol_rec->alignment = cpu_to_ubi32(u->alignment); + __cpu_to_be32(byte_to_blk(reserved_bytes, u->leb_size)); + lvol_rec->alignment = __cpu_to_be32(u->alignment); lvol_rec->data_pad = u->v->data_pad; lvol_rec->vol_type = u->v->vol_type; lvol_rec->name_len = - cpu_to_ubi16((uint16_t)strlen((const char*)vol_name)); + __cpu_to_be16((uint16_t)strlen((const char*)vol_name)); memcpy(lvol_rec->name, vol_name, UBI_VOL_NAME_MAX + 1); crc = clc_crc32(crc32_table, UBI_CRC32_INIT, lvol_rec, UBI_VTBL_RECORD_SIZE_CRC); - lvol_rec->crc = cpu_to_ubi32(crc); + lvol_rec->crc = __cpu_to_be32(crc); return 0; } diff --git a/ubi-utils/src/pfi2bin.c b/ubi-utils/src/pfi2bin.c index 35af86c..7f31938 100644 --- a/ubi-utils/src/pfi2bin.c +++ b/ubi-utils/src/pfi2bin.c @@ -238,7 +238,7 @@ err: static int convert_ubi_volume(pfi_ubi_t ubi, pdd_data_t pdd, list_t raw_pebs, - struct ubi_vol_tbl_record *vol_tab, + struct ubi_vtbl_record *vol_tab, size_t *ebs_written, io_t io) { int rc = 0; @@ -336,7 +336,7 @@ my_fmemopen (void *buf, size_t size, const char *opentype) */ static int write_ubi_volume_table(pdd_data_t pdd, list_t raw_pebs, - struct ubi_vol_tbl_record *vol_tab, size_t vol_tab_size, + struct ubi_vtbl_record *vol_tab, size_t vol_tab_size, size_t *ebs_written, io_t io) { int rc = 0; @@ -478,15 +478,15 @@ err: } static int -init_vol_tab(struct ubi_vol_tbl_record **vol_tab, size_t *vol_tab_size) +init_vol_tab(struct ubi_vtbl_record **vol_tab, size_t *vol_tab_size) { uint32_t crc; size_t i; - struct ubi_vol_tbl_record* res = NULL; + struct ubi_vtbl_record* res = NULL; *vol_tab_size = UBI_MAX_VOLUMES * UBI_VTBL_RECORD_SIZE; - res = (struct ubi_vol_tbl_record*) calloc(1, *vol_tab_size); + res = (struct ubi_vtbl_record*) calloc(1, *vol_tab_size); if (vol_tab == NULL) { return -ENOMEM; } @@ -494,7 +494,7 @@ init_vol_tab(struct ubi_vol_tbl_record **vol_tab, size_t *vol_tab_size) for (i = 0; i < UBI_MAX_VOLUMES; i++) { crc = clc_crc32(crc32_table, UBI_CRC32_INIT, &(res[i]), UBI_VTBL_RECORD_SIZE_CRC); - res[i].crc = cpu_to_ubi32(crc); + res[i].crc = __cpu_to_be32(crc); } *vol_tab = res; @@ -513,7 +513,7 @@ create_raw(io_t io) list_t pfi_ubis = mk_empty(); /* list of ubi sections from a pfi */ list_t raw_pebs = mk_empty(); /* list of raw eraseblocks */ - struct ubi_vol_tbl_record *vol_tab = NULL; + struct ubi_vtbl_record *vol_tab = NULL; pdd_data_t pdd = NULL; rc = init_vol_tab (&vol_tab, &vol_tab_size); diff --git a/ubi-utils/src/ubigen.h b/ubi-utils/src/ubigen.h index 9e9e8ec..bf4b384 100644 --- a/ubi-utils/src/ubigen.h +++ b/ubi-utils/src/ubigen.h @@ -1,5 +1,3 @@ -#ifndef __UBIGEN_H__ -#define __UBIGEN_H__ /* * Copyright (c) International Business Machines Corp., 2006 * @@ -22,23 +20,26 @@ * An utility to update UBI volumes. */ -#include <stdio.h> /* FILE */ +#ifndef __UBIGEN_H__ +#define __UBIGEN_H__ + +#include <stdio.h> #include <stdint.h> #include <mtd/ubi-header.h> +#include <asm/byteorder.h> #ifdef __cplusplus extern "C" { #endif -#define DEFAULT_BLOCKSIZE (128 * 1024) -#define DEFAULT_PAGESIZE (2*1024) - -#define EUBIGEN_INVALID_TYPE 1 -#define EUBIGEN_INVALID_HDR_OFFSET 2 -#define EUBIGEN_INVALID_ALIGNMENT 3 -#define EUBIGEN_TOO_SMALL_EB 4 -#define EUBIGEN_MAX_ERROR 5 +#define DEFAULT_BLOCKSIZE (128 * 1024) +#define DEFAULT_PAGESIZE (2*1024) +#define EUBIGEN_INVALID_TYPE 1 +#define EUBIGEN_INVALID_HDR_OFFSET 2 +#define EUBIGEN_INVALID_ALIGNMENT 3 +#define EUBIGEN_TOO_SMALL_EB 4 +#define EUBIGEN_MAX_ERROR 5 typedef enum action { NO_ERROR = 0x00000000, @@ -140,10 +141,10 @@ int ubigen_write_broken_update(ubi_info_t u, uint32_t blk); * else Error. */ int ubigen_set_lvol_rec(ubi_info_t u, size_t reserved_bytes, - const char* name, struct ubi_vol_tbl_record *lvol_rec); + const char* name, struct ubi_vtbl_record *lvol_rec); #ifdef __cplusplus } #endif -#endif /* __UBIGEN_H__ */ +#endif /* !__UBIGEN_H__ */ diff --git a/ubi-utils/src/unubi.c b/ubi-utils/src/unubi.c index a50eff6..5c1d324 100644 --- a/ubi-utils/src/unubi.c +++ b/ubi-utils/src/unubi.c @@ -414,7 +414,7 @@ extract_itable(FILE *fpin, struct eb_info *cur, size_t bsize, size_t num, size_t i, max; fpos_t temp; FILE* fpout = NULL; - struct ubi_vol_tbl_record rec; + struct ubi_vtbl_record rec; if (fpin == NULL || cur == NULL || path == NULL) return -2; @@ -428,10 +428,10 @@ extract_itable(FILE *fpin, struct eb_info *cur, size_t bsize, size_t num, fsetpos(fpin, &cur->eb_top); if (rc < 0) return -1; - fseek(fpin, ubi32_to_cpu(cur->ec.data_offset), SEEK_CUR); + fseek(fpin, __be32_to_cpu(cur->ec.data_offset), SEEK_CUR); /* prepare output file */ - if (ubi32_to_cpu(cur->vid.vol_id) != UBI_LAYOUT_VOL_ID) + if (__be32_to_cpu(cur->vid.vol_id) != UBI_LAYOUT_VOL_ID) return -2; memset(filename, 0, MAXPATH + 1); snprintf(filename, MAXPATH, FN_VITBL, path, num); @@ -442,7 +442,7 @@ extract_itable(FILE *fpin, struct eb_info *cur, size_t bsize, size_t num, /* loop through entries */ fprintf(fpout, "index\trpebs\talign\ttype\tcrc\t\tname\n"); - max = bsize - ubi32_to_cpu(cur->ec.data_offset); + max = bsize - __be32_to_cpu(cur->ec.data_offset); for (i = 0; i < (max / sizeof(rec)); i++) { int blank = 1; char *ptr, *base; @@ -464,7 +464,7 @@ extract_itable(FILE *fpin, struct eb_info *cur, size_t bsize, size_t num, /* check crc */ crc = clc_crc32(crc32_table, UBI_CRC32_INIT, &rec, UBI_VTBL_RECORD_SIZE_CRC); - if (crc != ubi32_to_cpu(rec.crc)) + if (crc != __be32_to_cpu(rec.crc)) continue; /* check for empty */ @@ -487,16 +487,16 @@ extract_itable(FILE *fpin, struct eb_info *cur, size_t bsize, size_t num, type = "static\0"; /* prep name string */ - rec.name[ubi16_to_cpu(rec.name_len)] = '\0'; + rec.name[__be16_to_cpu(rec.name_len)] = '\0'; sprintf(name, "%s", rec.name); /* print record line to fpout */ fprintf(fpout, "%u\t%u\t%u\t%s\t0x%08x\t%s\n", i, - ubi32_to_cpu(rec.reserved_pebs), - ubi32_to_cpu(rec.alignment), + __be32_to_cpu(rec.reserved_pebs), + __be32_to_cpu(rec.alignment), type, - ubi32_to_cpu(rec.crc), + __be32_to_cpu(rec.crc), name); } @@ -534,7 +534,7 @@ rebuild_volume(FILE * fpin, uint32_t *vol_id, struct eb_info **head, /* when vol_id is null, then do all */ if (vol_id == NULL) { cur = *head; - vol = ubi32_to_cpu(cur->vid.vol_id); + vol = __be32_to_cpu(cur->vid.vol_id); } else { vol = *vol_id; eb_chain_position(head, vol, NULL, &cur); @@ -556,7 +556,7 @@ rebuild_volume(FILE * fpin, uint32_t *vol_id, struct eb_info **head, while (cur != NULL) { size_t i; - if (ubi32_to_cpu(cur->vid.vol_id) != vol) { + if (__be32_to_cpu(cur->vid.vol_id) != vol) { /* close out file */ fclose(fpout); @@ -565,7 +565,7 @@ rebuild_volume(FILE * fpin, uint32_t *vol_id, struct eb_info **head, goto out; /* begin with next */ - vol = ubi32_to_cpu(cur->vid.vol_id); + vol = __be32_to_cpu(cur->vid.vol_id); num = 0; snprintf(filename, MAXPATH, FN_VOLWH, path, vol); fpout = fopen(filename, "wb"); @@ -576,7 +576,7 @@ rebuild_volume(FILE * fpin, uint32_t *vol_id, struct eb_info **head, } } - while (num < ubi32_to_cpu(cur->vid.lnum)) { + while (num < __be32_to_cpu(cur->vid.lnum)) { /* FIXME haver: I hope an empty block is written out so that the binary has no holes ... */ @@ -589,13 +589,13 @@ rebuild_volume(FILE * fpin, uint32_t *vol_id, struct eb_info **head, rc = fsetpos(fpin, &(cur->eb_top)); if (rc < 0) goto out; - fseek(fpin, ubi32_to_cpu(cur->ec.data_offset), SEEK_CUR); + fseek(fpin, __be32_to_cpu(cur->ec.data_offset), SEEK_CUR); if (cur->vid.vol_type == UBI_VID_DYNAMIC) /* FIXME It might be that alignment has influence */ data_size = block_size - header_size; else - data_size = ubi32_to_cpu(cur->vid.data_size); + data_size = __be32_to_cpu(cur->vid.data_size); for (i = 0; i < data_size; i++) { int c = fgetc(fpin); @@ -683,7 +683,7 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) } /* check erasecounter header magic */ - if (ubi32_to_cpu(cur->ec.magic) != UBI_EC_HDR_MAGIC) { + if (__be32_to_cpu(cur->ec.magic) != UBI_EC_HDR_MAGIC) { snprintf(reason, MAXPATH, ".invalid.ec_magic"); goto invalid; } @@ -691,7 +691,7 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) /* check erasecounter header crc */ crc = clc_crc32(crc32_table, UBI_CRC32_INIT, &(cur->ec), UBI_EC_HDR_SIZE_CRC); - if (ubi32_to_cpu(cur->ec.hdr_crc) != crc) { + if (__be32_to_cpu(cur->ec.hdr_crc) != crc) { snprintf(reason, MAXPATH, ".invalid.ec_hdr_crc"); goto invalid; } @@ -700,7 +700,7 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) rc = fsetpos(fpin, &(cur->eb_top)); if (rc != 0) goto err; - fseek(fpin, ubi32_to_cpu(cur->ec.vid_hdr_offset), SEEK_CUR); + fseek(fpin, __be32_to_cpu(cur->ec.vid_hdr_offset), SEEK_CUR); rc = fread(&cur->vid, 1, sizeof(cur->vid), fpin); if (rc == 0) goto out; /* EOF */ @@ -712,14 +712,14 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) /* if the magic number is 0xFFFFFFFF, then it's very likely * that the volume is empty */ - if (ubi32_to_cpu(cur->vid.magic) == 0xffffffff) { + if (__be32_to_cpu(cur->vid.magic) == 0xffffffff) { snprintf(reason, MAXPATH, ".empty"); goto invalid; } /* vol_id should be in bounds */ - if ((ubi32_to_cpu(cur->vid.vol_id) >= UBI_MAX_VOLUMES) && - (ubi32_to_cpu(cur->vid.vol_id) < + if ((__be32_to_cpu(cur->vid.vol_id) >= UBI_MAX_VOLUMES) && + (__be32_to_cpu(cur->vid.vol_id) < UBI_INTERNAL_VOL_START)) { snprintf(reason, MAXPATH, ".invalid"); goto invalid; @@ -727,7 +727,7 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) raw_path = FN_NSURE; /* check volume id header magic */ - if (ubi32_to_cpu(cur->vid.magic) != UBI_VID_HDR_MAGIC) { + if (__be32_to_cpu(cur->vid.magic) != UBI_VID_HDR_MAGIC) { snprintf(reason, MAXPATH, ".invalid.vid_magic"); goto invalid; } @@ -736,7 +736,7 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) /* check volume id header crc */ crc = clc_crc32(crc32_table, UBI_CRC32_INIT, &(cur->vid), UBI_VID_HDR_SIZE_CRC); - if (ubi32_to_cpu(cur->vid.hdr_crc) != crc) { + if (__be32_to_cpu(cur->vid.hdr_crc) != crc) { snprintf(reason, MAXPATH, ".invalid.vid_hdr_crc"); goto invalid; } @@ -744,11 +744,11 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) /* check data crc, but only for a static volume */ if (cur->vid.vol_type == UBI_VID_STATIC) { - rc = data_crc(fpin, ubi32_to_cpu(cur->vid.data_size), + rc = data_crc(fpin, __be32_to_cpu(cur->vid.data_size), &crc); if (rc < 0) goto err; - if (ubi32_to_cpu(cur->vid.data_crc) != crc) { + if (__be32_to_cpu(cur->vid.data_crc) != crc) { snprintf(reason, MAXPATH, ".invalid.data_crc"); goto invalid; } @@ -771,7 +771,7 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) /* extract info-table */ if (a->itable && - (ubi32_to_cpu(cur->vid.vol_id) == UBI_LAYOUT_VOL_ID)) { + (__be32_to_cpu(cur->vid.vol_id) == UBI_LAYOUT_VOL_ID)) { extract_itable(fpin, cur, a->bsize, itable_num, a->odir_path); itable_num++; @@ -799,10 +799,10 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) always right ... */ size = a->bsize - a->hsize; } else - size = ubi32_to_cpu(cur->vid.data_size); + size = __be32_to_cpu(cur->vid.data_size); fseek(fpin, - ubi32_to_cpu(cur->ec.data_offset), + __be32_to_cpu(cur->ec.data_offset), SEEK_CUR); } else if (a->vol_split == SPLIT_RAW) @@ -811,9 +811,9 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) snprintf(filename, MAXPATH, FN_VOLSP, a->odir_path, - ubi32_to_cpu(cur->vid.vol_id), - ubi32_to_cpu(cur->vid.lnum), - ubi32_to_cpu(cur->vid.leb_ver), count); + __be32_to_cpu(cur->vid.vol_id), + __be32_to_cpu(cur->vid.lnum), + __be32_to_cpu(cur->vid.leb_ver), count); rc = extract_data(fpin, size, filename); if (rc < 0) goto err; @@ -834,9 +834,9 @@ unubi_volumes(FILE* fpin, uint32_t *vols, size_t vc, struct args *a) snprintf(filename, MAXPATH, raw_path, a->odir_path, count, - ubi32_to_cpu(cur->vid.vol_id), - ubi32_to_cpu(cur->vid.lnum), - ubi32_to_cpu(cur->vid.leb_ver), + __be32_to_cpu(cur->vid.vol_id), + __be32_to_cpu(cur->vid.lnum), + __be32_to_cpu(cur->vid.leb_ver), reason); rc = extract_data(fpin, a->bsize, filename); diff --git a/ubi-utils/src/unubi_analyze.c b/ubi-utils/src/unubi_analyze.c index c2fbe47..2ab3b87 100644 --- a/ubi-utils/src/unubi_analyze.c +++ b/ubi-utils/src/unubi_analyze.c @@ -151,7 +151,7 @@ unubi_analyze_ec_hdr(struct eb_info *first, const char *path) count = 0; cur = first; while (cur != NULL) { - erase_counts[count] = ubi64_to_cpu(cur->ec.ec); + erase_counts[count] = __be64_to_cpu(cur->ec.ec); cur = cur->next; count++; } @@ -167,21 +167,21 @@ unubi_analyze_ec_hdr(struct eb_info *first, const char *path) crc = clc_crc32(crc32_table, UBI_CRC32_INIT, &cur->ec, UBI_EC_HDR_SIZE_CRC); - if ((ubi32_to_cpu(cur->ec.magic) != UBI_EC_HDR_MAGIC) || - (crc != ubi32_to_cpu(cur->ec.hdr_crc))) + if ((__be32_to_cpu(cur->ec.magic) != UBI_EC_HDR_MAGIC) || + (crc != __be32_to_cpu(cur->ec.hdr_crc))) fprintf(fpdata, "# "); fprintf(fpdata, "%u %llu %llu", count, - ubi64_to_cpu(cur->ec.ec), + __be64_to_cpu(cur->ec.ec), erase_counts[count]); - if (ubi32_to_cpu(cur->ec.magic) != UBI_EC_HDR_MAGIC) + if (__be32_to_cpu(cur->ec.magic) != UBI_EC_HDR_MAGIC) fprintf(fpdata, " ## bad magic: %08x", - ubi32_to_cpu(cur->ec.magic)); + __be32_to_cpu(cur->ec.magic)); - if (crc != ubi32_to_cpu(cur->ec.hdr_crc)) + if (crc != __be32_to_cpu(cur->ec.hdr_crc)) fprintf(fpdata, " ## CRC mismatch: given=%08x, " - "calc=%08x", ubi32_to_cpu(cur->ec.hdr_crc), + "calc=%08x", __be32_to_cpu(cur->ec.hdr_crc), crc); fprintf(fpdata, "\n"); @@ -303,8 +303,8 @@ unubi_analyze_vid_hdr(struct eb_info **head, const char *path) count = 0; cur = *head; while (cur != NULL) { - leb_versions[count] = ubi32_to_cpu(cur->vid.leb_ver); - data_sizes[count] = ubi32_to_cpu(cur->vid.data_size); + leb_versions[count] = __be32_to_cpu(cur->vid.leb_ver); + data_sizes[count] = __be32_to_cpu(cur->vid.data_size); cur = cur->next; count++; } @@ -317,9 +317,9 @@ unubi_analyze_vid_hdr(struct eb_info **head, const char *path) fprintf(fpdata, "# x_axis vol_id lnum y1_axis leb_ver " "y2_axis data_size\n"); while (cur != NULL) { - y1 = norm_index(ubi32_to_cpu(cur->vid.leb_ver), leb_versions, + y1 = norm_index(__be32_to_cpu(cur->vid.leb_ver), leb_versions, breadth); - y2 = norm_index(ubi32_to_cpu(cur->vid.data_size), data_sizes, + y2 = norm_index(__be32_to_cpu(cur->vid.data_size), data_sizes, breadth); if ((y1 == -1) || (y2 == -1)) { @@ -329,12 +329,12 @@ unubi_analyze_vid_hdr(struct eb_info **head, const char *path) fprintf(fpdata, "%u %u %u %u %u %u %u\n", count, - ubi32_to_cpu(cur->vid.vol_id), - ubi32_to_cpu(cur->vid.lnum), + __be32_to_cpu(cur->vid.vol_id), + __be32_to_cpu(cur->vid.lnum), y1, - ubi32_to_cpu(cur->vid.leb_ver), + __be32_to_cpu(cur->vid.leb_ver), y2, - ubi32_to_cpu(cur->vid.data_size)); + __be32_to_cpu(cur->vid.data_size)); cur = cur->next; count++; } @@ -350,13 +350,13 @@ unubi_analyze_vid_hdr(struct eb_info **head, const char *path) while (cur != NULL) { if (count > 0) fprintf(fpplot, ", "); - if (step != ubi32_to_cpu(cur->vid.vol_id)) { - step = ubi32_to_cpu(cur->vid.vol_id); + if (step != __be32_to_cpu(cur->vid.vol_id)) { + step = __be32_to_cpu(cur->vid.vol_id); fprintf(fpplot, "\"%d\" %d 0", step, count); } else fprintf(fpplot, "\"%d\" %d 1", - ubi32_to_cpu(cur->vid.lnum), count); + __be32_to_cpu(cur->vid.lnum), count); cur = cur->next; count++; } @@ -369,7 +369,7 @@ unubi_analyze_vid_hdr(struct eb_info **head, const char *path) fprintf(fpplot, "set ylabel \"leb version\"\n"); fprintf(fpplot, "set ytics ("); while (cur->next != NULL) { - y1 = norm_index(ubi32_to_cpu(cur->vid.leb_ver), leb_versions, + y1 = norm_index(__be32_to_cpu(cur->vid.leb_ver), leb_versions, breadth); if (y1 == -1) { @@ -380,7 +380,7 @@ unubi_analyze_vid_hdr(struct eb_info **head, const char *path) if (count > 0) fprintf(fpplot, ", "); - fprintf(fpplot, "\"%u\" %u", ubi32_to_cpu(cur->vid.leb_ver), + fprintf(fpplot, "\"%u\" %u", __be32_to_cpu(cur->vid.leb_ver), y1); cur = cur->next; @@ -394,7 +394,7 @@ unubi_analyze_vid_hdr(struct eb_info **head, const char *path) fprintf(fpplot, "set y2label \"data size\"\n"); fprintf(fpplot, "set y2tics ("); while (cur != NULL) { - y2 = norm_index(ubi32_to_cpu(cur->vid.data_size), + y2 = norm_index(__be32_to_cpu(cur->vid.data_size), data_sizes, breadth); if (y2 == -1) { @@ -405,7 +405,7 @@ unubi_analyze_vid_hdr(struct eb_info **head, const char *path) if (count > 0) fprintf(fpplot, ", "); - fprintf(fpplot, "\"%u\" %u", ubi32_to_cpu(cur->vid.data_size), + fprintf(fpplot, "\"%u\" %u", __be32_to_cpu(cur->vid.data_size), y2); cur = cur->next; |