2009-07-01から1ヶ月間の記事一覧

OpenBSD/sgi on octane2 - ipi割り込み その3

void mips64_ipi_init(void) { unsigned cpu = cpu_number(); int ret; ret = xheart_intr_establish(mips64_ipi_intr, NULL, HEART_INTR_IPI(cpu), IPL_HIGH, "ipi"); if (ret) panic("xheart_intr_establish failed:%d\n", ret); } 間違えて引数に割り込み…

第一回 カーネル/VM探検隊の発表内容が決まりました

第一回カーネル/VM探検隊 日時:2009年8月10日 16:00〜19:00 (※一時間延びました!) 場所:株式会社ライブドア ネットワーク事業部 セミナールーム 大きな地図で見る 発表内容: 田胡教授「UNIXの昔話とOSの将来」 @oza_x86「Linux KVMのコードを追ってみ…

第一回カーネル/VM探検隊の開催時刻の変更

まさかの時間切れという事態を防ぐため、1時間延ばします。 http://groups.google.com/group/kernelvm/browse_thread/thread/5cf26d4c5117f14f/0b82b55fe1b10484?hl=ja#0b82b55fe1b10484

OpenBSD/sgi on octane2 - ipi割り込み その2

cpu1を一旦切って、cpu0だけでIPI割り込みのテストを続行中。 Linuxのコードと見比べたが、IRQとかは今ので正しいような気がする。 が、どうしても割り込み入らない。絶対初期化が間違ってると思うので、その辺りを家宅捜索中。 int xheart_intr_establish(i…

隅田川花火大会の写真

隅田川花火大会1 posted by (C)驟雨 一枚だけちょっと加工してみた。どうだろうか。

The Stanford GraphBaseと文芸的プログラミング

DHT周りの研究の為にgt-itmっていうネットワークのトポロジモデルを生成するツールについて調べてたら、データ形式にThe Stanford GraphBaseという形式が使われていたので、これを扱う為のコードを調べてみたらクヌース先生の書いたコードなんすね、これ。な…

ns-3というのもあるんだけれど

GSOC2009Projects - Nsnam ここを読んでみると、「Large Scale Topology Generation and Management」はGSOC2009のテーマ、となっている。 まだ実装はないかぁ。という訳で、こちらは使えそうにないな。 C++ベースの実装にPythonのバインディングがついてく…

キムチいためを作ってみた

キムチって炒めるとおいしいよね。豚キムチとかキムチチゲの時とかに炒めるけどさ。 あれって、単独で炒めてもおいしいんじゃなかろうか?と思って早速作ってみたよ。 作り方 フライパンにごま油をひく。薄切りにしたニンニクを投下して、香りがたつ迄炒める…

ns-2はOTclとTclCLを使って実装されてるのか。ほぉ〜

両方とも見た事も聞いた事も無いんだが、どうもOTclはオブジェクト指向なTcl、TclCLはOTclをC++にバインドするライブラリらしい。 なんでそんなもん使ってんだろ。まぁ、シミュレーションシナリオ自体は読みやすそうだし(今の所)そんなに訳のわからない文…

ns-2の使い方を調べてる

gt-itmで生成したsgbファイルをJavaでパースして自前で実装したネットワークシミュレータに食わせようかと思っていたが、実現方法が分からない。というか、sgbファイルの構造がよく分からないのだな。 そもそもこれは、ネットワークを表現する為のものじゃな…

なんぞこれ

もう乗っちゃってるやん!

某雑誌社さんからGenkidamaの雑誌掲載許可のお願いが来ましたよ、と

テスト版なのに載せるのはどうかと思ったが、面白そうなので良いですよと返事してみた。 はて、本当に乗るのだろうか?

OpenBSD/sgi on octane2 - ipi割り込み

取り合えず実装してみたんだが、動いていない模様。 うーん。xheartのデータシートが欲しいよう。HEART_INTR_IPI(x)はHEART_INTR_MAXよりデカいけど正しいのか分からない。 HEART_IMR(0)はHEART_IMR(cpu_number())に書き直した。 Index: xbow/xheartreg.h ==…

OpenBSD/sgi on octane2 - clock割り込み

cpu1でclock割り込みを起こしてみた。cpu_hatchでcpu_initclocks()を呼び、statusレジスタで割り込み有効にする。 void prom_cpu_hatch(struct cpu_info *ci) { char *cp; void *gp, *sp; asm volatile( "move %0, $gp\n" "move %1, $sp\n" : "=r"(gp), "=r"…

第一回カーネル/VM探検隊のお知らせ

OS

Google グループより転載:第一回カーネル/VM探検隊の開催日時が決まりました。 日時:2009年8月10日 16:00〜18:00 場所:株式会社ライブドア ネットワーク事業部 セミナールーム(http://corp.livedoor.com/company/map.html) 今の所決まっている参加者は…

OpenBSD/sgi on octane2 - xheartreg.h, xheart.c

OpenBSD/sgiにもheartを制御するコードが入っていた。 単純に割り込みコントローラとして使っているように見える。 IPIは割り込みコントローラを直接叩くと割り込むという構造なのだろう。 /* $OpenBSD: xheartreg.h,v 1.2 2009/04/18 14:48:09 miod Exp $ *…

ruby/json

http://json.rubyforge.org/ 高々jsonのパーサーを実装するのにも結局Cを用いている。 いや、速いだろうよ。でもなんか、それってrubyが遅いって言ってしまっている気がしてならんし、気分的にしっくりこないなー。 1.9系ではこういう事しないですむくらいに…

Ruby/DBI + MySQLで日付型のタイムゾーンが変

これはバグちゃうのか。設定の問題なのか??? #!/usr/bin/ruby require 'dbi' dbh = DBI.connect("DBI:Mysql:dbname:hostname", "username", "password") sth = dbh.execute('SELECT NOW()') sth.fetch do |row| p row[0] p row[0].to_time p Time.now p (…

OpenBSD/sgi on octane2 - heart.h

Linux/sgi octaneのheart.hを全文掲載しておく。 /* * Copyright (C) 2004,5 Stanislaw Skowronek */ #ifndef _HEART_H #define _HEART_H /* HEART internal register space */ #define HEART_PIU_BASE 0x900000000FF00000 /* full addresses */ #define HEA…

OpenBSD/sgi on octane2 - HEARTというデバイス

octaneではHEARTというデバイスからIPIを送受信するようだ。こちらはLinuxのIPI送信部分のコード: /* HEART internal register space */ #define HEART_PIU_BASE 0x900000000FF00000 /* full addresses */ #define HEART_MODE ((volatile unsigned long *)H…

OpenBSD/sgi on octane2 - cpu1デバッグ用のcom1向け簡易printfの実装 その2

printf関係ないけど、要らんコードをちょっと捨てた。 #define COM_NPORTS 8 #define COMBBUF_SIZE 2048 int combfreq = 22000000 / 3; int combrate = (B9600); bus_addr_t combaddr = 0x500000 + IOC3_UARTB_BASE; bus_space_tag_t combiot = &sys_config.…

OpenBSD/sgi on octane2 - cpu1デバッグ用のcom1向け簡易printfの実装

調子にのってprintfも実装した。 #define COM_NPORTS 8 #define COM_FREQ 1843200 /* 16-bit baud rate divisor */ #define COMBBUF_SIZE 2048 int combfreq = 22000000 / 3; int combrate = TTYDEF_SPEED; bus_addr_t combaddr = 0x500000 + IOC3_UARTB_BAS…

OpenBSD/sgi on octane2 - cpu1デバッグ用のcom1向け簡易putcの実装 その2

>・・・・何故かcom0へ出力されてる。 そらそうだろ。 static void combputc(int c) { com_common_putc(comconsiot, comconsioh, c); } だって、com0へ出力してるもん、これ(comconsiot, comconsioh)。 って訳で書き換え。 static void combputc(int c) { …

MacBookの外部ディスプレイ出力コネクタがMini Display Portになっている件について

いや、確かに高機能で先進的で将来の標準規格(候補)なのは分かります。 1ポートで3台まで同時接続:MacBookでお手軽にマルチディスプレイ環境が作れる――IDTのDisplayPortソリューション「VMM1300」 - ITmedia PC USER とかね。確かにVGAとかDVIとは世代が…

OpenBSD/sgi on octane2 - cpu1デバッグ用のcom1向け簡易putcの実装

実装つってもdev/ic/com.cのコピペな訳だが、printfが動いてないかもしれないって事でcom1へダイレクトに出力が行えるコードを実装しようとしてみた。 #define COM_NPORTS 8 #define COM_FREQ 1843200 /* 16-bit baud rate divisor */ int combfreq = 220000…

JavaVMがaccess violationで落ちやがった。

Genkidamaのテストの為に最新のコードをずっと起動しといたら、次の日みたらこんなエラーで死んでた。 # # An unexpected error has been detected by Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d0aeb64, pid=1632, …

OpenBSD/sgi on octane2 - ひ〜

ずっと嵌りまくってて今やっと自分が以前いじってたコードの正常動作が確認出来た。 そうか、cpuを1コアだけ動作させる時もoption MULTIPROCESSORを指定しないと起動してこないコードになってたのか(バグだよそれ。気がつかないで一週間過ぎてるしorz こっ…

カーネル/VM探検隊

OS

id:big-eyed-hamster さんと夏休みに勉強会でもやりませんかーという話をして、「カーネル/VM探検隊」という名前を付けてみたw けど何をやるのか全然まだ決めてないww

OpenBSD/sgi on octane2 - cvs upしたらコンフリクトしまくってひどい目にあった件

どうせ大して更新されていないだろうとタカをくくって、何も考えずにcvs upしたらlocoreなあたりがコンフリクトしまくって収集つかなくなった。 やっと差分をみながらマージしたけど、うまく動かなくて結局捨てて元に戻すことにした。 cvs upは計画的に。い…