Home | History | Annotate | Download | only in lib
      1 /* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
      2  * Use of this source code is governed by a BSD-style license that can be
      3  * found in the LICENSE file.
      4  */
      5 
      6 #include <string.h>
      7 
      8 #include "vboot_common.h"
      9 #include "vboot_nvstorage.h"
     10 #include "host_common.h"
     11 #include "crossystem.h"
     12 #include "crossystem_arch.h"
     13 
     14 // TODO: Currently these are stub implementations providing reasonable defaults
     15 // wherever possible. They will need real implementation as part of of MIPS
     16 // firmware bringup.
     17 
     18 int VbReadNvStorage(VbNvContext* vnc) {
     19   return -1;
     20 }
     21 
     22 int VbWriteNvStorage(VbNvContext* vnc) {
     23   return -1;
     24 }
     25 
     26 VbSharedDataHeader *VbSharedDataRead(void) {
     27   return NULL;
     28 }
     29 
     30 int VbGetArchPropertyInt(const char* name) {
     31   if (!strcasecmp(name,"devsw_cur")) {
     32     return 1;
     33   } else if (!strcasecmp(name,"recoverysw_cur")) {
     34     return 0;
     35   } else if (!strcasecmp(name,"wpsw_cur")) {
     36     return 1;
     37   } else if (!strcasecmp(name,"devsw_boot")) {
     38     return 1;
     39   } else if (!strcasecmp(name,"recoverysw_boot")) {
     40     return 0;
     41   } else if (!strcasecmp(name,"recoverysw_ec_boot")) {
     42     return 0;
     43   } else if (!strcasecmp(name,"wpsw_boot")) {
     44     return 1;
     45   }
     46   return -1;
     47 }
     48 
     49 const char* VbGetArchPropertyString(const char* name, char* dest, size_t size) {
     50   if (!strcasecmp(name,"hwid")) {
     51     return StrCopy(dest, "UnknownMipsHwid", size);
     52   } else if (!strcasecmp(name,"fwid")) {
     53     return StrCopy(dest, "UnknownMipsFwid", size);
     54   } else if (!strcasecmp(name,"ro_fwid")) {
     55     return StrCopy(dest, "UnknownMipsRoFwid", size);
     56   } else if (!strcasecmp(name,"mainfw_act")) {
     57     return StrCopy(dest, "A", size);
     58   } else if (!strcasecmp(name,"mainfw_type")) {
     59     return StrCopy(dest, "developer", size);
     60   } else if (!strcasecmp(name,"ecfw_act")) {
     61     return StrCopy(dest, "RO", size);
     62   }
     63   return NULL;
     64 }
     65 
     66 int VbSetArchPropertyInt(const char* name, int value) {
     67   /* All is handled in arch independent fashion */
     68   return -1;
     69 }
     70 
     71 int VbSetArchPropertyString(const char* name, const char* value) {
     72   /* All is handled in arch independent fashion */
     73   return -1;
     74 }
     75