arm

Go言語のARMのsoft floatのトリッキーな実装

kernel/VM Night! で発表してきました。 Tricky implementation of Go ARM soft float from Tetsuyuki Kobayashi スライドは発表時から少し追記しています。この日のライブ配信も担当しました。発表よりも実はそっちの方が大変でした。LiveWedgeというビデオ…

perfコマンドをソースからビルドする

linuxカーネルの計測ツールであるperfコマンドをソースからビルドしました。必要なライブラリを揃えるのにけっこう苦労したのでメモを残します。linux 3.16.1 debian jessie armel 準備 $ sudo apt-get install \ flex bison python pkg-config libaudit-dev…

クロスDockerのためのDockerfile

dockerhubにはx86, x86_64以外のアーキテクチャ用のコンテナもいくつかpushされています。これをqemuを利用したクロス環境のDockerとして動作させるためには、以下の準備が必要です。(1) binfmt_misc でクロスで動かしたいアーキテクチャのELFファイルの設定…

LLVMLinuxをビルドしてみた

LLVMLinuxはLinux kernelをClang/LLVMでビルドできるようにしようというプロジェクトです。先日のELCでも紹介されていました。興味があったので、まずはビルドしてみました。基本的には以下のページの手順に従ってやっただけ。 Useful links | ClangBuiltLin…

「ARM 64bitがやってきた!」を発表してきました

"ARM 64bit has come!" というスライドを作ってテクニカルジャンボリーとカーネル/VM探検隊で発表してきました。ARMv8のaarch64に関する話です。 ARM 64bit has come! from Tetsuyuki Kobayashi テクニカルジャンボリーでのビデオ デモしたときのフォントが…

ARM Linuxカーネルの中でNEONのSIMD命令を使用する方法

Linuxカーネルの中ではFPUを使った浮動小数点演算を一切行いません。カーネルのコードの中でFPUにアクセスするのはFPUレジスタの退避、復帰だけです。 NEONのSIMD命令はFPUレジスタを使用します。そのため以前はカーネルの中ではNEONのSIMD命令を使用するこ…

ARM 64bit でLLVMは見逃せない

iPhone5S, iPad Airで64bit ARMプロセッサをいち早く製品化したAppleですが、驚きのニュースがありました。AppleはOS X, iOSのコンパイラツールチェインをgccからclang/LLVMに移行しています。その64bit ARM向けのバックエンドをLLVMのコミュニティに公開し…

"ARMv8 Instruction Set Overview"を見てメモ書き

"ARMv8 Instruction Set Overview"を見てメモ書き。 - Togetter "ARMv8 Instruction Set Overview"のドキュメントはARMのサイトからダウンロードできます。ただし登録必要。 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0406c/index.ht…

ARMはAdobe Flash PlayerをCortex-Aシリーズ向けに最適化したそうだ

arm

ARM say they have optimised Adobe Flash Player 10.1 on ARM-powered devices as part of the Open Screen Project, an industry group with nearly 50 participants working together to deliver a consistent runtime environment across mobile phones,…

Google、 Chrome OSでネットブック参戦

Google からChrome OS というものが発表されました。 Google Chrome OS はオープンソースの軽量オペレーティング・システムであり、当初はネットブックをターゲットとしています。Google は年内にそのソースコードを公開します。それにより、2010 年後半には…

ARMのコーリングコンベンション

arm

関数呼び出しのときに 引数は最初の4つがr0-r3に積まれて残りはスタックに積まれる。 戻り値はr0。(64bitの場合はr0とr1)。 r0-r3とr12(ip)は内容を保存しなくてよい。 http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042c/IHI0042C_aapcs.pdfこのド…