OpenBSD

EdgeRouter LiteでOpenBSD/OCTEONカーネルロードしてみる

Looking for valid bootloader image.... Jumping to start of image at address 0xbfc80000 U-Boot 1.1.1 (UBNT Build ID: 4493936-g009d77b) (Build time: Sep 20 2012 - 15:48) BIST check passed. UBNT_E100 r1:2, r2:12, serial #: DC9FDB2920A7 Core c…

OpenBSD/i386のパケット受信フロー

共有データとジャイアントロックの位置に注意しながら関数レベルで追ってみた(実際にはかなり簡略化しているが)。 SMP対応が全く進んでいないという事が容易に見て取れる。

さくらのVPSにOpenBSDをインストールしてみた

ふと思い立って、さくらのVPSを契約し自宅のOpenBSD鯖をそこへ移行する計画を実行に移してみる事にした。 なので、まずさくらのVPSにOpenBSDを入れる必要があるが、「カスタムOSインストール」の項目にOpenBSDは無い。ではどうするか。 他にも色々方法がある…

IIJ 次世代モジュール型エコ・データセンター 実証実験サイトでは300台のサーバが全てOpenBSDで動いている(キリッ

何故かIIJの次世代データセンタの実験施設に招待されたので見学してきた。 Geekなページのあきみちさんや東工大の首藤先生などその方面で有名な方々が集っている中、どうして私が呼ばれたんだろうと思ったがどう考えてもOpenBSD枠ですね本当にありがとうござ…

panicを解決してメモリ量が出る所まで進んだ

panicの原因はphysmemを初期化していないのが原因だったので、これにきちんと物理メモリ量を代入するように直した。 cvmctl:900043f0 cvmmemctl:46104 Unknown Boot-Descriptor: Using Defaults Boot Descriptor Ver: 0 -> 0/0 CPU clock: 500MHz Core Mask:…

Copyrightが出てpanicする所まで来た

ページテーブルを引く所でこけてるから仮想メモリ周りが悪いのかと思ったら、NULLポインタを解決しようとして何故か初期化されてないproc0のユーザ空間向けページテーブルを引いているのが原因だった。NULLポインタを関数コールしてるコンソール周りを直した…

OpenBSD/OCTEONが起動しなかった

ページング周りが全然ダメで、仮想アドレス使い始めた瞬間に死んでしまう使えないシロモノが出来上がった。 その辺のコードはどのMIPSでも大体共通で、特にOCTEONで気をつけるべき部分は無いかと思っていたので、なんでうまく行かないのかよく分からず悩み中…

did2さんにOpenBSDの立派な環境構築メモを書いて頂きまんた

「もちろんOpenBSDですよね、わかります。RT @did2memo: OSなど買ってきた」 という私のTwitterでのネタつぶやきが発端でdid2さんにOpenBSDの立派な環境構築メモを書いて頂きました! こちらからどうぞ↓ OpenBSDのインストール方法詳細メモ(1) - 情報科学屋…

cpu1にIPIがかからないずら。

現状: cpu1でクロック割り込みはかかる cpu0→cpu0のIPIはかかる cpu1→cpu0のIPIはかかる cpu1→cpu1のIPIはかからない cpu0→cpu1のIPIはかからない 何となく、割り込みコントローラへの設定などなどがしくってるような気がするけど、IMR0の値もステータスレ…

IPI

Linuxを参考に、IPIのIRQをヘッダに足してみる。 Index: hub.h =================================================================== RCS file: /cvs/src/sys/arch/sgi/xbow/hub.h,v retrieving revision 1.7 diff -u -p -r1.7 hub.h --- hub.h 8 Nov 2009…

割り込みコントローラへのSMP対応コード

全く動作確認取ってないしコンパイルすら通してないけど、俺のゴーストはこれで大丈夫とささやいてるから多分大体あってるはず。 アクセスするレジスタ類はLinuxのip27のコードに合わせて、interm,imaskの配列化は以前ip30向けに実装したコードを参照。 Inde…

Exceptionはハンドル出来てるぽ

hw_cpu_hatch()で割り込み有効にしてbreakかけてddbが上がるかどうか確かめればExceptionをハンドルしてtrap出来てるか分かるという単純極まりない事実に気づいて早速試してみる。 /* * Build proper TLB refill handler trampolines. */ extern void xtlb_m…

Origin 350のセカンダリプロセッサ起動パッチを投げた

この間の起動テストコードに、CPU初期化時にセカンダリプロセッサを探してnasid, physidをstruct cpu_hwinfo secondarycpu_hwinfo[MAXCPUS]に保存し、後でこれを見に行って順に起こすというコードを足した。 でもbootcpu_hwinfoとsecondarycpu_hwinfo[]が分…

CAlias

第四回 カーネル/VM探検隊でも話した通り、Originのメモリレイアウトでは物理メモリの先頭64KBずつが各プロセッサで排他的に使えるメモリ領域として割り当てられており、実際の位置に関わらず物理アドレスは0x0になっている。 ので、Exception Vectorがこの…

少々手直ししてコミット

久しぶりにコードをコミットした。リハビリ中な気分。 +#ifdef MULTIPROCESSOR +LEAF(getcurcpu, 0) + GET_CPU_INFO(v0, v1) + jr ra +END(getcurcpu) nopで埋め忘れてる。 +#ifdef MULTIPROCESSOR +LEAF(getcurcpu, 0) + GET_CPU_INFO(v0, v1) + jr ra + no…

curcpu()の仕様を変えたい in OpenBSD/sgi

OpenBSDでカレントプロセッサのcpu_info(※per-CPUなデータを保存する構造体)のポインタを取得するにはcurcpu()というマクロを呼ぶのだが、現状のOpenBSD/sgiではこんな風になっている: #define curcpu() cpu_info[cpu_number()] で、cpu_number()はハード…

Origin 350でのセカンダリプロセッサ起動テスト/Secondary processor launch test on Origin 350

前にも書いた通り、cpu0,cpu1,cpu2の3つを認識させ、cpu1を無効なまま放置してcpu2を起動するのがファーストステップである。As I mentioned before, detect cpu0, cpu1, cpu2 and leave cpu1 disabled and launch cpu2 is the first step. Index: sgi/sgi/…

Origin 350 SMP化作業の見立て

取り敢えず、最小限の作業で手元の2コア1ノード構成が動くまでにやらねばならぬ事。・スレーブCPUの起動、LAUNCHで。 ・Exceptionテーブルコピー、uvmでの使用禁止などプライベートエリアの手当て ・取り敢えずcpu0,cpu2がオンラインでcpu1がオフラインに見…

LAUNCH on SGI Origin 350

プロセッサの検出はKLCONFIGで出来る事が分かったが、起動はどうしているのだろうか。 Linuxでは、arch/mips/sgi-ip27/ip27-smp.cにこんな事が書いてある: static void __cpuinit ip27_boot_secondary(int cpu, struct task_struct *idle) { unsigned long …

KLCONFIG on SGI Origin 350

Linuxのソースコードを読んでいくと、どうもCPU構成の情報はKLCONFIGという所から読み込んでやればいいらしい事が分かる。arch/mips/sgi-ip27/ip27-smp.cというファイルを覗くとこんな関数がある: static int do_cpumask(cnodeid_t cnode, nasid_t nasid, i…

SGI Origin 350でSMP

まだ分かってない事も多いのだが、追々調べる。 Originのコンセプト これは、ディスプレイコネクタもなく2Uである事からも分かるように、デスクサイドに置くようなタイプのマシンでなくラックに詰め込んで何らかの処理(レンダリングファーム用?それともHP…

undeadly.orgでやたらと持ち上げられた

http://undeadly.org/cgi?action=article&sid=20100405232242 I realized that Takuya is a Japanese Internet rockstar with his own twitter following. He's not your typical Japanese person. In fact, you would never guess that he was a kernel hac…

【一発】SGI Origin 350の起動時にエラーが出る件、治ったよ。【解決】

http://nekochan.net/の人達や@shigefumiさん達にIO9やメモリ、CPUとかを一度抜いて挿し直してみろ!と言われたので、試しにやってみた。 これ、IO9ボード。SCSIとATAとイーサーネットコントローラが乗ってるっぽい。 一度抜いて挿し直してみる。あっさり治…

SGI Origin 350が我が家に来た件

TheoがSGI Origin 350を私に買い与えてくださいました。こんな子: 起動音: http://www.twitvid.com/DF792だがしかし、正常に起動してこない。もともとジャンクに近い扱いで大幅に安くしてもらったものなので、どこか壊れているかもしれない…。 どうしたも…

OpenBSDのftpのwelcomeメッセージがひどい

ふぐが…ふぐが…><;;;

Ustream recorded movies of AsiaBSDCon 2010

Soon refined movies will uploaded to Youtube, until it, you can see movies here: Day 3 Room A http://www.ustream.tv/recorded/5395983 http://www.ustream.tv/recorded/5396256 http://www.ustream.tv/recorded/5397759 http://www.ustream.tv/record…

AsiaBSDCon 2010で"SMP implementation for OpenBSD/sgi"と題して発表してきました

動画:http://www.ustream.tv/recorded/5403563 スライド:http://www.slideshare.net/syuu1228/smp-implementation-for-openbsdsgi 論文:http://www.openbsd.org/papers/asiabsdcon2010_smp_for_sgi.pdf ペース配分がイマイチだったという指摘はあったもの…

AsiaBSDCon 2010でお話します

大事な事なので何度も言うよ! AsiaBSDConでお話する事になりました。 私の発表は2010/3/13 15:30〜です。 AsiaBSDCon 2010 - 会議日程題名は、SMP Implementation for OpenBSD/sgiです。 まぁ、今までのOpenBSD workのまとめですね。 登録費がかなり高く、…

【自筆/.JPコメより転載】OpenBSD meets YUREX これまでの経緯

訳の分からない人が多いと思いますので、これまでの経緯をまとめてみました。2010/2/24に第三回 カーネル/VM探検隊のLTで@yojiroさんがOpenBSD向けのYUREXドライバ「uyurex(4)」を発表、OpenBSD 4.8へのマージ・明和電機公認OS化を目指す事を宣言発表資料:…

【速報】YUREX driver for OpenBSDなuyurex(4)がOpenBSD-currentへマージされました( ゚д゚)

この間の第三回 カーネル/VM探検隊で@yojiroさんが発表されていたYUREXのOpenBSD向けドライバ uyurex(4)がOpenBSD-currentへマージされちゃいました。CVS log for src/sys/dev/usb/Attic/uyurex.c add uyurex(4) which is device driver for YUREX twitch c…