diff options
author | Randall Spangler <rspangler@chromium.org> | 2010-06-23 10:15:38 -0700 |
---|---|---|
committer | Randall Spangler <rspangler@chromium.org> | 2010-06-23 10:15:38 -0700 |
commit | 81d0996901387619cc782ca258fcb4a9f3f591e7 (patch) | |
tree | 47cb5ad05a2a051b2dc0ddecebfc57becfc3102a /firmware/lib/cgptlib/include | |
parent | 361049ce199cf57333d4419262e1b7f6394883ec (diff) | |
download | vboot-81d0996901387619cc782ca258fcb4a9f3f591e7.tar.gz |
Assorted integration fixes.
MSVC does not like bitfields with extra bits in them, so it made the GptEntry struct too big.
Fixed a missing return value in LoadFirmware().
Added some debug output.
Fixed calls to SetupTPM().
Tested with 'make && make runtests'. No errors.
Review URL: http://codereview.chromium.org/2865014
Diffstat (limited to 'firmware/lib/cgptlib/include')
-rw-r--r-- | firmware/lib/cgptlib/include/gpt.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/firmware/lib/cgptlib/include/gpt.h b/firmware/lib/cgptlib/include/gpt.h index cd5e12b9..79cc8b2b 100644 --- a/firmware/lib/cgptlib/include/gpt.h +++ b/firmware/lib/cgptlib/include/gpt.h @@ -12,6 +12,8 @@ #include "sysincludes.h" +PACK_START /* Support packing for MSVC */ + #define GPT_HEADER_SIGNATURE "EFI PART" #define GPT_HEADER_SIGNATURE_SIZE sizeof(GPT_HEADER_SIGNATURE) #define GPT_HEADER_REVISION 0x00010000 @@ -58,6 +60,8 @@ typedef struct { } u; } __attribute__((packed)) Guid; +#define GUID_EXPECTED_SIZE GUID_SIZE + /* Some constant values */ extern const Guid guid_unused; extern const Guid guid_chromeos_kernel; @@ -86,6 +90,8 @@ typedef struct { /* Remainder of sector is reserved and should be 0 */ } __attribute__((packed)) GptHeader; +#define GPTHEADER_EXPECTED_SIZE 92 + /* GPT partition entry defines the starting and ending LBAs of a partition. * It also contains the unique GUID, type, and attribute bits. * @@ -98,8 +104,8 @@ typedef struct { uint64_t ending_lba; union { struct { - uint64_t : 48; - uint16_t gpt_att : 16; + uint16_t reserved[3]; + uint16_t gpt_att; } __attribute__((packed)) fields; uint64_t whole; } attrs; @@ -107,4 +113,8 @@ typedef struct { /* Remainder of entry is reserved and should be 0 */ } __attribute__((packed)) GptEntry; +#define GPTENTRY_EXPECTED_SIZE 128 + +PACK_STOP /* Support packing for MSVC */ + #endif /* VBOOT_REFERENCE_CGPTLIB_GPT_H_ */ |