| OLD | NEW |
| 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
| 3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
| 4 */ | 4 */ |
| 5 | 5 |
| 6 /* Helper functions/wrappers for memory allocations, manipulation and | 6 /* Helper functions/wrappers for memory allocations, manipulation and |
| 7 * comparison. | 7 * comparison. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 #ifndef VBOOT_REFERENCE_UTILITY_H_ | 10 #ifndef VBOOT_REFERENCE_UTILITY_H_ |
| 11 #define VBOOT_REFERENCE_UTILITY_H_ | 11 #define VBOOT_REFERENCE_UTILITY_H_ |
| 12 | 12 |
| 13 #include "sysincludes.h" | 13 #include "sysincludes.h" |
| 14 | 14 |
| 15 /* Debug and error output */ | 15 /* Debug and error output */ |
| 16 #ifdef VBOOT_DEBUG | 16 #ifdef VBOOT_DEBUG |
| 17 #define VBDEBUG(params) debug params | 17 #define VBDEBUG(params) debug params |
| 18 #else | 18 #else |
| 19 #define VBDEBUG(params) | 19 #define VBDEBUG(params) |
| 20 #endif | 20 #endif |
| 21 | 21 |
| 22 #ifndef VBOOT_PERFORMANCE |
| 23 /* Define performance macros as nothing. If you enable VBOOT_PERFORMANCE, |
| 24 * you must define these macros in your platform's biosincludes.h. |
| 25 * |
| 26 * Intended usage for using a performance counter called 'foo': |
| 27 * |
| 28 * VBPERFSTART("foo") |
| 29 * ...code to be tested... |
| 30 * VBPERFEND("foo") |
| 31 * |
| 32 * Names should be <= 8 characters to be compatible with all platforms. |
| 33 */ |
| 34 #define VBPERFSTART(name) |
| 35 #define VBPERFEND(name) |
| 36 #endif |
| 37 |
| 22 /* Outputs an error message and quits. */ | 38 /* Outputs an error message and quits. */ |
| 23 void error(const char *format, ...); | 39 void error(const char* format, ...); |
| 24 | 40 |
| 25 /* Outputs debug/warning messages. */ | 41 /* Outputs debug/warning messages. */ |
| 26 void debug(const char *format, ...); | 42 void debug(const char* format, ...); |
| 27 | 43 |
| 44 #ifdef VBOOT_DEBUG |
| 28 #define assert(expr) do { if (!(expr)) { \ | 45 #define assert(expr) do { if (!(expr)) { \ |
| 29 error("assert fail: %s at %s:%d\n", \ | 46 error("assert fail: %s at %s:%d\n", \ |
| 30 #expr, __FILE__, __LINE__); }} while(0) | 47 #expr, __FILE__, __LINE__); }} while(0) |
| 48 #else |
| 49 #define assert(expr) |
| 50 #endif |
| 31 | 51 |
| 32 /* Combine [msw] and [lsw] uint16s to a uint32_t with its [msw] and | 52 /* Combine [msw] and [lsw] uint16s to a uint32_t with its [msw] and |
| 33 * [lsw] forming the most and least signficant 16-bit words. | 53 * [lsw] forming the most and least signficant 16-bit words. |
| 34 */ | 54 */ |
| 35 #define CombineUint16Pair(msw,lsw) (((msw) << 16) | \ | 55 #define CombineUint16Pair(msw,lsw) (((msw) << 16) | \ |
| 36 (((lsw)) & 0xFFFF)) | 56 (((lsw)) & 0xFFFF)) |
| 37 /* Return the minimum of (a) or (b). */ | 57 /* Return the minimum of (a) or (b). */ |
| 38 #define Min(a, b) (((a) < (b)) ? (a) : (b)) | 58 #define Min(a, b) (((a) < (b)) ? (a) : (b)) |
| 39 | 59 |
| 40 /* Allocate [size] bytes and return a pointer to the allocated memory. Abort | 60 /* Allocate [size] bytes and return a pointer to the allocated memory. Abort |
| (...skipping 29 matching lines...) Expand all Loading... |
| 70 /* Ensure that only our stub implementations are used, not standard C */ | 90 /* Ensure that only our stub implementations are used, not standard C */ |
| 71 #ifndef _STUB_IMPLEMENTATION_ | 91 #ifndef _STUB_IMPLEMENTATION_ |
| 72 #define malloc _do_not_use_standard_malloc | 92 #define malloc _do_not_use_standard_malloc |
| 73 #define free _do_not_use_standard_free | 93 #define free _do_not_use_standard_free |
| 74 #define memcmp _do_not_use_standard_memcmp | 94 #define memcmp _do_not_use_standard_memcmp |
| 75 #define memcpy _do_not_use_standard_memcpy | 95 #define memcpy _do_not_use_standard_memcpy |
| 76 #define memset _do_not_use_standard_memset | 96 #define memset _do_not_use_standard_memset |
| 77 #endif | 97 #endif |
| 78 | 98 |
| 79 #endif /* VBOOT_REFERENCE_UTILITY_H_ */ | 99 #endif /* VBOOT_REFERENCE_UTILITY_H_ */ |
| OLD | NEW |