diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/sys/arch/amd64/io/hpet.c | 7 | ||||
| -rw-r--r-- | src/sys/include/os/clkdev.h | 1 |
2 files changed, 8 insertions, 0 deletions
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; }; |
