diff options
author | Michael Neuling <mikey@neuling.org> | 2015-02-20 11:37:51 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-02-23 13:35:48 +1100 |
commit | 323d0642bebb9b6365df7a98bfc77e9cd6be915f (patch) | |
tree | 2acf9418dc4397d6795b8b1fadb6ad82a8e60c01 /libflash | |
parent | 6cfaa3ba1015c6ac9cc4a06f878b4289022cff54 (diff) | |
download | skiboot-323d0642bebb9b6365df7a98bfc77e9cd6be915f.zip skiboot-323d0642bebb9b6365df7a98bfc77e9cd6be915f.tar.gz skiboot-323d0642bebb9b6365df7a98bfc77e9cd6be915f.tar.bz2 |
libffs: Add ffs_entry_user field
This adds the correct user structure to ffs_entry as defined from hostboot.
No functional changes.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'libflash')
-rw-r--r-- | libflash/ffs.h | 29 | ||||
-rw-r--r-- | libflash/libffs.c | 1 |
2 files changed, 24 insertions, 6 deletions
diff --git a/libflash/ffs.h b/libflash/ffs.h index 09a1d84..5cb6778 100644 --- a/libflash/ffs.h +++ b/libflash/ffs.h @@ -70,10 +70,29 @@ enum type { #define FFS_FLAGS_PROTECTED 0x0001 #define FFS_FLAGS_U_BOOT_ENV 0x0002 -/* - * Number of user data words +/* Data integrity flags */ +#define FFS_ENRY_INTEG_ECC 0x8000 + +/** + * struct ffs_entry_user - User data enties + * + * @chip: Chip Select (0,1) + * @compressType: Compression Indication/alg (0=not compressed) + * @dataInteg: Indicates Data Integrity mechanism + * @verCheck: Indicates Version check type + * @miscFlags: Misc Partition related Flags + * @freeMisc[2]: Unused Miscellaneious Info + * @freeUser[14]: Unused User Data */ -#define FFS_USER_WORDS 16 +struct ffs_entry_user { + uint8_t chip; + uint8_t compresstype; + uint16_t datainteg; + uint8_t vercheck; + uint8_t miscflags; + uint8_t freemisc[2]; + uint32_t reserved[14]; +}; /** * struct ffs_entry - Partition entry @@ -100,9 +119,7 @@ struct ffs_entry { uint32_t flags; uint32_t actual; uint32_t resvd[4]; - struct { - uint32_t data[FFS_USER_WORDS]; - } user; + struct ffs_entry_user user; uint32_t checksum; } __attribute__ ((packed)); diff --git a/libflash/libffs.c b/libflash/libffs.c index abb9775..dbe618c 100644 --- a/libflash/libffs.c +++ b/libflash/libffs.c @@ -183,6 +183,7 @@ static int ffs_check_convert_entry(struct ffs_entry *dst, struct ffs_entry *src) dst->type = be32_to_cpu(src->type); dst->flags = be32_to_cpu(src->flags); dst->actual = be32_to_cpu(src->actual); + dst->user.datainteg = be16_to_cpu(src->user.datainteg); return 0; } |