Plan 9(9front)のMP化周りを調べてみる その1

MP化に関係ありそうなファイル(archmp.c, mp.c, apic.c)が転がってるけど、いまいちほんとに対応しきれているのか謎なので調べてみる。とりあえず初期化のコールグラフまわりのまとめ。具体的な役割はまた今度。 実線は関数呼び出し、破線は参照。なんとなく…

Plan9 でのIPパケットフォワーディングの流れ

めもめも。基本的にコールグラフ&イベント通知のフロー。デバドラはigbeを想定

【カーネル/VM Advent Calendar 2012 5日目】virtio-net on Plan 9

さて、カーネル/VM Advent Calendar 2012 5日目でございます。初めに 新ネタ...? ヒィ、そんなものないです><というわけで夏に出したネタを引きづり出してこねくり回してお茶を濁すことにしましょう。 題しまして「virtio-net on Plan 9」でございます。vir…

C83申し込み完了

年末に向けて忙しくなりそうなので、出せるかどうか不明だけどとりあえず申し込みした。 ネタ的には相変わらず誰得な9ネタで。

linux virtio-9p host side call graph (途中)

前回のBHyVe Hackathon #1にて実装を断念したVirtFS (virtio-9p)のホスト側、qemu-kvm内での処理を追っかけてみる。virtio-netみたいに、virtqueueのディスクリプタ用に特殊なヘッダがあるのかなぁとあたりをつけていたが、どうやら9Pのフォーマットのパケッ…

C82 Glenda9 @ 土西す35b "Plan 9 × Virtio"

作業中のVirtio-net on Plan 9ネタでなんか書きます書いてます。とりあえず最低限NIC的なところまでたどりついたので、そのあたりまでの技術的な内容についてちらほら。 比較的誰得。いや俺得。Virtio-netについての資料は@hasegawさんの比較的わかりやすい…

FreeBSD XHCI データ構造たち

FreeBSD のsys/dev/usb/controller/xhci.h中のデータ構造の依存関係についてまとめてみる。 先頭に"XHCI以外の他の部分で定義されている構造体。

【建造中】 MacBook 機種乗り換え時のToDo

入れるアプリケーションたち Quick Silver Ctrl + Enterで出るように Spotlightの方とバッティングしているのでこちらはCtrl + Spaceにする Better Touch Tools Visor (Total Terminal) Ctrl Ctrlで出るように Position => Full Screen 不透明度は76% Opera,…

WIP : OpenFlow on WatchGuard Firebox V60

FacebookにてOpenFlow AP with PC Engineなるwikiページが紹介されていた。 ちょうど手元には、Firebox V60が余っている。 一応この子はx86なのできっと上手くいくだろうという安直な発想の元、試しに突っ込んでみた。 以下はそのときのログ。 手順 まずは上…

FreeBSD in FUSE : だいたいの流れメモ

AsiaBSDCon2012 3日目 P6A: FUSE and FreeBSDなるセッションを受けて、FUSEの内部実装を追いかける気力が(FreeBSDに関しては)復活したので軽く流れを追いかけて見るテスト。対象となるコードは下記のパッチ RFC: FUSE kernel module for the kernel... http:…

メモ: 9front MP Kernel panics on KVM

MP対応な9frontカーネル様がKVM環境でブート時にパニックしたのでメモ。 ここでは手前でコンパイルして配置したpcfカーネルを利用。 pccpufカーネルだと引っかからないらしい。 実機試験はPlan 9の方のみ実施。こちらではpcfカーネルでもきちんと動くようだ …

カーネル/VM Advent Calendar 8日目 : Plan9で作るお手軽 Packet Recorder & Generator       の予定でしたorz

この記事はカーネル/VM Advent Calendar2011のためにかかれたものです。前回に引き続き今年もPlan 9なネタでいきたいと思います。 が、残念ながら完成までこぎ着けられなかったので、出来たあたりまでのお話をしたいと思います m(_ _)m ''ことのあらまし'' …

Storyline your Repository

見える化がトレンドな昨今、開発状況のそれをよりビビッドにやってくれる楽しいツールにevolinesというものがあります。 ここではその導入の仕方をメモっておきます。 必要なもの Processing Javaが使える環境 JUNG (Java Universal Network/Graph Framework…

DNSテスト自動化 in Ruby

DNSのテストといえば相場はdigかnslookupと決まってるわけですが、毎回手で打つのも癪なので自動化しましょ、というお話。 シェルスクリプトが未だ書けないおばかなのでRubyでごにょごにょする方法。 dnsrubyのインストール rubygemsにはnet-dnsやらpNet-DNS…

TBD: WIkipedia Tracer

いい加減に、地震とまったくすすまない引っ越しと掃除とでうんざりしたので横道にそれて全く関係ないことを始める。 Wikipediaを見はじめると以下のような感じになってしまうことが多々ある. その記事にある、気になる単語を片っ端から別タブで開くとタブ数…

Plan 9 ソースコードでの例外機構 実装編

前に取り上げた「Plan 9 ソースコードでの例外機構 使い方編」の続きです.こんどは実装について. Plan 9のプロセスでは例外をサポートするために, それを表すProc構造体に特殊なメンバを導入しています.以下に挙げるnerrlabとerrlabがそれにあたります. これ…

ひらメソッド for Plan 9

修論オワタ\(^o^)/人生にわずかながらゆとりができてきたので, ひらメソッドを適用してPlan 9のソースコードを読んでみる.実はすでにPlan 9日記*1にてoracchaさんがやられていたりする*2. とはいえ、若干興味の方向が異なっていたりするので(そして, 微妙な解…

Acme SACで日本語入力 on MacOSX

Plan 9でエディタといえばacmeがあります。3つボタンマウス必須というとてもファンシーな操作体系をお持ちですが, 使っているとなかなかクセになるという不思議なエディタです. これをPlan 9以外の環境でつかうために, Plan9PortやAcme SACを用いる方法があ…

Kernel/VM Advent Calendar 52日目 : Brainf**kファイルサーバでもつくってみるか on Plan 9

はじめに この記事はKernel/VM Advent Calendarのための記事です。さてPlan 9です. そしてBrainf**kです. ただ単純に二つを掛け合わせても, Plan 9でのプログラミングの解説にしかならないので, Plan 9っぽさとして, Brainf**kのインタプリタサービスをファ…

Plan 9 ソースコードでの例外機構 使い方編

Plan 9のソースコードを読んでいると以下のような関数が頻繁に出てきます. error() waserror() poperror() nexterror() これらはC言語で例外をサポートするためにPlan 9で利用される関数です. 具体的には以下のように使います 1 int func(){ 2 if( waserror(…

e1000ドライバ探検隊〜その他 ささいなこと〜

Linuxデバドラ本勉強会で突っ込まれてたけど調べてなかった部分についてちょろりと 187 static struct pci_driver e1000_driver = { 188 .name = e1000_driver_name, 189 .id_table = e1000_pci_tbl, 190 .probe = e1000_probe, 191 .remove = __devexit_p(e…

system()

TLを見ていたら不思議なコードがありました。 #include <stdlib.h> #include <unistd.h> int main() { system("pkill a.out; sleep 10; ./a.out"); }いろいろ忘れてて「???」だったのでメモ system()は内部でshをfork()→execve()するだけ。 その際にsystem()は自身の引数を-c</unistd.h></stdlib.h>…

libvirt on MacOSX : Snow Leopard

virshを使ってリモートからVMを管理する環境が研究室内に整ったので、Macからこれをやる方法について。基本的には "libvirt on MacOSXを試してみる" ここにある方法に従えばおkただしコンパイル時に以下のようにすること $ ./configure --without-xen --wit…

Let's マイクロカーネル! 〜L4Ka::Pistachioで始めるマイクロな生活・導入編〜

ここではいくつかあるL4カーネルのうちL4Ka::Pistachioを既存のLinuxの上でコンパイルし, Qemuの上で動かすところまで解説します. 基本的な手順は公式サイト(http://l4ka.org/)の"Getting Started with L4Ka::Pistachio on ia32"というページを参照すればな…

メモ:MacでSheevaplugの利用

基本的にはこちらにある情報を参考にセットアップ。といってもそんなにすることないけど。一部この情報でうまくいかないことがあったのでここにメモ。 おそらく余計な手続きが入っているので、もっとスマートにすます方法もあるはず。なお環境はSnowLeopard…

C/C++からScalaのライブラリを呼ぶ with JNI

JavaからScalaにかえても同じことができるか実験@kmizuさんのアドバイスでコールバックもできるようになりました.

C/C++からJavaのライブラリを呼ぶ with JNI その2

さらにコールバック関数を登録するの巻 フルのソースコードはこちら 参考にしたページ : JNIで起動したJavaVMからnativeメソッドをコールバック(http://blog.bitmeister.jp/?p=1104)

C/C++からJavaのライブラリを呼ぶ with JNI

JavaのライブラリをC/C++から呼ぶ方法のメモ. フルのソースコートはこちら 参考にしたページ: シンプルな C言語からJava言語を呼び出すJNIサンプル

Plan9セットアップログのようなもの

忘れないように。完全なものではないので注意 きちんとしたインストール方法などは@go_vmの「軽快なPlan9」や公式サイトを参照

GoからCの関数をよぶ(でけた)

GoからCの関数を呼ぶためのメモ。でけた。dylibでもいいらしい。