home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / cris / include / asm / axisflashmap.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.9 KB  |  62 lines

  1. #ifndef __ASM_AXISFLASHMAP_H
  2. #define __ASM_AXISFLASHMAP_H
  3.  
  4. /* Bootblock parameters are stored at 0xc000 and has the FLASH_BOOT_MAGIC 
  5.  * as start, it ends with 0xFFFFFFFF */
  6. #define FLASH_BOOT_MAGIC 0xbeefcace
  7. #define BOOTPARAM_OFFSET 0xc000
  8. /* apps/bootblocktool is used to read and write the parameters,
  9.  * and it has nothing to do with the partition table. 
  10.  */
  11.  
  12. #define PARTITION_TABLE_OFFSET 10
  13. #define PARTITION_TABLE_MAGIC 0xbeef    /* Not a good magic */
  14.  
  15. /* The partitiontable_head is located at offset +10: */
  16. struct partitiontable_head {
  17.     __u16 magic;    /* PARTITION_TABLE_MAGIC */
  18.     __u16 size;    /* Length of ptable block (entries + end marker) */
  19.     __u32 checksum;    /* simple longword sum, over entries + end marker  */
  20. };
  21.  
  22. /* And followed by partition table entries */
  23. struct partitiontable_entry {
  24.     __u32 offset;        /* relative to the sector the ptable is in */
  25.     __u32 size;        /* in bytes */
  26.     __u32 checksum;        /* simple longword sum */
  27.     __u16 type;        /* see type codes below */
  28.     __u16 flags;        /* bit 0: ro/rw = 1/0 */
  29.     __u32 future0;        /* 16 bytes reserved for future use */
  30.     __u32 future1;
  31.     __u32 future2;
  32.     __u32 future3;
  33. };
  34. /* ended by an end marker: */
  35. #define PARTITIONTABLE_END_MARKER 0xFFFFFFFF
  36. #define PARTITIONTABLE_END_MARKER_SIZE 4
  37.  
  38. #define PARTITIONTABLE_END_PAD    10
  39.  
  40. /* Complete structure for whole partition table */
  41. /* note that table may end before CONFIG_ETRAX_PTABLE_ENTRIES by setting
  42.  * offset of the last entry + 1 to PARTITIONTABLE_END_MARKER.
  43.  */
  44. struct partitiontable {
  45.     __u8 skip[PARTITION_TABLE_OFFSET];
  46.     struct partitiontable_head head;
  47.     struct partitiontable_entry entries[];
  48. };
  49.  
  50. #define PARTITION_TYPE_PARAM  0x0001
  51. #define PARTITION_TYPE_KERNEL 0x0002
  52. #define PARTITION_TYPE_JFFS   0x0003
  53. #define PARTITION_TYPE_JFFS2  0x0000
  54.  
  55. #define    PARTITION_FLAGS_READONLY_MASK    0x0001
  56. #define    PARTITION_FLAGS_READONLY    0x0001
  57.  
  58. /* The master mtd for the entire flash. */
  59. extern struct mtd_info *axisflash_mtd;
  60.  
  61. #endif
  62.