[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

不完全な訳



pemon@geocities.co.jp こと諏訪と申します。
http://www.jp.netbsd.org/Documentation/kernel/porting-freebsd-net.html
の不完全な訳を持っております。
他にこの部分の翻訳をやってる方がおられないなら、HTML化まで下名が
やりたいと思います。

(ここから)
NetBSD Documentation:
NetBSD ドキュメンテーション:

Notes on porting FreeBSD network drivers to NetBSD
NetBSD に FreeBSD ネットワークドライバーを移植する上での注意点

Introduction
導入

Matthias Drochner has collected these notes of differences encountered
while porting FreeBSD network drivers to NetBSD, in the hope that it
will be helpful.
Matthias Drochner 氏は、これから NetBSD に FreeBSD のネットワークドライ
バを移植する際の助けになることを期待して、
NetBSD に FreeBSD のネットワークドライバを移植した時に遭遇した相違のメモ

を集めました。

Simple include file and definition stuff
基本的インクルードファイルと定義要素

#include file names/locations are quite different
# 組み込みファイル名/場所は非常に異なっています。

packetfilter
パケットフィルター

FreeBSD: "BPF"
NetBSD: "BPFILTER"

[Looks gratuitous; seems to differ a lot between OSes (DEC:
"packetfilter")]
[多くの OS 間の差異は、 根拠が無い様に見えます。 (DEC社では
"packetfilter" と呼んでいます。)]

NetBSD needs to include "opt_inet.h" and "opt_ns.h"
NetBSD は「 opt_inet.h 」と「 opt_ns.h 」を含む必要があります。

Global variable "bootverbose" doesn't exist on NetBSD
グローバル変数 "bootverbose" が NetBSD には存在しません。

NetBSD has central PCI ID database and PCI register definitions
NetBSD は主要な PCI IDデータベースと PCI レジスタ定義を持っています。

if_media: FreeBSD: IFM_1000_SX, NetBSD: IFM_1000_FX

[There is nothing like 1000_FX - NetBSD is wrong]
[1000_FX の様なものはありません。  ? NetBSDは間違っています。]

Different stuff in <sys/queue.h>
<sys/queue.h> の中の異なった要素

(Nothing like SLIST in NetBSD)
(SLIST の様な物は NetBSD の中にありません。)

[Name differences gratuitous, but an SLIST-like thing could be useful
for NetBSD (less overhead than SIMPLEQ)]
[名前の相違には根拠が無い。しかし SLIST の様なものは NetBSD にとって有
用で有り得る。( SIMPLEQ よりオーバーヘッドが少ない。)]

Framework, not network specific
ネットワーク特性でない機構

Different autoconfiguration framework
異なった自動設定の機構

Printouts with device name
デバイス名と共に印字されるもの

FreeBSD: name:unit
NetBSD: xname

(Similar in "struct ifnet")
(「 ifnet 構造体」は類似しています。)

Interrupt handler void on FreeBSD, int on NetBSD
割り込みハンドラーは FreeBSD では void 型、 NetBSD では int 型です。

[Detection of stray interrupts???]
[脇にそれる割り込み???の検出]

bus.h: access to virtual address for mapped range
bus.h: マッピングされた範囲に対する仮想のアドレスにアクセスする。

(it is usually best to just avoid linear mappings, since not all
hardware supports it, but when absolutely necessary,
BUS_SPACE_MAP_LINEAR should provide this)
(全てのハードウェアがそれをサポートしない間は、線形のマッピングを回避す

るのに、それは通常最も良い方法です。しかし絶対的に必要である時は、
BUS_SPACE_MAP_LINEAR がこれを供給するべきです。)

[Missing in NetBSD's bus_space framework. Potential source of
inportability, use bus_space_xxx if feasible.]
[ NetBSD の bus_space 機構で欠けています。 もし実行可能であるなら、移植

不能の可能性があるソースには bus_space_xxx を使って下さい。]

bus_dma issues (FreeBSD has still old functions)
bus_dma 問題( FreeBSD はもっと古い機能を使っている。)

Network stuff
ネットワーク要素

External mbuf storage handling
外部の mbuf ストレージハンドリング

FreeBSD: no argument to xxxfree()
FreeBSD : xxxfree () への引数がありません。

NetBSD: opaque argument to xxxfree()
NetBSD : xxxfree () へのわかりにくい引数。

FreeBSD: driver implements reference counting
FreeBSD : ドライバーがカウンティングを参照して与えている。

NetBSD: automatic reference counting
NetBSD : 自動的な参照を数える。

FreeBSD has common ether_ioctl()
FreeBSD は普通の ether_ioctl () を持っています。

[Good - eliminates common code]
[グッド (Good)  ? 普通のコードを削除します]。

"struct ether_addr" member for address bytes
アドレスバイトに対する" ether_addr 構造体" メンバー。

FreeBSD: "octet"
NetBSD: "ether_addr_octet"

[Gratuitous]
[根拠が無い]

"ethercom" vs. "arpcom" in softc
softc での "ethercom" 対 "arpcom"

[Technically, NetBSD is right]
[技術的に、 NetBSD は正しいです。]

Access to ethernet address
イーサネットアドレスへのアクセス

FreeBSD: in "arpcom", accessed there
FreeBSD : "arpcom" でそこにアクセスされる。

NetBSD: passed to ether_ifattach(), accessed through ifp (LLADDR() -
watch out for alignment problems!)
NetBSD : ifp ( LLADDR ()  ? 整列問題に対して出ている監視!)を通して
アクセスされて、 ether_ifattach () に進みました。

[NetBSD can't deal with address changes at runtime]
[ NetBSD は実行時にアドレス変更を扱うことが出来ません。]

Multicast address list
マルチキャストアドレスリスト

FreeBSD: plain list at ifp->if_multiaddrs
FreeBSD : ifp -> if_multiaddrs においての明白なリスト。

NetBSD: special framework, part of "struct ethercom"
NetBSD : 特別な機構、「 struct ethercom 」の一部。

Differing members in "struct ifnet", and different initialization
(if_attach, ether_ifattach)
「 ifnet 構造体」と異なった initialization ( if_attach 、
ether_ifattach )での異なったメンバー。

-xname vs name:unit
? xname vs 名: ユニット。

-FreeBSD: xxxinit() - for use by ether_ioctl()
?  FreeBSD: xxxinit ()  ? ether_ioctl () によって使用のためです。

-Ethernet address
? イーサネットアドレス。

Arguments to bpf functions
bpf 機能への引数

FreeBSD: ifp
NetBSD: ifp->if_bpf

Passing of received packets to upper layer
受け取ったパケットの上位の層への通過

FreeBSD: ether header separate, to ether_input()
ether_input () に、別の FreeBSD :エーテルヘッダー。

NetBSD: whole packet, indirectly through ifp->ifp_input
NetBSD : 間接的に ifp -> ifp_input を通しての、パケット全体。

[Recent change in NetBSD]
[ NetBSD の最近の変更]

NetBSD has an MII framework; drivers provide register access only
NetBSD は MII 機構を持ちました。ドライバーはレジスターアクセスのみを供給

します。
(ここまで)