From bc26deca0a67063b135f17fd068dd4207ebe2b10 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Sun, 21 Sep 2025 00:33:55 -0400 Subject: kern/amd64: hpet: Register HPET with clkdev Signed-off-by: Ian Moffett --- src/sys/arch/amd64/io/hpet.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/sys/arch/amd64/io/hpet.c b/src/sys/arch/amd64/io/hpet.c index 7b7ea35..36f19a8 100644 --- a/src/sys/arch/amd64/io/hpet.c +++ b/src/sys/arch/amd64/io/hpet.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -49,6 +50,7 @@ #define CAP_NUM_TIM(caps) (caps >> 8) & 0x1F #define CAP_CLK_PERIOD(caps) (caps >> 32) +static struct clkdev clkdev; static void *hpet_base = NULL; /* @@ -157,5 +159,15 @@ hpet_init(void) hpet_write(HPET_REG_MAIN_COUNTER, 0); hpet_write(HPET_GENERAL_CONFIG, 1); printf("hpet: HPET initialized and enabled\n"); + + /* Initialize as clock device */ + clkdev.name = "IA-PC HPET"; + clkdev.attr = CLKDEV_MSLEEP; + clkdev.msleep = hpet_msleep; + if (clkdev_register(&clkdev) < 0) { + printf("hpet_init: could not register clock device\n"); + return -1; + } + return 0; } -- cgit v1.2.3