From 4a6fbecab34616a7b16a859f9458a21b339bb6b0 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Sun, 2 Feb 2025 02:01:30 -0700 Subject: Have main() set `bootclock` --- libhw_generic/alarmclock.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libhw_generic/alarmclock.c') diff --git a/libhw_generic/alarmclock.c b/libhw_generic/alarmclock.c index a16f2f6..d501f51 100644 --- a/libhw_generic/alarmclock.c +++ b/libhw_generic/alarmclock.c @@ -1,6 +1,6 @@ /* libhw_generic/alarmclock.c - Device-independent utilities * - * Copyright (C) 2024 Luke T. Shumaker + * Copyright (C) 2024-2025 Luke T. Shumaker * SPDX-License-Identifier: AGPL-3.0-or-later */ @@ -9,6 +9,8 @@ #include +implements_alarmclock *bootclock = NULL; + static void alarmclock_sleep_intrhandler(void *_arg) { cid_t cid = *(cid_t *)_arg; cr_unpause_from_intrhandler(cid); -- cgit v1.2.3-2-g168b From 41ac4f8dfddc8d003cb3174d466a58fa14701d35 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Sun, 2 Feb 2025 02:01:30 -0700 Subject: libhw_generic: alarmclock: Use libobj instead of vcall.h --- libhw_generic/alarmclock.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'libhw_generic/alarmclock.c') diff --git a/libhw_generic/alarmclock.c b/libhw_generic/alarmclock.c index d501f51..7fd049e 100644 --- a/libhw_generic/alarmclock.c +++ b/libhw_generic/alarmclock.c @@ -5,22 +5,21 @@ */ #include -#include #include -implements_alarmclock *bootclock = NULL; +lo_interface alarmclock bootclock = {0}; static void alarmclock_sleep_intrhandler(void *_arg) { cid_t cid = *(cid_t *)_arg; cr_unpause_from_intrhandler(cid); } -void alarmclock_sleep_until_ns(implements_alarmclock *clock, uint64_t abstime_ns) { +void alarmclock_sleep_until_ns(lo_interface alarmclock clock, uint64_t abstime_ns) { bool saved = cr_save_and_disable_interrupts(); cid_t cid = cr_getcid(); struct alarmclock_trigger trigger; - VCALL(clock, add_trigger, &trigger, abstime_ns, alarmclock_sleep_intrhandler, &cid); + LO_CALL(clock, add_trigger, &trigger, abstime_ns, alarmclock_sleep_intrhandler, &cid); cr_pause_and_yield(); cr_restore_interrupts(saved); } -- cgit v1.2.3-2-g168b