2009-07-01から1ヶ月間の記事一覧
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探検隊 日時:2009年8月10日 16:00〜19:00 (※一時間延びました!) 場所:株式会社ライブドア ネットワーク事業部 セミナールーム 大きな地図で見る 発表内容: 田胡教授「UNIXの昔話とOSの将来」 @oza_x86「Linux KVMのコードを追ってみ…
まさかの時間切れという事態を防ぐため、1時間延ばします。 http://groups.google.com/group/kernelvm/browse_thread/thread/5cf26d4c5117f14f/0b82b55fe1b10484?hl=ja#0b82b55fe1b10484
cpu1を一旦切って、cpu0だけでIPI割り込みのテストを続行中。 Linuxのコードと見比べたが、IRQとかは今ので正しいような気がする。 が、どうしても割り込み入らない。絶対初期化が間違ってると思うので、その辺りを家宅捜索中。 int xheart_intr_establish(i…
隅田川花火大会1 posted by (C)驟雨 一枚だけちょっと加工してみた。どうだろうか。
DHT周りの研究の為にgt-itmっていうネットワークのトポロジモデルを生成するツールについて調べてたら、データ形式にThe Stanford GraphBaseという形式が使われていたので、これを扱う為のコードを調べてみたらクヌース先生の書いたコードなんすね、これ。な…
GSOC2009Projects - Nsnam ここを読んでみると、「Large Scale Topology Generation and Management」はGSOC2009のテーマ、となっている。 まだ実装はないかぁ。という訳で、こちらは使えそうにないな。 C++ベースの実装にPythonのバインディングがついてく…
キムチって炒めるとおいしいよね。豚キムチとかキムチチゲの時とかに炒めるけどさ。 あれって、単独で炒めてもおいしいんじゃなかろうか?と思って早速作ってみたよ。 作り方 フライパンにごま油をひく。薄切りにしたニンニクを投下して、香りがたつ迄炒める…
両方とも見た事も聞いた事も無いんだが、どうもOTclはオブジェクト指向なTcl、TclCLはOTclをC++にバインドするライブラリらしい。 なんでそんなもん使ってんだろ。まぁ、シミュレーションシナリオ自体は読みやすそうだし(今の所)そんなに訳のわからない文…
gt-itmで生成したsgbファイルをJavaでパースして自前で実装したネットワークシミュレータに食わせようかと思っていたが、実現方法が分からない。というか、sgbファイルの構造がよく分からないのだな。 そもそもこれは、ネットワークを表現する為のものじゃな…
もう乗っちゃってるやん!
テスト版なのに載せるのはどうかと思ったが、面白そうなので良いですよと返事してみた。 はて、本当に乗るのだろうか?
取り合えず実装してみたんだが、動いていない模様。 うーん。xheartのデータシートが欲しいよう。HEART_INTR_IPI(x)はHEART_INTR_MAXよりデカいけど正しいのか分からない。 HEART_IMR(0)はHEART_IMR(cpu_number())に書き直した。 Index: xbow/xheartreg.h ==…
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"…
Google グループより転載:第一回カーネル/VM探検隊の開催日時が決まりました。 日時:2009年8月10日 16:00〜18:00 場所:株式会社ライブドア ネットワーク事業部 セミナールーム(http://corp.livedoor.com/company/map.html) 今の所決まっている参加者は…
OpenBSD/sgiにもheartを制御するコードが入っていた。 単純に割り込みコントローラとして使っているように見える。 IPIは割り込みコントローラを直接叩くと割り込むという構造なのだろう。 /* $OpenBSD: xheartreg.h,v 1.2 2009/04/18 14:48:09 miod Exp $ *…
http://json.rubyforge.org/ 高々jsonのパーサーを実装するのにも結局Cを用いている。 いや、速いだろうよ。でもなんか、それってrubyが遅いって言ってしまっている気がしてならんし、気分的にしっくりこないなー。 1.9系ではこういう事しないですむくらいに…
これはバグちゃうのか。設定の問題なのか??? #!/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 (…
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…
octaneではHEARTというデバイスからIPIを送受信するようだ。こちらはLinuxのIPI送信部分のコード: /* HEART internal register space */ #define HEART_PIU_BASE 0x900000000FF00000 /* full addresses */ #define HEART_MODE ((volatile unsigned long *)H…
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.…
調子にのって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…
>・・・・何故かcom0へ出力されてる。 そらそうだろ。 static void combputc(int c) { com_common_putc(comconsiot, comconsioh, c); } だって、com0へ出力してるもん、これ(comconsiot, comconsioh)。 って訳で書き換え。 static void combputc(int c) { …
いや、確かに高機能で先進的で将来の標準規格(候補)なのは分かります。 1ポートで3台まで同時接続:MacBookでお手軽にマルチディスプレイ環境が作れる――IDTのDisplayPortソリューション「VMM1300」 - ITmedia PC USER とかね。確かにVGAとかDVIとは世代が…
実装つってもdev/ic/com.cのコピペな訳だが、printfが動いてないかもしれないって事でcom1へダイレクトに出力が行えるコードを実装しようとしてみた。 #define COM_NPORTS 8 #define COM_FREQ 1843200 /* 16-bit baud rate divisor */ int combfreq = 220000…
Genkidamaのテストの為に最新のコードをずっと起動しといたら、次の日みたらこんなエラーで死んでた。 # # An unexpected error has been detected by Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d0aeb64, pid=1632, …
ずっと嵌りまくってて今やっと自分が以前いじってたコードの正常動作が確認出来た。 そうか、cpuを1コアだけ動作させる時もoption MULTIPROCESSORを指定しないと起動してこないコードになってたのか(バグだよそれ。気がつかないで一週間過ぎてるしorz こっ…
id:big-eyed-hamster さんと夏休みに勉強会でもやりませんかーという話をして、「カーネル/VM探検隊」という名前を付けてみたw けど何をやるのか全然まだ決めてないww
どうせ大して更新されていないだろうとタカをくくって、何も考えずにcvs upしたらlocoreなあたりがコンフリクトしまくって収集つかなくなった。 やっと差分をみながらマージしたけど、うまく動かなくて結局捨てて元に戻すことにした。 cvs upは計画的に。い…