Skip to content

intel e1000公式freebsdドライバの自作OSへの移植

Notifications You must be signed in to change notification settings

osdev-jp/e1000_freebsd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intel E1000 NIC FreeBSDドライバの自作OSへの移植

移植方針

基本的には、Intel E1000 FreeBSDドライバをコピーしてきて、FreeBSDカーネル内の関数、 定数を定義してあげるだけ。全てを定義しているわけではなく、不要な部分については コメントアウト等で雑に対応している部分もあり。

ラッパー関数は自作OS内のfreebsdディレクトリ(本リポジトリには含まれていない)に 定義したり、e1000_raph.h/ccに定義したりしている

// いつか綺麗にしたい

改良部分

if_em.cc, if_lem.ccはFreeBSD依存部なので、主にこのコードを改造する事で、パケット処理の 流れを自作OS側に寄せてる。em.h/cc, lem.h/cc, bem.hで自作OSのC++インターフェースとリンク させている。

依存関係

自作OS側で以下を実装する必要がある(このリポジトリには含まれていない)

  • PCI Expressサポート
  • タイマー
  • ロック
  • 仮想メモリ管理
  • 物理メモリ管理

注意

自作OS側でポーリングで処理したかったので、割り込みについては全くの未対応 また、デバドラが開放される事態については全く考慮していない

About

intel e1000公式freebsdドライバの自作OSへの移植

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published