diff options
author | H. Nikolaus Schaller <hns@goldelico.com> | 2012-03-26 20:55:28 +0200 |
---|---|---|
committer | H. Nikolaus Schaller <hns@goldelico.com> | 2012-03-26 20:55:28 +0200 |
commit | 92988a21ad4c4c9504295ccb580c9f806134471b (patch) | |
tree | 5effc9f14170112450de05c67dafbe8d5034d595 /include/jffs2 | |
parent | ca2b506783b676c95762c54ea24dcfdaae1947c9 (diff) | |
download | bootable_bootloader_goldelico_gta04-92988a21ad4c4c9504295ccb580c9f806134471b.zip bootable_bootloader_goldelico_gta04-92988a21ad4c4c9504295ccb580c9f806134471b.tar.gz bootable_bootloader_goldelico_gta04-92988a21ad4c4c9504295ccb580c9f806134471b.tar.bz2 |
added boot script files to repository
Diffstat (limited to 'include/jffs2')
-rw-r--r-- | include/jffs2/compr_rubin.h | 11 | ||||
-rw-r--r-- | include/jffs2/jffs2.h | 234 | ||||
-rw-r--r-- | include/jffs2/jffs2_1pass.h | 3 | ||||
-rw-r--r-- | include/jffs2/load_kernel.h | 83 | ||||
-rw-r--r-- | include/jffs2/mini_inflate.h | 82 |
5 files changed, 0 insertions, 413 deletions
diff --git a/include/jffs2/compr_rubin.h b/include/jffs2/compr_rubin.h deleted file mode 100644 index f26f476..0000000 --- a/include/jffs2/compr_rubin.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Rubin encoder/decoder header */ -/* work started at : aug 3, 1994 */ -/* last modification : aug 15, 1994 */ -/* $Id: compr_rubin.h,v 1.1 2002/01/16 23:34:32 nyet Exp $ */ - -#define RUBIN_REG_SIZE 16 -#define UPPER_BIT_RUBIN (((long) 1)<<(RUBIN_REG_SIZE-1)) -#define LOWER_BITS_RUBIN ((((long) 1)<<(RUBIN_REG_SIZE-1))-1) - -void dynrubin_decompress(unsigned char *data_in, unsigned char *cpage_out, - unsigned long sourcelen, unsigned long dstlen); diff --git a/include/jffs2/jffs2.h b/include/jffs2/jffs2.h deleted file mode 100644 index 651f94c..0000000 --- a/include/jffs2/jffs2.h +++ /dev/null @@ -1,234 +0,0 @@ -/* - * JFFS2 -- Journalling Flash File System, Version 2. - * - * Copyright (C) 2001 Red Hat, Inc. - * - * Created by David Woodhouse <dwmw2@cambridge.redhat.com> - * - * The original JFFS, from which the design for JFFS2 was derived, - * was designed and implemented by Axis Communications AB. - * - * The contents of this file are subject to the Red Hat eCos Public - * License Version 1.1 (the "Licence"); you may not use this file - * except in compliance with the Licence. You may obtain a copy of - * the Licence at http://www.redhat.com/ - * - * Software distributed under the Licence is distributed on an "AS IS" - * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. - * See the Licence for the specific language governing rights and - * limitations under the Licence. - * - * The Original Code is JFFS2 - Journalling Flash File System, version 2 - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License version 2 (the "GPL"), in - * which case the provisions of the GPL are applicable instead of the - * above. If you wish to allow the use of your version of this file - * only under the terms of the GPL and not to allow others to use your - * version of this file under the RHEPL, indicate your decision by - * deleting the provisions above and replace them with the notice and - * other provisions required by the GPL. If you do not delete the - * provisions above, a recipient may use your version of this file - * under either the RHEPL or the GPL. - * - * $Id: jffs2.h,v 1.2 2002/01/17 00:53:20 nyet Exp $ - * - */ - -#ifndef __LINUX_JFFS2_H__ -#define __LINUX_JFFS2_H__ - -#include <asm/types.h> -#include <jffs2/load_kernel.h> - -#define JFFS2_SUPER_MAGIC 0x72b6 - -/* Values we may expect to find in the 'magic' field */ -#define JFFS2_OLD_MAGIC_BITMASK 0x1984 -#define JFFS2_MAGIC_BITMASK 0x1985 -#define KSAMTIB_CIGAM_2SFFJ 0x5981 /* For detecting wrong-endian fs */ -#define JFFS2_EMPTY_BITMASK 0xffff -#define JFFS2_DIRTY_BITMASK 0x0000 - -/* Summary node MAGIC marker */ -#define JFFS2_SUM_MAGIC 0x02851885 - -/* We only allow a single char for length, and 0xFF is empty flash so - we don't want it confused with a real length. Hence max 254. -*/ -#define JFFS2_MAX_NAME_LEN 254 - -/* How small can we sensibly write nodes? */ -#define JFFS2_MIN_DATA_LEN 128 - -#define JFFS2_COMPR_NONE 0x00 -#define JFFS2_COMPR_ZERO 0x01 -#define JFFS2_COMPR_RTIME 0x02 -#define JFFS2_COMPR_RUBINMIPS 0x03 -#define JFFS2_COMPR_COPY 0x04 -#define JFFS2_COMPR_DYNRUBIN 0x05 -#define JFFS2_COMPR_ZLIB 0x06 -#if defined(CONFIG_JFFS2_LZO) -#define JFFS2_COMPR_LZO 0x07 -#define JFFS2_NUM_COMPR 8 -#else -#define JFFS2_NUM_COMPR 7 -#endif - -/* Compatibility flags. */ -#define JFFS2_COMPAT_MASK 0xc000 /* What do to if an unknown nodetype is found */ -#define JFFS2_NODE_ACCURATE 0x2000 -/* INCOMPAT: Fail to mount the filesystem */ -#define JFFS2_FEATURE_INCOMPAT 0xc000 -/* ROCOMPAT: Mount read-only */ -#define JFFS2_FEATURE_ROCOMPAT 0x8000 -/* RWCOMPAT_COPY: Mount read/write, and copy the node when it's GC'd */ -#define JFFS2_FEATURE_RWCOMPAT_COPY 0x4000 -/* RWCOMPAT_DELETE: Mount read/write, and delete the node when it's GC'd */ -#define JFFS2_FEATURE_RWCOMPAT_DELETE 0x0000 - -#define JFFS2_NODETYPE_DIRENT (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 1) -#define JFFS2_NODETYPE_INODE (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 2) -#define JFFS2_NODETYPE_CLEANMARKER (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 3) -#define JFFS2_NODETYPE_PADDING (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 4) -#define JFFS2_NODETYPE_SUMMARY (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 6) - -/* Maybe later... */ -/*#define JFFS2_NODETYPE_CHECKPOINT (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 3) */ -/*#define JFFS2_NODETYPE_OPTIONS (JFFS2_FEATURE_RWCOMPAT_COPY | JFFS2_NODE_ACCURATE | 4) */ - -/* Same as the non_ECC versions, but with extra space for real - * ECC instead of just the checksum. For use on NAND flash - */ -/*#define JFFS2_NODETYPE_DIRENT_ECC (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 5) */ -/*#define JFFS2_NODETYPE_INODE_ECC (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 6) */ - -#define JFFS2_INO_FLAG_PREREAD 1 /* Do read_inode() for this one at - mount time, don't wait for it to - happen later */ -#define JFFS2_INO_FLAG_USERCOMPR 2 /* User has requested a specific - compression type */ - - -struct jffs2_unknown_node -{ - /* All start like this */ - __u16 magic; - __u16 nodetype; - __u32 totlen; /* So we can skip over nodes we don't grok */ - __u32 hdr_crc; -} __attribute__((packed)); - -struct jffs2_raw_dirent -{ - __u16 magic; - __u16 nodetype; /* == JFFS_NODETYPE_DIRENT */ - __u32 totlen; - __u32 hdr_crc; - __u32 pino; - __u32 version; - __u32 ino; /* == zero for unlink */ - __u32 mctime; - __u8 nsize; - __u8 type; - __u8 unused[2]; - __u32 node_crc; - __u32 name_crc; - __u8 name[0]; -} __attribute__((packed)); - -/* The JFFS2 raw inode structure: Used for storage on physical media. */ -/* The uid, gid, atime, mtime and ctime members could be longer, but - are left like this for space efficiency. If and when people decide - they really need them extended, it's simple enough to add support for - a new type of raw node. -*/ -struct jffs2_raw_inode -{ - __u16 magic; /* A constant magic number. */ - __u16 nodetype; /* == JFFS_NODETYPE_INODE */ - __u32 totlen; /* Total length of this node (inc data, etc.) */ - __u32 hdr_crc; - __u32 ino; /* Inode number. */ - __u32 version; /* Version number. */ - __u32 mode; /* The file's type or mode. */ - __u16 uid; /* The file's owner. */ - __u16 gid; /* The file's group. */ - __u32 isize; /* Total resultant size of this inode (used for truncations) */ - __u32 atime; /* Last access time. */ - __u32 mtime; /* Last modification time. */ - __u32 ctime; /* Change time. */ - __u32 offset; /* Where to begin to write. */ - __u32 csize; /* (Compressed) data size */ - __u32 dsize; /* Size of the node's data. (after decompression) */ - __u8 compr; /* Compression algorithm used */ - __u8 usercompr; /* Compression algorithm requested by the user */ - __u16 flags; /* See JFFS2_INO_FLAG_* */ - __u32 data_crc; /* CRC for the (compressed) data. */ - __u32 node_crc; /* CRC for the raw inode (excluding data) */ -/* __u8 data[dsize]; */ -} __attribute__((packed)); - -struct jffs2_raw_summary -{ - __u16 magic; - __u16 nodetype; /* = JFFS2_NODETYPE_SUMMARY */ - __u32 totlen; - __u32 hdr_crc; - __u32 sum_num; /* number of sum entries*/ - __u32 cln_mkr; /* clean marker size, 0 = no cleanmarker */ - __u32 padded; /* sum of the size of padding nodes */ - __u32 sum_crc; /* summary information crc */ - __u32 node_crc; /* node crc */ - __u32 sum[0]; /* inode summary info */ -}; - -union jffs2_node_union { - struct jffs2_raw_inode i; - struct jffs2_raw_dirent d; - struct jffs2_raw_summary s; - struct jffs2_unknown_node u; -} __attribute__((packed)); - -enum - { - DT_UNKNOWN = 0, -# define DT_UNKNOWN DT_UNKNOWN - DT_FIFO = 1, -# define DT_FIFO DT_FIFO - DT_CHR = 2, -# define DT_CHR DT_CHR - DT_DIR = 4, -# define DT_DIR DT_DIR - DT_BLK = 6, -# define DT_BLK DT_BLK - DT_REG = 8, -# define DT_REG DT_REG - DT_LNK = 10, -# define DT_LNK DT_LNK - DT_SOCK = 12, -# define DT_SOCK DT_SOCK - DT_WHT = 14 -# define DT_WHT DT_WHT - }; - - -u32 jffs2_1pass_ls(struct part_info *part,const char *fname); -u32 jffs2_1pass_load(char *dest, struct part_info *part,const char *fname); -u32 jffs2_1pass_info(struct part_info *part); - -void rtime_decompress(unsigned char *data_in, unsigned char *cpage_out, - u32 srclen, u32 destlen); -void rubin_do_decompress(unsigned char *bits, unsigned char *in, - unsigned char *page_out, __u32 destlen); -void dynrubin_decompress(unsigned char *data_in, unsigned char *cpage_out, - unsigned long sourcelen, unsigned long dstlen); -long zlib_decompress(unsigned char *data_in, unsigned char *cpage_out, - __u32 srclen, __u32 destlen); -#if defined(CONFIG_JFFS2_LZO) -int lzo_decompress(unsigned char *data_in, unsigned char *cpage_out, - u32 srclen, u32 destlen); -#endif - -char *mkmodestr(unsigned long mode, char *str); -#endif /* __LINUX_JFFS2_H__ */ diff --git a/include/jffs2/jffs2_1pass.h b/include/jffs2/jffs2_1pass.h deleted file mode 100644 index 5bc3e66..0000000 --- a/include/jffs2/jffs2_1pass.h +++ /dev/null @@ -1,3 +0,0 @@ -u32 jffs2_1pass_ls(struct part_info *part,const char *fname); -u32 jffs2_1pass_load(char *dest, struct part_info *part,const char *fname); -u32 jffs2_1pass_info(struct part_info *part); diff --git a/include/jffs2/load_kernel.h b/include/jffs2/load_kernel.h deleted file mode 100644 index 906eb3d..0000000 --- a/include/jffs2/load_kernel.h +++ /dev/null @@ -1,83 +0,0 @@ -#ifndef load_kernel_h -#define load_kernel_h -/*------------------------------------------------------------------------- - * Filename: load_kernel.h - * Version: $Id: load_kernel.h,v 1.3 2002/01/25 01:34:11 nyet Exp $ - * Copyright: Copyright (C) 2001, Russ Dill - * Author: Russ Dill <Russ.Dill@asu.edu> - * Description: header for load kernel modules - *-----------------------------------------------------------------------*/ -/* - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -#include <linux/list.h> - -/* mtd device types */ -#define MTD_DEV_TYPE_NOR 0x0001 -#define MTD_DEV_TYPE_NAND 0x0002 -#define MTD_DEV_TYPE_ONENAND 0x0004 - -#define MTD_DEV_TYPE(type) ((type == MTD_DEV_TYPE_NAND) ? "nand" : \ - (type == MTD_DEV_TYPE_ONENAND) ? "onenand" : "nor") - -struct mtd_device { - struct list_head link; - struct mtdids *id; /* parent mtd id entry */ - u16 num_parts; /* number of partitions on this device */ - struct list_head parts; /* partitions */ -}; - -struct part_info { - struct list_head link; - char *name; /* partition name */ - u8 auto_name; /* set to 1 for generated name */ - u32 size; /* total size of the partition */ - u32 offset; /* offset within device */ - void *jffs2_priv; /* used internaly by jffs2 */ - u32 mask_flags; /* kernel MTD mask flags */ - u32 sector_size; /* size of sector */ - struct mtd_device *dev; /* parent device */ -}; - -struct mtdids { - struct list_head link; - u8 type; /* device type */ - u8 num; /* device number */ - u32 size; /* device size */ - char *mtd_id; /* linux kernel device id */ -}; - -#define ldr_strlen strlen -#define ldr_strncmp strncmp -#define ldr_memcpy memcpy -#define putstr(x) printf("%s", x) -#define mmalloc malloc -#define UDEBUG printf - -#define putnstr(str, size) printf("%*.*s", size, size, str) -#define ldr_output_string(x) puts(x) -#define putLabeledWord(x, y) printf("%s %08x\n", x, (unsigned int)y) -#define led_blink(x, y, z, a) - -/* common/cmd_jffs2.c */ -extern int mtdparts_init(void); -extern int find_dev_and_part(const char *id, struct mtd_device **dev, - u8 *part_num, struct part_info **part); -extern struct mtd_device *device_find(u8 type, u8 num); - -#endif /* load_kernel_h */ diff --git a/include/jffs2/mini_inflate.h b/include/jffs2/mini_inflate.h deleted file mode 100644 index f79aac7..0000000 --- a/include/jffs2/mini_inflate.h +++ /dev/null @@ -1,82 +0,0 @@ -/*------------------------------------------------------------------------- - * Filename: mini_inflate.h - * Version: $Id: mini_inflate.h,v 1.2 2002/01/17 00:53:20 nyet Exp $ - * Copyright: Copyright (C) 2001, Russ Dill - * Author: Russ Dill <Russ.Dill@asu.edu> - * Description: Mini deflate implementation - *-----------------------------------------------------------------------*/ -/* - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -typedef __SIZE_TYPE__ size; - -#define NO_ERROR 0 -#define COMP_UNKNOWN 1 /* The specififed bytype is invalid */ -#define CODE_NOT_FOUND 2 /* a huffman code in the stream could not be decoded */ -#define TOO_MANY_BITS 3 /* pull_bits was passed an argument that is too - * large */ - -/* This struct represents an entire huffman code set. It has various lookup - * tables to speed decoding */ -struct huffman_set { - int bits; /* maximum bit length */ - int num_symbols; /* Number of symbols this code can represent */ - int *lengths; /* The bit length of symbols */ - int *symbols; /* All of the symbols, sorted by the huffman code */ - int *count; /* the number of codes of this bit length */ - int *first; /* the first code of this bit length */ - int *pos; /* the symbol that first represents (in the symbols - * array) */ -}; - -struct bitstream { - unsigned char *data; /* increments as we move from byte to byte */ - unsigned char bit; /* 0 to 7 */ - void *(*memcpy)(void *, const void *, size); - unsigned long decoded; /* The number of bytes decoded */ - int error; - - int distance_count[16]; - int distance_first[16]; - int distance_pos[16]; - int distance_lengths[32]; - int distance_symbols[32]; - - int code_count[8]; - int code_first[8]; - int code_pos[8]; - int code_lengths[19]; - int code_symbols[19]; - - int length_count[16]; - int length_first[16]; - int length_pos[16]; - int length_lengths[288]; - int length_symbols[288]; - - struct huffman_set codes; - struct huffman_set lengths; - struct huffman_set distance; -}; - -#define NO_COMP 0 -#define FIXED_COMP 1 -#define DYNAMIC_COMP 2 - -long decompress_block(unsigned char *dest, unsigned char *source, - void *(*inflate_memcpy)(void *dest, const void *src, size n)); |