vboot: move timer and beep functions to vboot2 namespace

Move these functions from vboot_api.h into 2api.h:
  VbExGetTimer --> vb2ex_mtime (usec -> msec)
  VbExSleepMs --> vb2ex_msleep
  VbExBeep --> vb2ex_beep

Rename the constants:
  VB_USEC_PER_MSEC --> VB2_USEC_PER_MSEC
  VB_MSEC_PER_SEC --> VB2_MSEC_PER_SEC
Remove the constant VB_USEC_PER_SEC.

The error code VBERROR_NO_BACKGROUND_SOUND is dropped since
it is not currently used.

Update a few printf lines to use VB2_DEBUG instead.

BUG=b:124141368, chromium:988410
TEST=make clean && make runtests
BRANCH=none

Change-Id: I887112ffd5f68fb6a9c4d9ad624aa420cbd55b4b
Signed-off-by: Joel Kitching <kitching@google.com>
Cq-Depend: chromium:2158665
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2158666
Tested-by: Joel Kitching <kitching@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Commit-Queue: Joel Kitching <kitching@chromium.org>
diff --git a/firmware/2lib/2ui.c b/firmware/2lib/2ui.c
index 14507ec..eaa2bc4 100644
--- a/firmware/2lib/2ui.c
+++ b/firmware/2lib/2ui.c
@@ -267,7 +267,7 @@
 		}
 
 		/* Delay. */
-		VbExSleepMs(KEY_DELAY_MS);
+		vb2ex_msleep(KEY_DELAY_MS);
 	}
 
 	return VB2_SUCCESS;
diff --git a/firmware/2lib/2ui_screens.c b/firmware/2lib/2ui_screens.c
index 3156fb5..50a6142 100644
--- a/firmware/2lib/2ui_screens.c
+++ b/firmware/2lib/2ui_screens.c
@@ -277,7 +277,7 @@
 		break;
 	}
 
-	ui->start_time = VbExGetTimer();
+	ui->start_time = vb2ex_mtime();
 
 	return VB2_REQUEST_UI_CONTINUE;
 }
@@ -326,24 +326,24 @@
 	if (ui->disable_timer)
 		return VB2_REQUEST_UI_CONTINUE;
 
-	elapsed = VbExGetTimer() - ui->start_time;
+	elapsed = vb2ex_mtime() - ui->start_time;
 
 	/* If we're using short delay, wait 2 seconds and don't beep. */
-	if (use_short && elapsed > 2 * VB_USEC_PER_SEC) {
+	if (use_short && elapsed > 2 * VB2_MSEC_PER_SEC) {
 		VB2_DEBUG("Booting default target after 2s\n");
 		ui->disable_timer = 1;
 		return vb2_ui_menu_select(ui);
 	}
 
 	/* Otherwise, beep at 20 and 20.5 seconds. */
-	if ((ui->beep_count == 0 && elapsed > 20 * VB_USEC_PER_SEC) ||
-	    (ui->beep_count == 1 && elapsed > 20500 * VB_USEC_PER_MSEC)) {
-		VbExBeep(250, 400);
+	if ((ui->beep_count == 0 && elapsed > 20 * VB2_MSEC_PER_SEC) ||
+	    (ui->beep_count == 1 && elapsed > 20 * VB2_MSEC_PER_SEC + 500)) {
+		vb2ex_beep(250, 400);
 		ui->beep_count++;
 	}
 
 	/* Stop after 30 seconds. */
-	if (elapsed > 30 * VB_USEC_PER_SEC) {
+	if (elapsed > 30 * VB2_MSEC_PER_SEC) {
 		VB2_DEBUG("Booting default target after 30s\n");
 		ui->disable_timer = 1;
 		return vb2_ui_menu_select(ui);
diff --git a/firmware/2lib/include/2api.h b/firmware/2lib/include/2api.h
index f8a1b4e..4a6fe0d 100644
--- a/firmware/2lib/include/2api.h
+++ b/firmware/2lib/include/2api.h
@@ -1220,4 +1220,37 @@
  */
 uint32_t vb2ex_get_locale_count(void);
 
+/**
+ * Delay for at least the specified number of milliseconds.
+ *
+ * @param msec			Duration in milliseconds.
+ */
+void vb2ex_msleep(uint32_t msec);
+
+/**
+ * Play a beep tone of the specified frequency in Hz for the duration msec.
+ *
+ * This is effectively a sleep call that makes noise.  The implementation may
+ * beep at a fixed frequency if frequency support is not available.  Regardless
+ * of whether any errors occur, the callback is expected to delay for the
+ * specified duration before returning.
+ *
+ * @param msec			Duration of beep in milliseconds.
+ * @param frequency		Sound frequency in Hz.
+ */
+void vb2ex_beep(uint32_t msec, uint32_t frequency);
+
+/*****************************************************************************/
+/* Timer. */
+
+/**
+ * Read a millisecond timer.
+ *
+ * This should have a sufficient number of bits to avoid wraparound for at
+ * least 10 minutes.
+ *
+ * @return Current timer value in milliseconds.
+ */
+uint32_t vb2ex_mtime(void);
+
 #endif  /* VBOOT_REFERENCE_2API_H_ */
diff --git a/firmware/2lib/include/2common.h b/firmware/2lib/include/2common.h
index 135beb9..e3a7989 100644
--- a/firmware/2lib/include/2common.h
+++ b/firmware/2lib/include/2common.h
@@ -17,6 +17,10 @@
 
 struct vb2_public_key;
 
+/* Time conversion constants. */
+#define VB2_USEC_PER_MSEC 1000ULL
+#define VB2_MSEC_PER_SEC 1000ULL
+
 /*
  * Return the min/max of A and B.  This is used in macros which calculate the
  * required buffer size, so can't be turned into a static inline function.
diff --git a/firmware/2lib/include/2return_codes.h b/firmware/2lib/include/2return_codes.h
index 989420a..f94d0b2 100644
--- a/firmware/2lib/include/2return_codes.h
+++ b/firmware/2lib/include/2return_codes.h
@@ -63,8 +63,6 @@
 	 * vboot1-style errors
 	 * TODO: deprecate these once they have all moved over to vboot2 style
 	 */
-	/* VbExBeep() can't make sound in the background */
-	VBERROR_NO_BACKGROUND_SOUND           = 0x10019,
 	/* Peripheral busy. Cannot upgrade firmware at present. */
 	VBERROR_PERIPHERAL_BUSY               = 0x10030,
 	/* Error writing VPD */
diff --git a/firmware/2lib/include/2ui.h b/firmware/2lib/include/2ui.h
index d4d2ba4..eee1565 100644
--- a/firmware/2lib/include/2ui.h
+++ b/firmware/2lib/include/2ui.h
@@ -65,7 +65,7 @@
 
 	/* For developer mode. */
 	int disable_timer;
-	uint64_t start_time;
+	uint32_t start_time;
 	int beep_count;
 
 	/* For manual recovery. */
diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h
index 4931d59..a4eb23d 100644
--- a/firmware/include/vboot_api.h
+++ b/firmware/include/vboot_api.h
@@ -85,49 +85,6 @@
 				  VbSelectAndLoadKernelParams *kparams);
 
 /*****************************************************************************/
-/* Timer and delay */
-
-#define VB_USEC_PER_MSEC	1000ULL
-#define VB_MSEC_PER_SEC		VB_USEC_PER_MSEC
-#define VB_USEC_PER_SEC		(VB_USEC_PER_MSEC * VB_MSEC_PER_SEC)
-
-/**
- * Read a microsecond timer.
- *
- * This should have a sufficient number of bits to avoid wraparound for at
- * least 10 minutes.  A 32-bit value would be plenty, but for historical
- * reasons this returns uint64_t.
- */
-uint64_t VbExGetTimer(void);
-
-/**
- * Delay for at least the specified number of milliseconds.  Should be accurate
- * to within 10% (a requested delay of 1000 ms should result in an actual delay
- * of between 1000 - 1100 ms).
- */
-void VbExSleepMs(uint32_t msec);
-
-/**
- * Play a beep tone of the specified frequency in Hz and duration in msec.
- * This is effectively a VbSleep() variant that makes noise.
- *
- * If the audio codec can run in the background, then:
- *   zero frequency means OFF, non-zero frequency means ON
- *   zero msec means return immediately, non-zero msec means delay (and
- *     then OFF if needed)
- * otherwise,
- *   non-zero msec and non-zero frequency means ON, delay, OFF, return
- *   zero msec or zero frequency means do nothing and return immediately
- *
- * The return value is used by the caller to determine the capabilities. The
- * implementation should always do the best it can if it cannot fully support
- * all features - for example, beeping at a fixed frequency if frequency
- * support is not available.  At a minimum, it must delay for the specified
- * non-zero duration.
- */
-vb2_error_t VbExBeep(uint32_t msec, uint32_t frequency);
-
-/*****************************************************************************/
 /* TPM (from tlcl_stub.h) */
 
 /**
diff --git a/firmware/lib/vboot_audio.c b/firmware/lib/vboot_audio.c
index 5e44606..7f9b5a5 100644
--- a/firmware/lib/vboot_audio.c
+++ b/firmware/lib/vboot_audio.c
@@ -13,7 +13,7 @@
 
 int audio_open_count = 0;	/* Times audio has been opened */
 static int audio_use_short;	/* Use short delay? */
-static uint64_t open_time;	/* Time of last open */
+static uint32_t open_time;	/* Time of last open */
 static int beep_count;		/* Number of beeps so far */
 
 /**
@@ -23,7 +23,7 @@
 {
 	struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
 
-	open_time = VbExGetTimer(); /* "zero" starts now */
+	open_time = vb2ex_mtime(); /* "zero" starts now */
 	beep_count = 0;
 
 	/*
@@ -44,19 +44,19 @@
  */
 int vb2_audio_looping(void)
 {
-	uint64_t now = VbExGetTimer() - open_time;
+	uint32_t now = vb2ex_mtime() - open_time;
 
 	/* If we're using short delay, wait 2 seconds and don't beep */
 	if (audio_use_short)
-		return (now < 2 * VB_USEC_PER_SEC);
+		return now < 2 * VB2_MSEC_PER_SEC;
 
 	/* Otherwise, beep at 20 and 20.5 seconds */
-	if ((beep_count == 0 && now > 20000 * VB_MSEC_PER_SEC) ||
-	    (beep_count == 1 && now > 20500 * VB_MSEC_PER_SEC)) {
-		VbExBeep(250, 400);
+	if ((beep_count == 0 && now > 20 * VB2_MSEC_PER_SEC) ||
+	    (beep_count == 1 && now > 20 * VB2_MSEC_PER_SEC + 500)) {
+		vb2ex_beep(250, 400);
 		beep_count++;
 	}
 
 	/* Stop after 30 seconds */
-	return (now < 30 * VB_USEC_PER_SEC);
+	return (now < 30 * VB2_MSEC_PER_SEC);
 }
diff --git a/firmware/lib/vboot_kernel.c b/firmware/lib/vboot_kernel.c
index 7f6c880..50a4d06 100644
--- a/firmware/lib/vboot_kernel.c
+++ b/firmware/lib/vboot_kernel.c
@@ -320,7 +320,7 @@
 	LoadKernelParams *params, uint32_t min_version,
 	VbSharedDataKernelPart *shpart, struct vb2_workbuf *wb)
 {
-	uint64_t read_us = 0, start_ts;
+	uint32_t read_ms = 0, start_ts;
 	struct vb2_workbuf wblocal = *wb;
 
 	/* Allocate kernel header buffer in workbuf */
@@ -328,13 +328,13 @@
 	if (!kbuf)
 		return VB2_ERROR_LOAD_PARTITION_WORKBUF;
 
-	start_ts = VbExGetTimer();
+	start_ts = vb2ex_mtime();
 	if (VbExStreamRead(stream, KBUF_SIZE, kbuf)) {
 		VB2_DEBUG("Unable to read start of partition.\n");
 		shpart->check_result = VBSD_LKP_CHECK_READ_START;
 		return VB2_ERROR_LOAD_PARTITION_READ_VBLOCK;
 	}
-	read_us += VbExGetTimer() - start_ts;
+	read_ms += vb2ex_mtime() - start_ts;
 
 	if (VB2_SUCCESS !=
 	    vb2_verify_kernel_vblock(ctx, kbuf, KBUF_SIZE, kernel_subkey,
@@ -389,17 +389,19 @@
 	body_readptr += body_copied;
 
 	/* Read the kernel data */
-	start_ts = VbExGetTimer();
+	start_ts = vb2ex_mtime();
 	if (body_toread && VbExStreamRead(stream, body_toread, body_readptr)) {
 		VB2_DEBUG("Unable to read kernel data.\n");
 		shpart->check_result = VBSD_LKP_CHECK_READ_DATA;
 		return VB2_ERROR_LOAD_PARTITION_READ_BODY;
 	}
-	read_us += VbExGetTimer() - start_ts;
-	VB2_DEBUG("read %" PRIu32 " KB in %" PRIu64 " ms at %" PRIu64 " KB/s.\n",
-		  (body_toread + KBUF_SIZE) / 1024, read_us / 1000,
-		  ((uint64_t)(body_toread + KBUF_SIZE) * 1000 * 1000) /
-			  (read_us * 1024));
+	read_ms += vb2ex_mtime() - start_ts;
+	if (read_ms == 0)  /* Avoid division by 0 in speed calculation */
+		read_ms = 1;
+	VB2_DEBUG("read %u KB in %u ms at %u KB/s.\n",
+		  (body_toread + KBUF_SIZE) / 1024, read_ms,
+		  (uint32_t)(((body_toread + KBUF_SIZE) * VB2_MSEC_PER_SEC) /
+			     (read_ms * 1024)));
 
 	/* Get key for preamble/data verification from the keyblock. */
 	struct vb2_public_key data_key;
diff --git a/firmware/lib/vboot_ui_legacy.c b/firmware/lib/vboot_ui_legacy.c
index f128841..1b6a32e 100644
--- a/firmware/lib/vboot_ui_legacy.c
+++ b/firmware/lib/vboot_ui_legacy.c
@@ -219,13 +219,13 @@
 {
 	switch (beep) {
 	case VB_BEEP_FAILED:
-		VbExBeep(250, 200);
+		vb2ex_beep(250, 200);
 		break;
 	default:
 	case VB_BEEP_NOT_ALLOWED:
-		VbExBeep(120, 400);
-		VbExSleepMs(120);
-		VbExBeep(120, 400);
+		vb2ex_beep(120, 400);
+		vb2ex_msleep(120);
+		vb2ex_beep(120, 400);
 		break;
 	}
 }
diff --git a/firmware/lib/vboot_ui_legacy_clamshell.c b/firmware/lib/vboot_ui_legacy_clamshell.c
index e91e090..8054227 100644
--- a/firmware/lib/vboot_ui_legacy_clamshell.c
+++ b/firmware/lib/vboot_ui_legacy_clamshell.c
@@ -130,7 +130,7 @@
 			}
 			VbCheckDisplayKey(ctx, key, disp_current_screen, NULL);
 		}
-		VbExSleepMs(KEY_DELAY_MS);
+		vb2ex_msleep(KEY_DELAY_MS);
 	} while (!shutdown_requested);
 
 	return -1;
@@ -182,7 +182,7 @@
 			VbCheckDisplayKey(ctx, key, disp_current_screen, NULL);
 			break;
 		}
-		VbExSleepMs(KEY_DELAY_MS);
+		vb2ex_msleep(KEY_DELAY_MS);
 	} while (active);
 
 	/* Back to developer screen */
@@ -253,7 +253,7 @@
 			vb2_nv_set(ctx, VB2_NV_DISABLE_DEV_REQUEST, 1);
 			VbDisplayScreen(ctx,
 				VB_SCREEN_TO_NORM_CONFIRMED, 0, NULL);
-			VbExSleepMs(5000);
+			vb2ex_msleep(5 * VB2_MSEC_PER_SEC);
 			return VB2_REQUEST_REBOOT;
 		case -1:
 			VB2_DEBUG("shutdown requested\n");
@@ -324,7 +324,7 @@
 				vb2_nv_set(ctx, VB2_NV_DISABLE_DEV_REQUEST, 1);
 				VbDisplayScreen(ctx,
 					VB_SCREEN_TO_NORM_CONFIRMED, 0, NULL);
-				VbExSleepMs(5000);
+				vb2ex_msleep(5 * VB2_MSEC_PER_SEC);
 				return VB2_REQUEST_REBOOT;
 			case -1:
 				VB2_DEBUG("shutdown requested\n");
@@ -403,7 +403,7 @@
 			break;
 		}
 
-		VbExSleepMs(KEY_DELAY_MS);
+		vb2ex_msleep(KEY_DELAY_MS);
 	} while(vb2_audio_looping());
 
  fallout:
@@ -465,7 +465,7 @@
 				  vb2_check_diagnostic_key(ctx, key)) !=
 				  VB2_SUCCESS)
 				return retval;
-			VbExSleepMs(KEY_DELAY_MS);
+			vb2ex_msleep(KEY_DELAY_MS);
 		}
 	}
 
@@ -531,7 +531,7 @@
 		}
 		if (vb2_want_shutdown(ctx, key))
 			return VB2_REQUEST_SHUTDOWN;
-		VbExSleepMs(KEY_DELAY_MS);
+		vb2ex_msleep(KEY_DELAY_MS);
 	}
 
 	return VB2_SUCCESS;
diff --git a/firmware/lib/vboot_ui_legacy_menu.c b/firmware/lib/vboot_ui_legacy_menu.c
index bcdd41c..e9e9b4e 100644
--- a/firmware/lib/vboot_ui_legacy_menu.c
+++ b/firmware/lib/vboot_ui_legacy_menu.c
@@ -106,7 +106,7 @@
 static void vb2_flash_screen(struct vb2_context *ctx)
 {
 	VbDisplayMenu(ctx, VB_SCREEN_BLANK, 0, 0, 0);
-	VbExSleepMs(50);
+	vb2ex_msleep(50);
 	vb2_draw_current_screen(ctx);
 }
 
@@ -414,7 +414,7 @@
 	vb2_nv_set(ctx, VB2_NV_DISABLE_DEV_REQUEST, 1);
 	vb2_change_menu(VB_MENU_TO_NORM_CONFIRMED, 0);
 	vb2_draw_current_screen(ctx);
-	VbExSleepMs(5000);
+	vb2ex_msleep(5 * VB2_MSEC_PER_SEC);
 	return VB2_REQUEST_REBOOT;
 }
 
@@ -837,7 +837,7 @@
 		if (key != 0)
 			vb2_audio_start(ctx);
 
-		VbExSleepMs(KEY_DELAY_MS);
+		vb2ex_msleep(KEY_DELAY_MS);
 
 		/* If dev mode was disabled, loop forever (never timeout) */
 	} while (disable_dev_boot ? 1 : vb2_audio_looping());
@@ -916,7 +916,7 @@
 			if (ret != VB2_REQUEST_UI_CONTINUE)
 				return ret;
 		}
-		VbExSleepMs(KEY_DELAY_MS);
+		vb2ex_msleep(KEY_DELAY_MS);
 	}
 }
 
diff --git a/firmware/lib/vboot_ui_legacy_wilco.c b/firmware/lib/vboot_ui_legacy_wilco.c
index fc379ee..59a4968 100644
--- a/firmware/lib/vboot_ui_legacy_wilco.c
+++ b/firmware/lib/vboot_ui_legacy_wilco.c
@@ -109,7 +109,7 @@
 					  &data);
 			break;
 		}
-		VbExSleepMs(KEY_DELAY_MS);
+		vb2ex_msleep(KEY_DELAY_MS);
 
 		if (++blink_count == blinks) {
 			blink_count = 0;
@@ -182,7 +182,7 @@
 						"set.\n"
 						"System will now shutdown\n",
 						NULL, VB_BEEP_FAILED);
-					VbExSleepMs(5000);
+					vb2ex_msleep(5 * VB2_MSEC_PER_SEC);
 					return VB2_REQUEST_SHUTDOWN;
 				}
 			} else {
@@ -198,7 +198,7 @@
 					  VB_SCREEN_CONFIRM_VENDOR_DATA, data);
 			break;
 		}
-		VbExSleepMs(KEY_DELAY_MS);
+		vb2ex_msleep(KEY_DELAY_MS);
 	} while (1);
 	return VB2_SUCCESS;
 }
@@ -285,11 +285,11 @@
 	int button_pressed = 0;
 	vb2_error_t result = VB2_REQUEST_REBOOT;
 	int action_confirmed = 0;
-	uint64_t start_time_us;
+	uint32_t start_time_ms;
 
 	VbDisplayScreen(ctx, VB_SCREEN_CONFIRM_DIAG, 0, NULL);
 
-	start_time_us = VbExGetTimer();
+	start_time_ms = vb2ex_mtime();
 
 	/* We'll loop until the user decides what to do */
 	do {
@@ -334,12 +334,12 @@
 					  NULL);
 			break;
 		}
-		if (VbExGetTimer() - start_time_us >= 30 * VB_USEC_PER_SEC) {
+		if (vb2ex_mtime() - start_time_ms >= 30 * VB2_MSEC_PER_SEC) {
 			VB2_DEBUG("vb2_diagnostics_ui() - timeout\n");
 			break;
 		}
 		if (active) {
-			VbExSleepMs(KEY_DELAY_MS);
+			vb2ex_msleep(KEY_DELAY_MS);
 		}
 	} while (active);
 
diff --git a/firmware/stub/tpm_lite_stub.c b/firmware/stub/tpm_lite_stub.c
index 54accb5..7d3e5d2 100644
--- a/firmware/stub/tpm_lite_stub.c
+++ b/firmware/stub/tpm_lite_stub.c
@@ -268,8 +268,8 @@
 	VB2_DEBUG("response (%d bytes):\n", *response_length);
 	DbgPrintBytes(response, *response_length);
 	VB2_DEBUG("execution time: %dms\n",
-		  (int) ((after.tv_sec - before.tv_sec) * VB_MSEC_PER_SEC +
-			 (after.tv_usec - before.tv_usec) / VB_USEC_PER_MSEC));
+		  (int) ((after.tv_sec - before.tv_sec) * VB2_MSEC_PER_SEC +
+			 (after.tv_usec - before.tv_usec) / VB2_USEC_PER_MSEC));
 #endif
 
 #ifndef NDEBUG
diff --git a/firmware/stub/vboot_api_stub.c b/firmware/stub/vboot_api_stub.c
index f59c400..17f4207 100644
--- a/firmware/stub/vboot_api_stub.c
+++ b/firmware/stub/vboot_api_stub.c
@@ -17,13 +17,12 @@
 #include "vboot_api.h"
 #include "vboot_test.h"
 
-void VbExSleepMs(uint32_t msec)
+void vb2ex_msleep(uint32_t msec)
 {
 }
 
-vb2_error_t VbExBeep(uint32_t msec, uint32_t frequency)
+void vb2ex_beep(uint32_t msec, uint32_t frequency)
 {
-	return VB2_SUCCESS;
 }
 
 vb2_error_t VbExDisplayScreen(uint32_t screen_type, uint32_t locale,
diff --git a/firmware/stub/vboot_api_stub_init.c b/firmware/stub/vboot_api_stub_init.c
index 4688a7e..bd5c0c2 100644
--- a/firmware/stub/vboot_api_stub_init.c
+++ b/firmware/stub/vboot_api_stub_init.c
@@ -13,11 +13,11 @@
 #include "2common.h"
 #include "vboot_api.h"
 
-uint64_t VbExGetTimer(void)
+uint32_t vb2ex_mtime(void)
 {
 	struct timeval tv;
 	gettimeofday(&tv, NULL);
-	return (uint64_t)tv.tv_sec * VB_USEC_PER_SEC + (uint64_t)tv.tv_usec;
+	return tv.tv_sec * VB2_MSEC_PER_SEC + tv.tv_usec / VB2_USEC_PER_MSEC;
 }
 
 vb2_error_t vb2ex_commit_data(struct vb2_context *ctx)
diff --git a/tests/vb2_ui_tests.c b/tests/vb2_ui_tests.c
index 13c037c..6f5ca68 100644
--- a/tests/vb2_ui_tests.c
+++ b/tests/vb2_ui_tests.c
@@ -46,9 +46,9 @@
 static int mock_key_count;
 static int mock_key_total;
 
-static uint64_t mock_get_timer_last;
-static uint64_t mock_time;
-static const uint64_t mock_time_start = 31ULL * VB_USEC_PER_SEC;
+static uint32_t mock_get_timer_last;
+static uint32_t mock_time;
+static const uint32_t mock_time_start = 31ULL * VB2_MSEC_PER_SEC;
 static int mock_vbexbeep_called;
 
 static enum vb2_dev_default_boot mock_default_boot;
@@ -273,21 +273,20 @@
 	return 0;
 }
 
-uint64_t VbExGetTimer(void)
+uint32_t vb2ex_mtime(void)
 {
 	mock_get_timer_last = mock_time;
 	return mock_time;
 }
 
-void VbExSleepMs(uint32_t msec)
+void vb2ex_msleep(uint32_t msec)
 {
-	mock_time += msec * VB_USEC_PER_MSEC;
+	mock_time += msec;
 }
 
-vb2_error_t VbExBeep(uint32_t msec, uint32_t frequency)
+void vb2ex_beep(uint32_t msec, uint32_t frequency)
 {
 	mock_vbexbeep_called++;
-	return VB2_SUCCESS;
 }
 
 enum vb2_dev_default_boot vb2_get_dev_boot_target(struct vb2_context *c)
@@ -349,7 +348,7 @@
 		     MOCK_IGNORE, MOCK_IGNORE);
 	displayed_no_extra();
 	TEST_TRUE(mock_get_timer_last - mock_time_start >=
-		  30 * VB_USEC_PER_SEC, "  finished delay");
+		  30 * VB2_MSEC_PER_SEC, "  finished delay");
 	TEST_EQ(mock_vbexbeep_called, 2, "  beeped twice");
 	TEST_EQ(mock_vbtlk_count, mock_vbtlk_total, "  used up mock_vbtlk");
 
@@ -364,7 +363,7 @@
 		     MOCK_IGNORE, MOCK_IGNORE);
 	displayed_no_extra();
 	TEST_TRUE(mock_get_timer_last - mock_time_start >=
-		  30 * VB_USEC_PER_SEC, "  finished delay");
+		  30 * VB2_MSEC_PER_SEC, "  finished delay");
 	TEST_EQ(mock_vbexbeep_called, 2, "  beeped twice");
 	TEST_EQ(mock_vbtlk_count, mock_vbtlk_total, "  used up mock_vbtlk");
 
@@ -377,7 +376,7 @@
 		     MOCK_IGNORE, MOCK_IGNORE);
 	displayed_no_extra();
 	TEST_TRUE(mock_get_timer_last - mock_time_start >=
-		  30 * VB_USEC_PER_SEC, "  finished delay");
+		  30 * VB2_MSEC_PER_SEC, "  finished delay");
 	TEST_EQ(mock_vbexbeep_called, 2, "  beeped twice");
 	TEST_EQ(mock_vbtlk_count, mock_vbtlk_total, "  used up mock_vbtlk");
 
diff --git a/tests/vboot_ui_legacy_clamshell_beep_tests.c b/tests/vboot_ui_legacy_clamshell_beep_tests.c
index 9d0d12e..cb0b476 100644
--- a/tests/vboot_ui_legacy_clamshell_beep_tests.c
+++ b/tests/vboot_ui_legacy_clamshell_beep_tests.c
@@ -37,7 +37,6 @@
 typedef struct {
 	const char *name;
 	uint32_t gbb_flags;
-	vb2_error_t beep_return;
 	uint32_t keypress_key;
 	int keypress_at_count;
 	int num_events;
@@ -47,16 +46,14 @@
 test_case_t test[] = {
 
 	{ "VbBootDeveloperSoundTest( fast )",
-	  VB2_GBB_FLAG_DEV_SCREEN_SHORT_DELAY, VBERROR_NO_BACKGROUND_SOUND,
-	  0, 0,
+	  VB2_GBB_FLAG_DEV_SCREEN_SHORT_DELAY, 0, 0,
 	  1,
 	  {
 		{0, 0, 2000},		// off and return at 2 seconds
 	  }},
 
 	{ "VbBootDeveloperSoundTest( normal )",
-	  0, VBERROR_NO_BACKGROUND_SOUND,
-	  0, 0,
+	  0, 0, 0,
 	  3,
 	  {
 		{250, 400, 20000},	// first beep at 20 seconds
@@ -67,8 +64,7 @@
 	// Now with some keypresses
 
 	{ "VbBootDeveloperSoundTest( normal, Ctrl-D )",
-	  0, VBERROR_NO_BACKGROUND_SOUND,
-	  4, 20400,			// Ctrl-D between beeps
+	  0, 4, 20400,			// Ctrl-D between beeps
 	  2,
 	  {
 		{250, 400, 20000},	// first beep at 20 seconds
@@ -76,8 +72,7 @@
 	  }},
 
 	{ "VbBootDeveloperSoundTest( normal, Ctrl-U not allowed )",
-	  0, VBERROR_NO_BACKGROUND_SOUND,
-	  21, 10000,                          // Ctrl-U at 10 seconds
+	  0, 21, 10000,                          // Ctrl-U at 10 seconds
 	  5,
 	  {
 		{120, 400, 10000},	// complains about Ctrl-U (one beep)
@@ -94,14 +89,13 @@
 static struct vb2_context *ctx;
 static struct vb2_shared_data *sd;
 static struct vb2_gbb_header gbb;
-static int current_time;
-static uint64_t current_ticks;
+static uint32_t current_time;
+static uint32_t current_ticks;
 static int current_event;
 static int max_events;
 static int matched_events;
 static int kbd_fire_at;
 static uint32_t kbd_fire_key;
-static vb2_error_t beep_return;
 static note_event_t *expected_event;
 
 /* Audio open count, so we can reset it */
@@ -127,8 +121,6 @@
 	current_event = 0;
 	kbd_fire_at = 0;
 	kbd_fire_key = 0;
-
-	beep_return = VB2_SUCCESS;
 	audio_open_count = 0;
 
 	matched_events = 0;
@@ -181,76 +173,72 @@
 	uint32_t tmp;
 	uint32_t now;
 
-	VbExSleepMs(KBD_READ_TIME);
+	vb2ex_msleep(KBD_READ_TIME);
 	now = current_time;
 
 	if (kbd_fire_key && now >= kbd_fire_at) {
-		VB2_DEBUG("  VbExKeyboardRead() - returning %d at %d msec\n",
+		VB2_DEBUG("returning %d at %d msec\n",
 			  kbd_fire_key, now);
 		tmp = kbd_fire_key;
 		kbd_fire_key = 0;
 		return tmp;
 	}
-	VB2_DEBUG("  VbExKeyboardRead() - returning %d at %d msec\n",
-		  0, now);
+	VB2_DEBUG("returning %d at %d msec\n", 0, now);
 	return 0;
 }
 
-void VbExSleepMs(uint32_t msec)
+void vb2ex_msleep(uint32_t msec)
 {
-	current_ticks += (uint64_t)msec * VB_USEC_PER_MSEC;
-	current_time = current_ticks / VB_USEC_PER_MSEC;
-	VB2_DEBUG("VbExSleepMs(%d) -> %d\n", msec, current_time);
+	current_ticks += msec;
+	current_time = current_ticks;
+	VB2_DEBUG("msec=%d at %d msec\n", msec, current_time);
 }
 
-uint64_t VbExGetTimer(void)
+uint32_t vb2ex_mtime(void)
 {
 	return current_ticks;
 }
 
-vb2_error_t VbExBeep(uint32_t msec, uint32_t frequency)
+void vb2ex_beep(uint32_t msec, uint32_t frequency)
 {
-	VB2_DEBUG("VbExBeep(%d, %d) at %d msec\n",
+	VB2_DEBUG("msec=%d, frequency=%d at %d msec\n",
 		  msec, frequency, current_time);
 
 	if (current_event < max_events &&
 	    msec == expected_event[current_event].msec &&
 	    frequency == expected_event[current_event].freq &&
-	    abs(current_time - expected_event[current_event].time)
-	    < TIME_FUZZ ) {
+	    (current_time - expected_event[current_event].time) < TIME_FUZZ)
 		matched_events++;
-	}
 
 	if (msec)
-		VbExSleepMs(msec);
+		vb2ex_msleep(msec);
 	current_event++;
-	return beep_return;
 }
 
 vb2_error_t VbExDisplayScreen(uint32_t screen_type, uint32_t locale,
 			      const VbScreenData *data)
 {
-	switch(screen_type) {
+	switch (screen_type) {
 		case VB_SCREEN_BLANK:
-			VB2_DEBUG("VbExDisplayScreen(BLANK)\n");
+			VB2_DEBUG("screen_type=BLANK\n");
 			break;
 		case VB_SCREEN_DEVELOPER_WARNING:
-			VB2_DEBUG("VbExDisplayScreen(DEV)\n");
+			VB2_DEBUG("screen_type=DEV\n");
 			break;
 		case VB_SCREEN_RECOVERY_INSERT:
-			VB2_DEBUG("VbExDisplayScreen(INSERT)\n");
+			VB2_DEBUG("screen_type=INSERT\n");
 			break;
 		case VB_SCREEN_RECOVERY_NO_GOOD:
-			VB2_DEBUG("VbExDisplayScreen(NO_GOOD)\n");
+			VB2_DEBUG("screen_type=NO_GOOD\n");
 			break;
 		case VB_SCREEN_OS_BROKEN:
-			VB2_DEBUG("VbExDisplayScreen(BROKEN)\n");
+			VB2_DEBUG("screen_type=BROKEN\n");
 			break;
 		default:
-			VB2_DEBUG("VbExDisplayScreen(%d)\n", screen_type);
+			VB2_DEBUG("screen_type=%#x\n", screen_type);
 	}
 
-	VB2_DEBUG("  current_time is %d msec\n", current_time);
+	VB2_DEBUG("current_time is %d msec\n", current_time);
 
 	return VB2_SUCCESS;
 }
@@ -262,17 +250,16 @@
 	int i;
 	int num_tests =  sizeof(test) / sizeof(test_case_t);
 
-	for (i=0; i<num_tests; i++) {
+	for (i = 0; i < num_tests; i++) {
 		VB2_DEBUG("STARTING %s ...\n", test[i].name);
 		ResetMocks();
 		gbb.flags = test[i].gbb_flags;
-		beep_return = test[i].beep_return;
 		kbd_fire_key = test[i].keypress_key;
 		kbd_fire_at = test[i].keypress_at_count;
 		max_events = test[i].num_events;
 		expected_event = test[i].notes;
-		(void) VbBootDeveloperLegacyClamshell(ctx);
-		VbExBeep(0, 0); /* Dummy call to determine end time */
+		VbBootDeveloperLegacyClamshell(ctx);
+		vb2ex_beep(0, 0);  /* Dummy call to determine end time */
 		VB2_DEBUG("INFO: matched %d total %d expected %d\n",
 			  matched_events, current_event, test[i].num_events);
 		TEST_TRUE(matched_events == test[i].num_events &&
diff --git a/tests/vboot_ui_legacy_clamshell_tests.c b/tests/vboot_ui_legacy_clamshell_tests.c
index 5d973e6..84f7ea7 100644
--- a/tests/vboot_ui_legacy_clamshell_tests.c
+++ b/tests/vboot_ui_legacy_clamshell_tests.c
@@ -35,7 +35,7 @@
 static int vbtlk_expect_removable;
 static int vbexlegacy_called;
 static enum VbAltFwIndex_t altfw_num;
-static uint64_t current_ticks;
+static uint32_t current_ticks;
 static int trust_ec;
 static int virtdev_set;
 static uint32_t virtdev_fail;
@@ -192,12 +192,12 @@
 	return VB2_ERROR_UNKNOWN;
 }
 
-void VbExSleepMs(uint32_t msec)
+void vb2ex_msleep(uint32_t msec)
 {
-	current_ticks += (uint64_t)msec * VB_USEC_PER_MSEC;
+	current_ticks += msec;
 }
 
-uint64_t VbExGetTimer(void)
+uint32_t vb2ex_mtime(void)
 {
 	return current_ticks;
 }
@@ -1541,7 +1541,7 @@
 		"  blank screen");
 	TEST_EQ(tpm_set_mode_called, 0, "  no tpm call");
 	TEST_EQ(vbexlegacy_called, 0, "  not legacy");
-	TEST_EQ(current_ticks, 30 * VB_USEC_PER_SEC,
+	TEST_EQ(current_ticks, 30 * VB2_MSEC_PER_SEC,
 		"  waited for 30 seconds");
 
 	/* Esc key pressed. */
@@ -1568,7 +1568,7 @@
 		"  blank screen");
 	TEST_EQ(tpm_set_mode_called, 0, "  no tpm call");
 	TEST_EQ(vbexlegacy_called, 0, "  not legacy");
-	TEST_TRUE(current_ticks < VB_USEC_PER_SEC, "  didn't wait long");
+	TEST_TRUE(current_ticks < VB2_MSEC_PER_SEC, "  didn't wait long");
 
 	/* Power button pressed but not released. */
 	ResetMocks();
diff --git a/tests/vboot_ui_legacy_menu_tests.c b/tests/vboot_ui_legacy_menu_tests.c
index 6fa2d40..324c6b4 100644
--- a/tests/vboot_ui_legacy_menu_tests.c
+++ b/tests/vboot_ui_legacy_menu_tests.c
@@ -190,8 +190,8 @@
 {
 	if (screens_count < ARRAY_SIZE(screens_displayed))
 		screens_displayed[screens_count++] = screen;
-	printf("VbDisplayScreen: screens_displayed[%d] = %#x\n",
-	       screens_count - 1, screen);
+	VB2_DEBUG("screens_displayed[%d] = %#x\n",
+		  screens_count - 1, screen);
 	return VB2_SUCCESS;
 }
 
@@ -201,11 +201,11 @@
 	if (screens_count < ARRAY_SIZE(screens_displayed))
 		screens_displayed[screens_count++] = screen;
 	else
-		printf("Ran out of screens_displayed entries!\n");
-	printf("VbDisplayMenu: screens_displayed[%d] = %#x,"
-	       " selected_index = %u, disabled_idx_mask = %#x\n",
-	       screens_count - 1, screen,
-	       selected_index, disabled_idx_mask);
+		VB2_DEBUG("Ran out of screens_displayed entries!\n");
+	VB2_DEBUG("screens_displayed[%d] = %#x,"
+		  " selected_index = %u, disabled_idx_mask = %#x\n",
+		  screens_count - 1, screen,
+		  selected_index, disabled_idx_mask);
 
 	return VB2_SUCCESS;
 }
@@ -216,13 +216,12 @@
 	return VB2_SUCCESS;
 }
 
-vb2_error_t VbExBeep(uint32_t msec, uint32_t frequency)
+void vb2ex_beep(uint32_t msec, uint32_t frequency)
 {
 	if (beeps_count < ARRAY_SIZE(beeps_played))
 		beeps_played[beeps_count++] = frequency;
-	printf("VbExBeep: beeps_played[%d] = %dHz for %dms\n",
-	       beeps_count - 1, frequency, msec);
-	return VB2_SUCCESS;
+	VB2_DEBUG("beeps_played[%d] = %dHz for %dms\n",
+		  beeps_count - 1, frequency, msec);
 }
 
 void vb2_enable_developer_mode(struct vb2_context *c)
@@ -237,7 +236,7 @@
 {
 	int i;
 
-	printf("Testing VbBootDeveloperLegacyMenu()...\n");
+	VB2_DEBUG("Testing VbBootDeveloperLegacyMenu()...\n");
 
 	/* Proceed after timeout */
 	ResetMocksForDeveloper();
@@ -1252,14 +1251,14 @@
 	TEST_EQ(beeps_count, 0, "  no beeps for debug info");
 
 
-	printf("...done.\n");
+	VB2_DEBUG("...done.\n");
 }
 
 static void VbBootRecTest(void)
 {
 	int i;
 
-	printf("Testing VbBootRecoveryLegacyMenu()...\n");
+	VB2_DEBUG("Testing VbBootRecoveryLegacyMenu()...\n");
 
 	/* Shutdown requested in BROKEN */
 	ResetMocks();
@@ -1842,14 +1841,14 @@
 	TEST_EQ(screens_count, 3, "  no extra screens");
 	TEST_EQ(beeps_count, 0, "  no beeps");
 
-	printf("...done.\n");
+	VB2_DEBUG("...done.\n");
 }
 
 static void VbTestLanguageMenu(void)
 {
 	int i;
 
-	printf("Testing VbTestLanguageMenu()...\n");
+	VB2_DEBUG("Testing VbTestLanguageMenu()...\n");
 
 	/* Navigate to language menu from BROKEN */
 	ResetMocks();
@@ -2030,14 +2029,14 @@
 	TEST_EQ(screens_count, i, "  no extra screens");
 	TEST_EQ(beeps_count, 0, "  no beeps");
 
-	printf("...done.\n");
+	VB2_DEBUG("...done.\n");
 }
 
 static void VbNavigationTest(void)
 {
 	int i;
 
-	printf("Testing long navigation sequences...");
+	VB2_DEBUG("Testing long navigation sequences...");
 
 	/*
 	 * NOGOOD, OPTIONS, LANGUAGE, TODEV, LANGUAGE, TODEV,