HPET Driver †
High Precision Event Timer Driver
普通の PC の HPET 構造 †
hpet.c ドライバ の HPET 構造 †
ほんの触りだけ通ります †
HPET driver が関係する事柄は多岐にわたります。それぞれを深く追っていると記述量が多くなり、書き切れなくなるのでおおよその理解で十分な範囲で説明していきます。ソースコードを読み進めてある程度自発的に理解を深めることを期待しています。
環境準備 †
HPET を有効にする †
HPET が存在するか確かめる。
$ cat /proc/iomem | grep -i HPET
feff0000-feff03ff : HPET 0
$ cd /sys/bus/acpi/devices
$ ls | grep PNP0103
PNP0103:00
Device Register †
ACPI device †
memory mapped device †
Device Node †
misc device †
file_operations †
割り込み処理 †
Share, Level Low High, Edge Rise Fall †
request_irq() free_irq() †
IRQ handler †
User context に割り込みを伝える †
poll †
signal †
blocking non-blocking †
Test Application †
hpet_sample plus †
サンプルアプリが動かない †