2008-01-01から1年間の記事一覧

NetBSD-5.0BETA/i386のSMP実装#2

カーネルの主な初期化処理はsys/kern/init_main.cのmain()から始まるが、この中でconfigure()が呼ばれている場所がある: /* Configure the system hardware. This will enable interrupts. */ configure(); configure()はsys/kern/subr_autoconf.cにあり、…

NetBSD-5.0BETA/i386のSMP実装#1

NetBSD-5.0BETA/i386のSMP実装がどうなっているのかについて調べてみる。 ディレクトリ構成 sys/arch/i386がi386依存のコードで、sys/arch/x86がamd64/i386共通コードになっている模様。 SMPサポート時のアナウンス http://kerneltrap.org/node/443を読むと…

x86のユーザランド実装

ようやくx86でもelfバイナリを読み込んで制御をうつし、システムコールを受け取って処理するという一連の流れが実装できた。(mipsでは既に動いている 但し、まだ仮想メモリは無く、elfバイナリのロードはヘッダに書いてある通りの場所に読み込んでしまう、と…

dbusがエラーして動かないアプリケーションが有る

$ pidgin process 26155: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/var/db/dbus/machine-id": No such file or directory See the manual page for dbus-uuidgen to correct this issue. D-Bus not …

FreeBSD 6.4のLinuxエミュレーションが動かんくなた

仕事のマシンでFreeBSD 6系を使ってるが、6.4に上げたらなんかLinuxエミュレーションがまともに動かなくなった気がする。 $ /compat/linux/bin/bash bash-3.00$ bash bash: fork: 無効な引数ですこんなんでますけどなにこれ。 Xのドライバにnvidiaのモジュー…

逃亡 『油山事件』戦犯告白録

http://www.mainichi.jp/enta/book/kyodoInterview/archive/news/2008/20081126org00m040015000c.html ハードカバーでまだAmazonの中古が売ってないからちょっと値段が高いんだが、おもしろそう。 年末に読んでみようかなぁ。

JavaFX所感

Web

別に興味はないのだが、正式リリースらしいのでどんな感じなのか記事を斜め読みしてみた: JavaFXによるGUIアプリケーションの作成 (1/3):CodeZine(コードジン)・・・ん?XAMLみたいにマークアップランゲージでGUI定義するんじゃないんだ。 要するにJavaS…

小岩 Paper Moon

お昼ご飯に家の近くの洋食屋さんへ行ってみた。 二人で行って、僕は鮭のクリームソース、相方はかにクリームコロッケ。 ・・・・まずい。 なんかあまりいろいろ書こうという気が起きない感じの味だった。盛りつけとかきれいで、お店の雰囲気も悪くないんだが…

SimBCM - A Full System Simulator of BCM1250

Broadcom BCM1250ってMIPS64デュアルコアなのかぁ、遊んでみたいなぁ・・・とか思って、ググッてみたらCisco 7301がヒットして、思ったとおり1,159,800円もしてショボーン(´・ω・`)としてたら、なんかエミュレータ見つけたよマニュアルがあるので、これの通…

FreeBSD-current/mipsが動いた

初めてマトモに起動してるところをみた。 以下、作業記録:cvsupでcurrentをダウンロードしてくる。 supfileはこんな感じ: *default host=cvsup.jp.FreeBSD.org *default base=/home/syuu/FreeBSD *default prefix=/home/syuu/FreeBSD/cvsroot *default rel…

i8259Aの資料

x86

8259A.pdf Intel 8259 - Wikipedia http://community.osdev.info/index.php?(PIC)8259A パソコンのレガシィI/O活用大全 http://davmac.org/davpage/PIC.html 8086 Interrupt Mechanism 8259pic.pdf

システムコールの実装

ローダはとりあえずこの間簡易的に実装したものを使うことにして、とっととシステムコールを実装してみた。システムコールのテーブルは、こんな感じに void *syscall_functions[SYSCALL_MAX] = { (void *)putchar, (void *)getchar, (void *)getattr, (void …

PC/ATの割り込みコントローラ

http://hira.main.jp/wiki/pukiwiki.php?init_8259A()/linux2.6 Linux のスリープ処理、タイマ処理の詳細を見る - naoyaのはてなダイアリー 割り込み OS-OMicron.org PC/ATの割り込みコントローラについて少々調べてみた。x86 CPUには外部割込みの入力ピンが…

新宿御苑 呉さんの厨房

胃がやられてしまって調子が悪くて気分も乗らない日に、試してみたお店。 台湾料理って言ってるからよーするに中華だよなぁ、重そうだなぁ・・・ と思って入ってみたら、お粥はあるし、卵と青梗菜の炒め物はやわらかくて薄めの味付けで、胃に良く味も優しい…

新宿御苑 カレー麺 実之和

安く飯を食おうと思って御苑をウロウロしてるうちにふらっと入ってみた。カレー麺ってなんだそれ?とか思いながら頼んで食べてみた。・・・マズイ。 麺は普通だ。しょうゆラーメンにすれば美味しく食えるだろう。 ルーも普通だ。カレー南蛮にすれば美味しく…

新宿御苑 タートヴァン

ビーフシチューを食べた時のメモ 会社の同僚の方が日記に書いていたのをみて良さそうだったので行ってみた。もう少しフレンチっぽいのかなー、とか思っていたが、割と洋食っぽいというのか何と言うのか、お箸とお味噌汁とか出てきてあれっ?と思った。 メニ…

ローダのテスト

ローダっぽいものを作ってみた。 きちんと関数定義するでもなく、ユーザランドへのメモリ割り当てはユーザランドプログラムとカーネルの双方で予め当たらないように定義(ユーザランドはコンパイル時にロード先アドレスをリンカスクリプトで設定)、カーネル…

ELFパーサ

とりあえずELFパーサの前段階としてFreeBSD上でELFヘッダをダンプするプログラムを書いている。このあたりが参考になる: ELF Format http://www.linux.or.jp/JM/html/LDP_man-pages/man5/elf.5.htmlヘッダ構造は複雑ではないからパーサはすぐ作れそうだが(…

ディスクドライバ・ファイルシステム

http://pub.ne.jp/wakapon/?cat_id=49945 d1153r17.pdf http://community.osdev.info/index.php?ATA この辺を参考に、i386版のディスクドライバを簡易実装してみた。 MIPS版はgxemulのtestmachine向けのものが既にあるのでこれを流用。 昔書いたFAT32実装と…

Ubuntuをアップグレードしたら・・・

自宅のデスクトップPCのUbuntuをアップグレードしたら、Xがあがらなくなった。 Bug #292214 “Xinerama broken since intrepid on MGA” : Bugs : xserver-xorg-video-mga package : Ubuntu どうやら、これが原因らしい。。 とりあえずXのパッケージを古いのに…

陳水扁逮捕

http://sankei.jp.msn.com/world/china/081112/chn0811122121009-n1.htm わざわざカメラマンの前で手錠をかける警察(=国民党)も、わざわざそれを大げさにこちらに見せるパフォーマンスをしたり殴られたとか言ってみたりする陳水扁側(=民進党)も、どち…

shiitakeでのユーザランド・システムコール実装

shiitakeでMIPSのシステムコールを受ける実装を試してみた。 でも、まだカーネル内関数をユーザモードでちょっと動かしてみただけ、というレベル。 やっぱりディスクとファイルシステムを実装してELFローダをつけるのが筋かなぁ。 しかし、仮想メモリを実装…

NetBSD-current /sbin/initが起動されるまで(5)

forkされたプロセスがどう動くのか見てみる。コンテキストスイッチが起きると、mi_switch()が呼ばれる。 /* Pick new LWP to run. */ if (newl == NULL) { newl = nextlwp(ci, spc); } nextlwp()によってforkされたプロセスが次のプロセス(newl)に選ばれる…

小岩 はるかぜ

寒いからラーメンだー、っつってまた食いに行った。この間普通の塩ラーメンをいただいたので、今回は「情熱の赤い塩ラーメン」とかいう変わったのを頼んでみた。 ・・・味も変わっていた。うーん。普通の塩の方がおいしかったなぁ。 別にこれが美味しくない…

田母神論文問題

http://fukushimak.iza.ne.jp/blog/entry/784577/ 産経新聞の福島香織さんが田母神さんの処分について良い所を突いている。現行憲法に反する発言、政府見解に反する発言を公にすれば、不必要な対外摩擦を引き起こし、国民の憲法および政府に対する不信感をさ…

若き”紛争屋”

http://sankei.jp.msn.com/life/trend/081108/trd0811080327004-n1.htm http://sankei.jp.msn.com/life/trend/081109/trd0811090406000-n1.htm伊勢崎 賢治氏の武装解除は以前読んでいて、こういう仕事をやってる日本人も居るのだなと大変興味深く思ったのだ…

MIPSでのシステムコール実装

MIPSにはsyscallというopcodeがあって、呼び出すとSyscallExceptionを起こす。 これを使ってシステムコールを実装出来る。NetBSDでは、v0にシステムコール番号を積み、通常の関数呼び出しと同じくa0-a3へ引数を積んで渡している模様。

マダン

今日はマダンで日替わりランチの豆腐チョリムというのに挑戦。(食べたことなかった) おいしいんだが、、、甘い。 ソースがトッポギのソースそのものなのである。 これはちょっと△。豚焼肉ランチもちょっとだけ横から貰ったけど、こっちは中々美味。

NetBSD-current /sbin/initが起動されるまで(4)

ちょっとシステムコールへの理解が弱くてそもそもの動きをきちんと把握し切れてなかった(反省)。ここらへんでDebianな人が似たような所を解説していたりするが、LinuxでもBSDでも基本的に考え方は同じはずで、 forkして新しいプロセスを作る fork先プロセ…

Ethernet device pollingのドキュメント類

Device Polling support for FreeBSD jpman search error