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:
vbendeb
2010-06-24 16:19:53 -07:00
parent d6aad3a088
commit 3ecaf776d8
34 changed files with 216 additions and 102 deletions

View File

@@ -17,6 +17,9 @@ uint16_t g_firmware_version = 0;
uint16_t g_kernel_key_version = 0;
uint16_t g_kernel_version = 0;
/* disable MSVC warning on const logical expression (as in } while(0);) */
__pragma(warning (disable: 4127))
#define RETURN_ON_FAILURE(tpm_command) do { \
uint32_t result; \
if ((result = (tpm_command)) != TPM_SUCCESS) { \
@@ -369,7 +372,8 @@ uint32_t LockKernelVersionsByLockingPP() {
return TlclLockPhysicalPresence();
}
/* disable MSVC warnings on unused arguments */
__pragma(warning (disable: 4100))
/* NEW APIS! HELP ME LUIGI, YOU'RE MY ONLY HOPE! */