OpenBSD/sgi on octane2 - あ、うごいた
MPCONFにセットされたアドレスを確認していったら、なぜかMP_STACKADDR(1)に0x4000とか入ってた。
extern char *kstack; MP_STACKADDR(1) = (unsigned long)(kstack + USPACE);
とかしてたのを
extern unsigned char kstack[]; MP_STACKADDR(1) = (unsigned long)(kstack + USPACE);
に書き換えたら正しくなった。
#指している先は別ファイルのunsigned char kstack[USPACE];なんだが
ああん?なぜ?どゆこと?
多分、kstack == 0x0になってたんだと思うんだけど、そんなことって起きるんだろうか。ようわからん。