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

Re: Pocket PostPet



> ということをやりますが、mips の場合には、1 で確保される領域はkernel
> virtualな領域で、そのアドレスはkseg2(0xcXXXXXXX)になってしまうので、
> kernelのあるkesg0 (0x8xxxxxxx) とldでリンクしようとするとjumpのオフ
> セット(28bit?)が足りないためうまくリンクできませんでした。
> (多分これ以外の問題はないと思います。)
> 
> そのため、mipsでlkmをサポートする場合、1 でkernel内に確保する領域を
> kseg0 に取るようにするか、 2 でリンクする時になんとかする必要があり
> ます。

あぁ確かに。そういう問題がありましたね。

以前
	jump が必要な数を数える
	symbol の数だけ jump hook table をついでに確保する
	jump hook table には li t8, target; jr t8 と書いておく
	もとの kernel 内からは jump hook table に飛ばせる
とやって回避したような記憶があります:-)

尾上