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

[pbsd-mg2] Re: Happy New Year



> そうした場合、実際に PocketBSD 用に アプリケーションを開発するとき
> mg2,mccs,freetype など 機種名が欲しくなります。この場合本当は、
> uname で取れるのが望ましいと思います。

NetBSD の場合、uname -m で、MACHINE が、uname -p で MACHINE_ARCH がとれます。
機種依存部分は、描画関係のライブラリ (Xserver?) やデバイスドライバのイ
ンターフェースで隠してしまって、userland のバイナリは基本的に共通に動
くようにしておくのがいいんじゃないでしょうか。
もし、これが可能ならば、機種名は必要じゃないように思います。

NetBSD の uname -p (MACHINE_ARCH) は将来的に、mipseb (big endian) と 
mipel (little endian) に別れるかもしれません。(ソースディレクトリは 
mipseb/mipsel ともに mips を共有する状態のままです。)

> #define MACHINE_ARCH	mips
> #define MACHINE	mg2
> 
> でもいいと思いますし、
> 
> #define MACHINE_ARCH	vr4100
> #define MACHINE	mg2
> 
> 当面 バイナリの互換性が 取れないと思いますから
> でもいいような気がします。

userland のバイナリの互換性の問題というのは、floating でしょうか。
soft-float 必須とし、NetBSD/mipsel バイナリとの互換性を諦めるとすると、
MACHINE_ARCH も変えた方が良いかもしれませんね。
floating なしの mipsel を表す良い名前ってないでしょうかね。
(vr4100 以外もありますよね?)

> (どちらかと言うと  mips にしておいた方が無難かなぁ)

確かに悩むところだと思います。

> さらに、PocketBSD であること その機種名も 静的(define)/動的(uname)
> に知ることができないと困るでしょう。

困るでしょうか。ここはちょっと理由が良くわかりません。

>   |sys/arch/mips はすでに存在するので、これは使えないです...
>   |あと、CE マシンの MIPS には NEC VR じゃないヤツもあるようです。
>   | どの程度違うか/同じかよくわからないんですけど。
> 
> フィリップスの r3900 系 のチップが多いようですが、
> 周辺が別もののようですから、この際 考えなくていいのではないでしょうか。

MACHINE_ARCH は、CPU アーキテクチャおよび、userland のバイナリの互換性
を示すので、周辺はあまり関係ないと思います。
MACHINE の方には、当然関係ありますが…
--
soda