mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-23 17:55:01 +00:00
This reduces the number of exported header files to the minimum needed by
the existing userspace utilities and firmware implementations.
BUG=chromium:221544
BRANCH=none
TEST=manual, trybots
CQ-DEPEND=CL:47019,CL:47022,CL:47023
sudo FEATURES=test emerge vboot_reference
FEATURES=test emerge-$BOARD \
vboot_reference \
chromeos-cryptohome \
chromeos-installer \
chromeos-u-boot \
peach-u-boot \
depthcharge
Change-Id: I2946cc2dbaf5459a6c5eca92ca57d546498e6d85
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/47021
Reviewed-by: Randall Spangler <rspangler@chromium.org>
73 lines
1.4 KiB
C
73 lines
1.4 KiB
C
/* Copyright (c) 2013 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.
|
|
*
|
|
* Stub implementations of firmware-provided API functions.
|
|
*/
|
|
|
|
#include <stdint.h>
|
|
|
|
#define _STUB_IMPLEMENTATION_
|
|
|
|
#include <stdarg.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <sys/time.h>
|
|
|
|
#include "vboot_api.h"
|
|
|
|
/* U-Boot's printf uses '%L' for uint64_t. gcc uses '%l'. */
|
|
#define MAX_FMT 255
|
|
static char fmtbuf[MAX_FMT+1];
|
|
|
|
static const char *fixfmt(const char *format)
|
|
{
|
|
int i;
|
|
for(i=0; i<MAX_FMT && format[i]; i++) {
|
|
fmtbuf[i] = format[i];
|
|
if(format[i] == '%' && format[i+1] == 'L') {
|
|
fmtbuf[i+1] = 'l';
|
|
i++;
|
|
}
|
|
}
|
|
fmtbuf[i] = '\0';
|
|
return fmtbuf;
|
|
}
|
|
|
|
void VbExError(const char *format, ...)
|
|
{
|
|
va_list ap;
|
|
va_start(ap, format);
|
|
fprintf(stderr, "ERROR: ");
|
|
vfprintf(stderr, fixfmt(format), ap);
|
|
va_end(ap);
|
|
exit(1);
|
|
}
|
|
|
|
void VbExDebug(const char *format, ...)
|
|
{
|
|
va_list ap;
|
|
va_start(ap, format);
|
|
fprintf(stderr, "DEBUG: ");
|
|
vfprintf(stderr, fixfmt(format), ap);
|
|
va_end(ap);
|
|
}
|
|
|
|
uint64_t VbExGetTimer(void)
|
|
{
|
|
struct timeval tv;
|
|
gettimeofday(&tv, NULL);
|
|
return (uint64_t)tv.tv_sec * 1000000 + (uint64_t)tv.tv_usec;
|
|
}
|
|
|
|
VbError_t VbExNvStorageRead(uint8_t *buf)
|
|
{
|
|
return VBERROR_SUCCESS;
|
|
}
|
|
|
|
VbError_t VbExNvStorageWrite(const uint8_t *buf)
|
|
{
|
|
return VBERROR_SUCCESS;
|
|
}
|