From 47fb5dc037d368cd374562df21200dd33665343f Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 23 Oct 2025 19:35:39 -0400 Subject: kern: clkdev: Add usleep() to HPET and all clkdevs Signed-off-by: Ian Moffett --- src/sys/arch/amd64/io/hpet.c | 7 +++++++ src/sys/include/os/clkdev.h | 1 + 2 files changed, 8 insertions(+) diff --git a/src/sys/arch/amd64/io/hpet.c b/src/sys/arch/amd64/io/hpet.c index d733d9b..b6ae483 100644 --- a/src/sys/arch/amd64/io/hpet.c +++ b/src/sys/arch/amd64/io/hpet.c @@ -121,6 +121,12 @@ hpet_msleep(size_t ms) return hpet_sleep(ms, 1000000000000); } +static int +hpet_usleep(size_t us) +{ + return hpet_sleep(us, 1000000000); +} + /* * Get time since init in usec */ @@ -184,6 +190,7 @@ hpet_init(void) clkdev.name = "IA-PC HPET"; clkdev.attr = CLKDEV_MSLEEP | CLKDEV_GET_USEC; clkdev.msleep = hpet_msleep; + clkdev.usleep = hpet_usleep; clkdev.get_time_usec = hpet_time_usec; if (clkdev_register(&clkdev) < 0) { printf("hpet_init: could not register clock device\n"); diff --git a/src/sys/include/os/clkdev.h b/src/sys/include/os/clkdev.h index e70d91b..928a2c5 100644 --- a/src/sys/include/os/clkdev.h +++ b/src/sys/include/os/clkdev.h @@ -51,6 +51,7 @@ struct clkdev { const char *name; int(*msleep)(size_t ms); + int(*usleep)(size_t usec); size_t(*get_time_usec)(void); uint16_t attr; }; -- cgit v1.2.3