linuxのメモ

Linux kernelの実装を解説していきます (対象ver 4.5)

2016-03-10から1日間の記事一覧

アドレッシング - phys_addr_valid()

概要 有効な物理アドレスを示すアドレスか確認する 詳細 CONFIG_PHYS_ADDR_T_64BITが無効な場合は常に有効なアドレスと判断されるが、MAX_PHYSMEM_BITS*1以上のbitが立っていない場合のみ有効となる *1:この値は32bitモードとPAEモード、64bitモードで異なる…

HPET - is_hpet_capable()

概要 HPETが有効か確認する 詳細 boot_hpet_disableが0でかつ、hpet_addressが0以外の場合にHPETが有効と判断する

時間管理 - vread_hpet()

概要 HPETから現在時間を取得する 詳細 hpet_page*1の先頭からHPET_COUNTER*2バイト目から32bit分のデータを取得する *1:arch/x86/entry/vdso/vdso-layout.lds.Sのリンカスクリプト内で定義され、1ページ(4KB)分の領域を持ち、hpet_enable()で初期化される *…