summaryrefslogtreecommitdiffstats
path: root/src/usr/pnor/common/ffs_hb.H
blob: 489e654348d5b23b0ee7bbe5ea77bb6834600b62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*  IBM_PROLOG_BEGIN_TAG
 *  This is an automatically generated prolog.
 *
 *  $Source: src/usr/pnor/common/ffs_hb.H $
 *
 *  IBM CONFIDENTIAL
 *
 *  COPYRIGHT International Business Machines Corp. 2012
 *
 *  p1
 *
 *  Object Code Only (OCO) source materials
 *  Licensed Internal Code Source Materials
 *  IBM HostBoot Licensed Internal Code
 *
 *  The source code for this program is not published or other-
 *  wise divested of its trade secrets, irrespective of what has
 *  been deposited with the U.S. Copyright Office.
 *
 *  Origin: 30
 *
 *  IBM_PROLOG_END_TAG
 */
#ifndef _FFS_HB_H
#define _FFS_HB_H

/*
 * FSP Destination: src/hbfw/fsp/pnor/common/ffs_hb.H
 * 
 * NOTE: Do NOT modify this file in CMVC directly!  It comes from the Hostboot
 *      repository and will be overwritten.
*/

/*
 * This file contains the struct definition for the user data portion of an FFS Entry.  Use of
 * A commont header file will help ensure consistency between Hostboot and Hardware Server.
 *
 * For a more detailed description of these bits, see the PNOR Specification.
 *
 * The general FFS Entry layout is described in ffs.h, owned by the building block team.  The FFS
 * entry is described by the struct ffs_entry.  The user data defined by this file is the
 * ffs_entry->data[] array in ffs_entry.
 */

/**
 * FFS Misc information flags
 */
enum
{
    FFS_MISC_ECC_PROTECT   = 0x80,    /**< ECC protected */
    FFS_MISC_SIDELESS      = 0x40,    /**< Preserved across code updates (sideless) =1 */
    FFS_MISC_CRC_PROTECTED = 0x20,    /**< CRC protected */
    FFS_MISC_UNUSED        = 0x1F,    /**< Unused MISC Flags */
};

/**
 * FFS entry user data
 *   This matches the PNOR binary layout of the data[] in an ffs_entry.
 */
struct ffs_hb_user_t{
    uint32_t sizeAct;      /**< Actual Size of the image */
    uint8_t chip;          /**< Chip Select (0,1) */
    uint8_t compressType;  /**< Compression Indication/alg (0=not compressed) */
    uint8_t miscFlags;     /**< Misc Partition related Flags */
    uint8_t freeMisc[5];   /**< Unused Miscellaneious Info */
    uint32_t freeUser[13]; /**< Unused User Data */
} PACKED;


#endif /* _FFS_HB_H */
OpenPOWER on IntegriCloud