Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/cris/include/asm/axisflashmap.h
15126 views
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
63