| Index: host/arch/arm/lib/crossystem_arch.c
|
| diff --git a/host/arch/arm/lib/crossystem_arch.c b/host/arch/arm/lib/crossystem_arch.c
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..34f38f6e72e3e1871b5cd2d388b058721a3a93c9
|
| --- /dev/null
|
| +++ b/host/arch/arm/lib/crossystem_arch.c
|
| @@ -0,0 +1,106 @@
|
| +/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| +#include <stdio.h>
|
| +#include <string.h>
|
| +#include <sys/types.h>
|
| +#include <sys/stat.h>
|
| +#include <unistd.h>
|
| +#include <ctype.h>
|
| +
|
| +#include "host_common.h"
|
| +
|
| +#include "crossystem.h"
|
| +#include "crossystem_arch.h"
|
| +#include "utility.h"
|
| +#include "vboot_common.h"
|
| +#include "vboot_nvstorage.h"
|
| +#include "vboot_struct.h"
|
| +
|
| +
|
| +int VbReadNvStorage(VbNvContext* vnc) {
|
| + /* TODO: IMPLEMENT ME! */
|
| + return -1;
|
| +}
|
| +
|
| +
|
| +int VbWriteNvStorage(VbNvContext* vnc) {
|
| + /* TODO: IMPLEMENT ME! */
|
| + return -1;
|
| +}
|
| +
|
| +
|
| +VbSharedDataHeader* VbSharedDataRead(void) {
|
| + /* TODO: IMPLEMENT ME! */
|
| + return NULL;
|
| +}
|
| +
|
| +
|
| +int VbGetArchPropertyInt(const char* name) {
|
| +
|
| + /* TODO: IMPLEMENT ME! For now, return reasonable defaults for
|
| + * values where reasonable defaults exist. */
|
| + if (!strcasecmp(name,"recovery_reason")) {
|
| + } else if (!strcasecmp(name,"fmap_base")) {
|
| + }
|
| + /* Switch positions */
|
| + else if (!strcasecmp(name,"devsw_cur")) {
|
| + return 1;
|
| + } else if (!strcasecmp(name,"recoverysw_cur")) {
|
| + return 0;
|
| + } else if (!strcasecmp(name,"wpsw_cur")) {
|
| + return 1;
|
| + } else if (!strcasecmp(name,"devsw_boot")) {
|
| + return 1;
|
| + } else if (!strcasecmp(name,"recoverysw_boot")) {
|
| + return 0;
|
| + } else if (!strcasecmp(name,"recoverysw_ec_boot")) {
|
| + return 0;
|
| + } else if (!strcasecmp(name,"wpsw_boot")) {
|
| + return 1;
|
| + }
|
| +
|
| + /* Saved memory is at a fixed location for all H2C BIOS. If the CHSW
|
| + * path exists in sysfs, it's a H2C BIOS. */
|
| + else if (!strcasecmp(name,"savedmem_base")) {
|
| + } else if (!strcasecmp(name,"savedmem_size")) {
|
| + }
|
| +
|
| + return -1;
|
| +}
|
| +
|
| +
|
| +const char* VbGetArchPropertyString(const char* name, char* dest, int size) {
|
| + /* TODO: IMPLEMENT ME! For now, return reasonable defaults for
|
| + * values where reasonable defaults exist. */
|
| + if (!strcasecmp(name,"hwid")) {
|
| + return StrCopy(dest, "UnknownArmHwid", size);
|
| + } else if (!strcasecmp(name,"fwid")) {
|
| + return StrCopy(dest, "UnknownArmFwid", size);
|
| + } else if (!strcasecmp(name,"ro_fwid")) {
|
| + return StrCopy(dest, "UnknownArmRoFwid", size);
|
| + } else if (!strcasecmp(name,"mainfw_act")) {
|
| + return StrCopy(dest, "A", size);
|
| + } else if (!strcasecmp(name,"mainfw_type")) {
|
| + return StrCopy(dest, "developer", size);
|
| + } else if (!strcasecmp(name,"ecfw_act")) {
|
| + return StrCopy(dest, "RO", size);
|
| + }
|
| +
|
| + return NULL;
|
| +}
|
| +
|
| +
|
| +int VbSetArchPropertyInt(const char* name, int value) {
|
| + /* TODO: IMPLEMENT ME! */
|
| + return -1;
|
| +}
|
| +
|
| +
|
| +int VbSetArchPropertyString(const char* name, const char* value) {
|
| + /* If there were settable architecture-dependent string properties,
|
| + * they'd be here. */
|
| + return -1;
|
| +}
|
|
|