Add NV storage fields for firmware flags

1) Did firmware attempt RW slot B before slot A?

2) Did firmware check the kernel keyblock signature, or just its hash?

Added crossystem support as well.

BUG=chrome-os-partner:1657
TEST=make && make runtests

Review URL: http://codereview.chromium.org/6597011

Change-Id: I0d743ae87cedd938ba988170793717d3fdbd8ce9
diff --git a/host/lib/crossystem.c b/host/lib/crossystem.c
index 9428ba5..da9d80b 100644
--- a/host/lib/crossystem.c
+++ b/host/lib/crossystem.c
@@ -484,6 +484,10 @@
   } else if (!strcasecmp(name,"savedmem_size")) {
     return (-1 == ReadFileInt(ACPI_CHSW_PATH) ? -1 : 0x00100000);
   }
+  /* NV storage values with no defaults for older BIOS. */
+  else if (!strcasecmp(name,"tried_fwb")) {
+    value = VbGetNvStorage(VBNV_FW_USED_TRY_B);
+  }
   /* NV storage values.  If unable to get from NV storage, fall back to the
    * CMOS reboot field used by older BIOS. */
   else if (!strcasecmp(name,"recovery_request")) {
@@ -548,6 +552,15 @@
       default:
         return NULL;
     }
+  } else if (!strcasecmp(name,"kernkey_vfy")) {
+    switch(VbGetNvStorage(VBNV_FW_VERIFIED_KERNEL_KEY)) {
+      case 0:
+        return "hash";
+      case 1:
+        return "sig";
+      default:
+        return NULL;
+    }
   } else
     return NULL;
 }