SL-C700/B500 special kernel
(2003/7/24-2003/9/4)
変更履歴
- 2003/9/4 B500/C700用の筆圧対応v7。B500でも動くようです。
- 2003/9/3 B500用のv6はダメみたいなので公開停止。
- 2003/9/2夜 筆圧対応のドライバパッチに修正があったので追従しました(v6)。
- 2003/9/2 PetitePeinture7.0aにてB500の筆圧対応版が動作しました。
- 2003/8/31 筆圧対応版のカーネルログ停止(v5)。B500用も作ってみたけど、ちょっと自信なし。
- 2003/8/27 筆圧対応(v4)。C700用のみ。
- 2003/8/22 ぴろさんの名前をぷろさんと誤記していたのを修正(ごめんなさい)。
- 2003/8/19 ソースの修正ミスがあったのでビルドしなおし。恐れ入りますが新しいのを使って下さい。
- 2003/8/15 ERRATA=yでも安定しないので文章修正。また、ソース差分はできるだけパッチの形にしました。
- 2003/8/14 CONFIG_XSCALE_CACHE_ERRATA=yでビルド(遅いけど安定?)
- 2003/8/12 B500用を改良(v2)
- 2003/8/9 0x242固定版を作成
- 2003/7/31 B500で動作
- 2003/7/28 初公開
- 2003/7/24 ビルド成功、C700で動作
無責任
本カーネルの使用により、あなたのZaurusがレンガになったりしても、私は
何も補償できませんのであしからず。
何だろう
SL-C750/C760のカーネルをちょっといじってSL-C700/B500で動くかもしれない
ようにしたものです。メモリ不足にならないようにswap(16M〜32M)を用意して、
そーっと使うのがコツのようです。
カーネルの入れ換え手順
(1) SHARPのサイトからアップデータをもらってくる。1.50JPのアップデータでも動きます。
(2) 上記を展開して出てくる4つのファイルのうち、zImage.binを下記のもの
に置き換える(ファイル名はzImage.binにしてください)。いくつかあるものは
上のほうがお勧め。バージョンとお勧めが逆転しているものもあります(新し
くても良いとは限らない)。
(3) 後は(1)のアップデータの手順通り。
復旧手順
何か問題があった場合は、アップデータに入っているカーネルを使ってアッ
プデートをやり直して下さい。
技術情報
ソース
linux-c750-20030620-rom1_10.tar.bz2を元にビルドしました。
動作周波数
CCCR L M N
C700(Normal) 0x0241 27 2 2
C750 0x0161 27 4 1
0x0242 32 2 2
Crystal Frequency = 3.6864MHz
Memory Frequency = Crystal Frequency * L
Run Mode Frequency = Memory Frequency * M
Turbo Mode Frequency = Run Mode Frequency * N
PXbus Frequency = Run Mode Frequency / 2
Memory Frequency(100MHz)を基準に考えると、
C700(Normal)はRun modeは2倍速(200MHz)でTurbo modeは4倍速(400MHz)。
C750はRun modeもTurbo modeも4倍速(400MHz)。
Run mode周波数を高くするとPXバスも速くなる(Run mode周波数の半分)。
周波数確認
周波数の確認は、ターミナル(コンソール)にて
# /sbin/modprobe registers
# cat /proc/cpu/registers/CCCR
として行なう。modprobeはroot権限で一度だけ実行すればよい。
周波数切替え(ぴろさんのパッチ適用版のみ)
C700の場合はぴろさんの書いている通り。
B500の場合は、Power以外のキー+Powerで立ち上がってしまうが、実は切り替わっている。
カーネルコンフィグレーション
C700(Normal) CONFIG_XSCALE_CACHE_ERRATA=y, CONFIG_ARM_FCSE=n
C750 CONFIG_XSCALE_CACHE_ERRATA=n, CONFIG_ARM_FCSE=y
CONFIG_XSCALE_CACHE_ERRATAはPXA250のライトバックキャッシュバグの対処。
CONFIG_ARM_FCSEはコンテクストスイッチの高速化(新規追加)。
SL-C700/B500共通
以下のようにソースを修正しています。
SL-C700用
SL-C750/C760のカーネルソースには、shepherd-jという名前でSL-C750用の
configが含まれており、このファイルを使ってビルドしています。
SL-B500用
SL-C750/C700のカーネルソースには、poodle-jという名前でSL-B500用の
configが含まれています。このファイルを元に、以下の2点を修正していま
す。
# CONFIG_XSCALE_CACHE_ERRATA is not set
CONFIG_ARM_FCSE=y