| /* 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. |
| * |
| * Stub implementations of utility functions which call their linux-specific |
| * equivalents. |
| */ |
| |
| #define _STUB_IMPLEMENTATION_ |
| #include "utility.h" |
| |
| #include <stdarg.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| #include <sys/time.h> |
| |
| void error(const char *format, ...) { |
| va_list ap; |
| va_start(ap, format); |
| fprintf(stderr, "ERROR: "); |
| vfprintf(stderr, format, ap); |
| va_end(ap); |
| exit(1); |
| } |
| |
| void debug(const char *format, ...) { |
| va_list ap; |
| va_start(ap, format); |
| fprintf(stderr, "DEBUG: "); |
| vfprintf(stderr, format, ap); |
| va_end(ap); |
| } |
| |
| void* Malloc(size_t size) { |
| void* p = malloc(size); |
| if (!p) { |
| /* Fatal Error. We must abort. */ |
| abort(); |
| } |
| return p; |
| } |
| |
| void Free(void* ptr) { |
| free(ptr); |
| } |
| |
| int Memcmp(const void* src1, const void* src2, size_t n) { |
| return memcmp(src1, src2, n); |
| } |
| |
| void* Memcpy(void* dest, const void* src, uint64_t n) { |
| return memcpy(dest, src, (size_t)n); |
| } |
| |
| uint64_t VbGetTimer(void) { |
| struct timeval tv; |
| gettimeofday(&tv, NULL); |
| return (uint64_t)tv.tv_sec * 1000000 + (uint64_t)tv.tv_usec; |
| } |
| |
| uint64_t VbGetTimerMaxFreq(void) { |
| return UINT64_C(1000000); |
| } |