Linux里的高精度时间计时器(HPET)驱动 【ChatGPT】

简介: Linux里的高精度时间计时器(HPET)驱动 【ChatGPT】

高精度事件计时器(High Precision Event Timer,HPET)是根据Intel和Microsoft的规范(修订版1)设计的硬件。

每个HPET都有一个固定速率的计数器(在10+ MHz,因此称为“高精度”),最多可以有32个比较器。通常提供三个或更多的比较器,每个比较器都可以生成单次中断,至少有一个比较器具有额外的硬件支持周期性中断。比较器也被称为“定时器”,这可能会让人产生误解,因为通常定时器是相互独立的...而这些定时器共享一个计数器,使重置变得复杂。

HPET设备可以支持两种中断路由模式。在一种模式下,比较器是额外的中断源,没有特定的系统角色。许多x86 BIOS编写者根本不路由HPET中断,这就阻止了使用该模式。它们支持另一种“传统替代”模式,其中前两个比较器阻止来自8254定时器和RTC的中断。

该驱动程序支持检测HPET驱动程序分配并在调用驱动程序模块初始化(module_init)例程之前初始化HPET。这使得使用定时器0或1作为主定时器的平台代码可以拦截HPET初始化。可以在arch/x86/kernel/hpet.c中找到此初始化的示例。

该驱动程序提供了一个类似于RTC驱动程序框架中的用户空间API。在文件samples/timers/hpet_example.c中提供了一个示例用户空间程序。

相关文章
|
3月前
|
存储 缓存 算法
Linux中的红黑树(rbtree)【ChatGPT】
Linux中的红黑树(rbtree)【ChatGPT】
46 13
|
3月前
|
存储 缓存 编译器
Linux kernel memory barriers 【ChatGPT】
Linux kernel memory barriers 【ChatGPT】
57 11
|
3月前
|
存储 缓存 Linux
Linux下的Cache和TLB刷新 【ChatGPT】
Linux下的Cache和TLB刷新 【ChatGPT】
76 11
|
3月前
|
存储 Linux 测试技术
发现工作负载使用的 Linux 内核子系统 【ChatGPT】
发现工作负载使用的 Linux 内核子系统 【ChatGPT】
53 11
|
3月前
|
缓存 安全 Unix
Linux 内核黑客不可靠指南【ChatGPT】
Linux 内核黑客不可靠指南【ChatGPT】
|
3月前
|
Linux API SoC
Linux电压和电流调节器框架 【ChatGPT】
Linux电压和电流调节器框架 【ChatGPT】
|
3月前
|
Linux API 调度
关于在Linux内核中使用不同延迟/休眠机制 【ChatGPT】
关于在Linux内核中使用不同延迟/休眠机制 【ChatGPT】
|
3月前
|
测试技术 Linux API
GPIO 驱动接口 【ChatGPT】
GPIO 驱动接口 【ChatGPT】
|
3月前
|
Linux 测试技术 芯片
在Linux中使用GPIO线【ChatGPT】
在Linux中使用GPIO线【ChatGPT】
|
3月前
|
Linux 测试技术 API
Linux PWM接口概述 【ChatGPT】
Linux PWM接口概述 【ChatGPT】