mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-27 03:33:50 +00:00
Make vboot_reference build in MSVC command line environment.
This is a mostly NOOP change which modifies the source code to compile cleanly in the MSVC command line build environment. A new makefile is introduced (msc/nmakefile) along with a README.txt in the same directory explaining how to build the code in the DOS window. As of this submission the build is running in a 32 bit environment, the intention is to use the same makefile for 64 bit builds in the future. Enabling high compilation warnings level allowed to identify a couple of bugs in the code which are being fixed. Not all sources are being compiled in the MSVC environment, only those in firmware/ and most of those in test/ subdirectories. The benchmark calculations require porting of the timer facilities and are being postponed. TEST Built in DOS and linux environments. Ran unit tests in linux environment. Review URL: http://codereview.chromium.org/2809037
This commit is contained in:
@@ -115,7 +115,7 @@ int IsKernelEntry(const GptEntry* e) {
|
||||
}
|
||||
|
||||
|
||||
int CheckEntries(GptEntry* entries, GptHeader* h, uint64_t drive_sectors) {
|
||||
int CheckEntries(GptEntry* entries, GptHeader* h) {
|
||||
|
||||
GptEntry* entry;
|
||||
uint32_t crc32;
|
||||
@@ -227,17 +227,17 @@ int GptSanityCheck(GptData *gpt) {
|
||||
* Note that we use the same header in both checks. This way we'll
|
||||
* catch the case where (header1,entries1) and (header2,entries2)
|
||||
* are both valid, but (entries1 != entries2). */
|
||||
if (0 == CheckEntries(entries1, goodhdr, gpt->drive_sectors))
|
||||
if (0 == CheckEntries(entries1, goodhdr))
|
||||
gpt->valid_entries |= MASK_PRIMARY;
|
||||
if (0 == CheckEntries(entries2, goodhdr, gpt->drive_sectors))
|
||||
if (0 == CheckEntries(entries2, goodhdr))
|
||||
gpt->valid_entries |= MASK_SECONDARY;
|
||||
|
||||
/* If both headers are good but neither entries were good, check the
|
||||
* entries with the secondary header. */
|
||||
if (MASK_BOTH == gpt->valid_headers && !gpt->valid_entries) {
|
||||
if (0 == CheckEntries(entries1, header2, gpt->drive_sectors))
|
||||
if (0 == CheckEntries(entries1, header2))
|
||||
gpt->valid_entries |= MASK_PRIMARY;
|
||||
if (0 == CheckEntries(entries2, header2, gpt->drive_sectors))
|
||||
if (0 == CheckEntries(entries2, header2))
|
||||
gpt->valid_entries |= MASK_SECONDARY;
|
||||
if (gpt->valid_entries) {
|
||||
/* Sure enough, header2 had a good CRC for one of the entries. Mark
|
||||
|
||||
Reference in New Issue
Block a user