とうげ

ああ峠行きたいなあもう!
と心のなかで叫びつつ、
今週末はまじめに授業の準備します。
今日は、割り込み関係のハードウェアとドライバが動いて、めでたしめでたしだった。

風邪

公私ともにフルスロットルで働きまくっていた今日この頃ですが、なんか昨日は足がふらふらして、やべーなー、と思っていたら、風邪っぽいです。でも、昨日早めにかえって寝たからか、そんなに悪くならなかった。
今日は学科会議だし、明日から授業も始まるし、そんな時期にー、という感じですが、ま、これはすこしスピード落とせ、ということだろうな。今日は対外的な仕事は会議と学科懇親会だけだし、合間はすこしのんびりしよう…
幸いそんなにひどくないので、今夜も早く帰って寝よう。

FreeBSD /etc/make.conf tuning

My lab’s network is deadly slow, so I want to tune MASTER_SITE_* in my /etc/make.conf to speedup port installation.
As shown in this article about fastest_site utility, the fastest_site utility is a simple way to make an effective /etc/make.conf. fastest_site finds a set of the fastest master sites among the servers defined in the ports collections.
# portinstall ports_mgmt/fastest_sites
# rehash
# fastest_sites > /usr/local/etc/ports_sites.conf
=> Checking servers for MASTER_SITE_GENTOO (49 servers)
=> Checking servers for MASTER_SITE_TCLTK (6 servers)
=> Checking servers for MASTER_SITE_GET_E (6 servers)
=> Checking servers for MASTER_SITE_EASYSW (5 servers)
=> Checking servers for MASTER_SITE_PERL_CPAN (19 servers)
… ( go lunch while it’s running :p )
# vi /etc/make.conf
.include “/usr/local/etc/ports_sites.conf”
And the fastest mirror will be chosen 🙂

Linux + MSI

Started working with my device driver + PCIe interface task again, and yesterday I wrote my ioctl() handler. It was an easy task, and now I’m trying on interrupt handling.

MSI (Message Signaled Interrupt) is a new way of PCI interruption, that issues an interrupt by a write request to a device specific address in memory address space, instead to assert INTA#.

There’s “MSI capability register” in the PCI configuration space, beginning at 0x48 in my case. To find the register, (i) check the pointer at 0x34. (ii) 0x34 has a pointer (0x40) to next register. (iii) 0x40 has a capability ID(01), but this isn’t for MSI. 0x41 has a pointer to next, 0x48. (iii) 0x48 is the capability ID for MSI (0x05), but 0x4a and 0x4b must be “0x81 0x01” if MSI is enabled…

02:00.0 RAM memory: Xilinx Corporation Device 0007
0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: ee 10 07 00 07 00 10 00 00 00 00 05 10 00 00 00
10: 04 00 20 e3 00 00 00 00 04 10 20 e3 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ee 10 07 00
30: 00 00 f0 ff 40 00 00 00 00 00 00 00 0b 01 00 00
40: 01 48 03 08 00 00 00 00 05 60 80 01 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 10 00 01 00 ea 8f 2c 01 10 29 00 00 41 f4 03 00
70: 40 00 41 10 00 00 00 00 00 00 00 00 00 00 00 00

So I added a pci_enable_msi() call in my driver initialization routine, and I’ve got it! The address and message to fire an interrupt are 0x00000000fee0f00c (at 0x4c-0x53) and 0x41b1 (at 0x54).

02:00.0 RAM memory: Xilinx Corporation Device 0007
0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: ee 10 07 00 07 04 10 00 00 00 00 05 10 00 00 00
10: 04 00 20 e3 00 00 00 00 04 10 20 e3 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ee 10 07 00
30: 00 00 f0 ff 40 00 00 00 00 00 00 00 0b 01 00 00
40: 01 48 03 08 00 00 00 00 05 60 81 01 0c f0 e0 fe
50: 00 00 00 00 b1 41 00 00 01 00 00 00 00 00 00 00
60: 10 00 01 00 ea 8f 2c 01 10 29 00 00 41 f4 03 00
70: 40 00 41 10 00 00 00 00 00 00 00 00 00 00 00 00

Additionally, the link status register is located at 0x70 (in the PCIe function block: cap ID 0x10 at 0x60), and “0x0040” means that the PCIe interface is operating at x4 mode (0x**1* for x1, 0x**8* for x8).

FYI: The Virtex-5 PCIe configuration space map is available in Xilinx UG341.

結婚式その後

写真撮ってきた。
– F4E + バックアップで FE2 with MD12 (緊急用に New FM2)
– 28/2
– 35/2
– 50/1.2
– 85/1.4
– 135/2
という最強布陣。帰宅してカメラバッグかついだまま体重計に乗ってみたら、機材が 12kg だということがわかった。アホです。
まあ、基本的にいつも通り、28, 50, 85 くらいがあれば充分だった。28mm は傾けるとパースがきついので、人物撮影には注意が必要ですが。
しかし、F4 はお気楽でいいね。AF のレンズは相変わらず持っていませんし、フォーカスエイドの表示を見る感じでは俺の左手 AF のほうが正確な感じですが、とにかくファインダーが最強に見やすくて、撮っていて快適。

電柱

年度末工事なのか、近所であちこち電柱の立て替えやってた。
写真をよくみるとわかるんですが、これ、古い電柱を途中で切るか何かして、上のほうは吊り上げてる、というすごい状況。このあとどうするんだろう… と思ったんだけど、急いでたので、そのまま仕事に行ってしまいました。
DSCN2077.JPG

はなまる

前から気になっていた「はなまるうどん」に行ってみました。
なんか、看板だけみると激安な雰囲気で、おいしくないならいいやー、と思っていたのですが、かけうどん小が 105 円なだけで、あとは案外普通の (でも東京ではだいぶ安かな) 値段でした。
けっこういけてる。でも、麺通団のほうが好きかな。
こんどは醤油で食べてみようと思います。そうすれば本物かわかるしね。
DSCN2156.JPG

カメラの電池

明日はおぼの君の結婚式で、写真を頼まれたので、機材整備。
しかしね、こういう大事な時に限ってトラブルが起きるんですよ。
FE2 の電池が切れとる。M250 以外の速度ではシャッターが開くけど、閉じません (笑)
このカメラは修士 1 年の時に買って、すぐ電池を替えてから一度も電池交換してないので、つまり、8 年くらい同じ電池が入ってたわけだ。そうとうな本数撮ってると思うけど。
電池室開けたら、SR44 がふたつじゃなくて、CR-1/3N という、SR44 ふたつ分のサイズ (と電圧) のリチウム電池が出てきた。
とりあえず、予備の FE2 から SR44 を 2 つ引っ張り出して急場を凌ぐことにして解決。まあ、FE2 は持って行くけど、F4 のバックアップだし。
あと、10本くらいストックしてあると思っていたフィルムが、4本しかなかった。これは帰りにヨドバシで 5 本買ってきていたので、足りることでしょう。
そゆわけで、明日はがんばる。

NTT DoCoMo vs RFC

NTT DoCoMo の携帯電話メールアドレスのポリシが変更 になって、めでたく RFC 準拠になりました。
mixi のニュースにも出てましたが、mixi 日記とか見てると、「別にエラーになったこととかないし、貴重なアドレスだから変えないもーん」とかいう人がいっぱいいますが、けっこう送れないソフトウェアってあるのよね… Gmail からは送れるようになったのかしら?
あとは au だけです。早く直していただきたい。