SlideShare a Scribd company logo
1 of 11
nagoya.bin 【低レイヤーLT勉強会】 #1
ARM LinuxのMMUはわかりにくい
初めに
• 低レイヤーLT勉強会が開催されるのをconnpassで発見したので参加し
てみました
• こういう試みはとても面白いので今後も続いてくれるといいなーと
思っています
• 今日は、Linuxのキャッシュ周りを調べていて気付いたことに関する発
表です。
MMUとは?
• MMU(Memory Management Unit)とは?
• CPUのメモリ管理を行うハードウェア
• コンピュータサイエンスの教科書では、OS(Operating System)の仮想記憶
を実現するための仕組みとして紹介される
• 全てのユーザプログラムに固有のアドレス空間が与えられる
• 他のプログラムから隔離・保護される
VA0-00
VA0-01
VA0-02
VA0-03
VA0-04
VA0-05
VA0-06
PA-00
PA-01
PA-02
PA-03
PA-04
PA-05
PA-06
VA1-00
VA1-01
VA1-02
VA1-03
VA1-04
VA1-05
VA1-06
httpd
仮想アドレス 仮想アドレス
smbd
物理アドレス
MMUの仕組み
• Coretex-A9におけるMMUの位置づけ
ARMのMMU
• ARMのMMUは何ができるのか?
• アドレス変換
• 仮想記憶のためのアドレス変換
• プロセスモデルを実現するために必要
• メモリアクセス許可
• データ領域の実行をできなくしたり、ユーザーモードではアクセスできな
くしたりできる
• 不正なメモリアクセスをブロックすることで、アプリケーションに触らせたく
ないハードウェアレジスタを見えなくする
• 攻撃されて任意のデータをメモリに流し込まれても、データ領域は実行属性を
付けないことで実行できなくする
• メモリ属性の指定
• キャッシュの有効・無効
• コード領域やデータ領域はキャッシュ有効にしてアクセス速度を速くする
• ハードウェアのレジスタは、ハードウェアの状態を直接見ないといけないので
キャッシュ無効
ARMのMMU
• ARMのMMUは何ができるのか?
• アドレス変換, メモリアクセス許可, メモリ属性の指定
• これらはページテーブルに記録される
この設定はアクセス不許可を意味する
1ページ4KByteの時の設定
(さらにLv2テーブルをルックアップする)
0x00000000-0x000FFFFF用仮想アドレス
0x00100000
Lv1ページテーブル
0x00100000-0x001FFFFF用
0x00200000-0x002FFFFF用
0xFFF00000-0xFFFFFFFF用
・
・
・
Lv1ページテーブルは
1MByte単位のLUTに
なっている
1ページ1MByteの時の設定
1ページ16MByteの時の設定
(使われているのを見たことがない)
Lv1ページテーブルのフォーマット
ARMのMMU
• 1ページ4KByte場合は、さらにもう一回LUTをルックアップする
この設定はアクセス不許可を意味する
1ページ64KByteの時の設定
0x00000000-0x000FFFFF用仮想アドレス
0x00100000
Lv1ページテーブル
0x00100000-0x001FFFFF用
0x00200000-0x002FFFFF用
0xFFF00000-0xFFFFFFFF用
・
・
・
Lv1ページテーブルは
1MByte単位のLUTに
なっている
Lv2ページテーブルのフォーマット
0x00100000-0x00100FFF用
0x00100000-0x00101FFF用
0x00100000-0x001FFFFF用
0xFFF00000-0xFFF00FFF用
0xFFF00000-0xFFF01FFF用
0xFFF00000-0xFFFFFFFF用
1ページ4KByteの時の設定
ARMのMMU
• ARMのMMUは何ができるのか?
• アドレス変換, メモリアクセス許可, メモリ属性の指定
• メモリ属性(キャッシュ設定)
Coretex-A9
TEX[2]ビットを1に設定することで、L1, L2キャッ
シュの設定が個別にできるようになる
ARMのMMU
• ARMのMMUは何ができるのか?
• アドレス変換, メモリアクセス許可, メモリ属性の指定
• メモリ属性(キャッシュ設定)
Coretex-A9
Linuxの実装ではTEX[2]=0で使用している
しかも、表と挙動が違う
犯人はこいつ
• Linuxカーネルソースのarch/arm/mmの下に犯人発見
ENDPROC(cpu_v7_set_pte_ext)
/*
* Memory region attributes with SCTLR.TRE=1
* n = TEX[0],C,B
* TR = PRRR[2n+1:2n] - memory type
* IR = NMRR[2n+1:2n] - inner cacheable property
* OR = NMRR[2n+17:2n+16] - outer cacheable property
* n TR IR OR
* UNCACHED 000 00
* BUFFERABLE 001 10 00 00
* WRITETHROUGH 010 10 10 10
* WRITEBACK 011 10 11 11
* reserved 110
* WRITEALLOC 111 10 01 01
* DEV_SHARED 100 01
* DEV_NONSHARED100 01
* DEV_WC 001 10
* DEV_CACHED 011 10
*/
.equ PRRR, 0xff0a81a8
.equ NMRR, 0xc0e040e0
SCTLR.TRE=1にすることで、PRRRとNMRRレジスタを使って設定を上書きできることが判明
Kernel 4.9の場合、WRITEALLOC設定なのにL1はライトバックライトアロケート、L2がライト
バックのみになっている
0xc
11 00
0x4
01 00
まとめ
• ARM Linuxのキャッシュ設定を調べていてぶつかった謎
• キャッシュ設定はページテーブルでコントロールしている
• ところが、ページテーブルの設定と挙動が違う
• カーネルのARM依存部分を調査した結果、ページテーブル設定をさらに
レジスタ設定で変更できることが判明
• ちなみにこの部分、カーネルのバージョンアップでたまに設定が変わりま
す。。。
• 参考資料
• http://infocenter.arm.com/help/index.jsp
• ARMの資料はここに集約されています。ユーザ登録をしてダウンロードで
きないものもありますが、困ったときはまずここで調べてください

More Related Content

What's hot

Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKensuke Maeda
 
Zynq mp勉強会資料
Zynq mp勉強会資料Zynq mp勉強会資料
Zynq mp勉強会資料一路 川染
 
Protocol Buffers 入門
Protocol Buffers 入門Protocol Buffers 入門
Protocol Buffers 入門Yuichi Ito
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールMITSUNARI Shigeo
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コースJuniper Networks (日本)
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門Shuji Yamada
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動uchan_nos
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルMasahito Zembutsu
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観Yamato Tanaka
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User NamespacesAkihiro Suda
 
Cephのベンチマークをしました
CephのベンチマークをしましたCephのベンチマークをしました
CephのベンチマークをしましたOSSラボ株式会社
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能Kohei Tokunaga
 
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)Takeshi HASEGAWA
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをi_yudai
 

What's hot (20)

Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
 
レシピの作り方入門
レシピの作り方入門レシピの作り方入門
レシピの作り方入門
 
Zynq mp勉強会資料
Zynq mp勉強会資料Zynq mp勉強会資料
Zynq mp勉強会資料
 
Protocol Buffers 入門
Protocol Buffers 入門Protocol Buffers 入門
Protocol Buffers 入門
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門
 
入門!Jenkins
入門!Jenkins入門!Jenkins
入門!Jenkins
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
 
Cephのベンチマークをしました
CephのベンチマークをしましたCephのベンチマークをしました
Cephのベンチマークをしました
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
 

Viewers also liked

Introduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto ProjectIntroduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto ProjectHiroshi Sakate
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstreamwata2ki
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Nobuhiro Iwamatsu
 
Fireduck
FireduckFireduck
Fireduckwata2ki
 
Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料Nobuhiro Iwamatsu
 
Yocto bspを作ってみた
Yocto bspを作ってみたYocto bspを作ってみた
Yocto bspを作ってみたwata2ki
 
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方wata2ki
 
Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)Hiroshi Sakate
 

Viewers also liked (8)

Introduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto ProjectIntroduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto Project
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstream
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
 
Fireduck
FireduckFireduck
Fireduck
 
Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料
 
Yocto bspを作ってみた
Yocto bspを作ってみたYocto bspを作ってみた
Yocto bspを作ってみた
 
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方
 
Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)
 

Similar to ARM LinuxのMMUはわかりにくい

エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)Takeshi HASEGAWA
 
Effective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディションEffective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディションKuninobu SaSaki
 
Androidクラウドブック DynabookAZでLinuxを色々と遊んでみよう
Androidクラウドブック DynabookAZでLinuxを色々と遊んでみようAndroidクラウドブック DynabookAZでLinuxを色々と遊んでみよう
Androidクラウドブック DynabookAZでLinuxを色々と遊んでみようNetwalker lab kapper
 
UEFI向け自作OSの紹介
UEFI向け自作OSの紹介UEFI向け自作OSの紹介
UEFI向け自作OSの紹介Yuma Ohgami
 
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話Masataka Tsukamoto
 
止まらないようにしたいのにそのせいで止まる悲しさ
止まらないようにしたいのにそのせいで止まる悲しさ止まらないようにしたいのにそのせいで止まる悲しさ
止まらないようにしたいのにそのせいで止まる悲しさTomotake Koike
 
Meltdown を正しく理解する
Meltdown を正しく理解するMeltdown を正しく理解する
Meltdown を正しく理解するNorimasa FUJITA
 
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版Akira Taniguchi
 
システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4shingo suzuki
 
システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4shingo suzuki
 
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをKenichiro MATOHARA
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用Ruo Ando
 
インフラエンジニア勉強会hbstudyについて
インフラエンジニア勉強会hbstudyについてインフラエンジニア勉強会hbstudyについて
インフラエンジニア勉強会hbstudyについてToshiaki Baba
 
ロボットシステム学2015年第5回
ロボットシステム学2015年第5回ロボットシステム学2015年第5回
ロボットシステム学2015年第5回Ryuichi Ueda
 
Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315Takahiro Kujirai
 
シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法Yohei Azekatsu
 
x86_64向け自作OSの紹介
x86_64向け自作OSの紹介x86_64向け自作OSの紹介
x86_64向け自作OSの紹介Yuma Ohgami
 

Similar to ARM LinuxのMMUはわかりにくい (20)

エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
 
Effective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディションEffective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディション
 
Androidクラウドブック DynabookAZでLinuxを色々と遊んでみよう
Androidクラウドブック DynabookAZでLinuxを色々と遊んでみようAndroidクラウドブック DynabookAZでLinuxを色々と遊んでみよう
Androidクラウドブック DynabookAZでLinuxを色々と遊んでみよう
 
UEFI向け自作OSの紹介
UEFI向け自作OSの紹介UEFI向け自作OSの紹介
UEFI向け自作OSの紹介
 
UNIXアレコレ調べたい3
UNIXアレコレ調べたい3UNIXアレコレ調べたい3
UNIXアレコレ調べたい3
 
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
 
止まらないようにしたいのにそのせいで止まる悲しさ
止まらないようにしたいのにそのせいで止まる悲しさ止まらないようにしたいのにそのせいで止まる悲しさ
止まらないようにしたいのにそのせいで止まる悲しさ
 
Meltdown を正しく理解する
Meltdown を正しく理解するMeltdown を正しく理解する
Meltdown を正しく理解する
 
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版
 
システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4
 
システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4
 
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxを
 
Osoljp201204
Osoljp201204Osoljp201204
Osoljp201204
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用
 
インフラエンジニア勉強会hbstudyについて
インフラエンジニア勉強会hbstudyについてインフラエンジニア勉強会hbstudyについて
インフラエンジニア勉強会hbstudyについて
 
ロボットシステム学2015年第5回
ロボットシステム学2015年第5回ロボットシステム学2015年第5回
ロボットシステム学2015年第5回
 
Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315
 
シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法
 
Osc2009 Do Xen Hara
Osc2009 Do Xen HaraOsc2009 Do Xen Hara
Osc2009 Do Xen Hara
 
x86_64向け自作OSの紹介
x86_64向け自作OSの紹介x86_64向け自作OSの紹介
x86_64向け自作OSの紹介
 

More from wata2ki

鹿児島らぐハイブリッド開催への道
鹿児島らぐハイブリッド開催への道鹿児島らぐハイブリッド開催への道
鹿児島らぐハイブリッド開催への道wata2ki
 
Linuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみたLinuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみたwata2ki
 
YoctoでLTSディストリを作るには
YoctoでLTSディストリを作るにはYoctoでLTSディストリを作るには
YoctoでLTSディストリを作るにはwata2ki
 
YoctoLTSについて調べてみた
YoctoLTSについて調べてみたYoctoLTSについて調べてみた
YoctoLTSについて調べてみたwata2ki
 
しょしんしゃのためのhello world
しょしんしゃのためのhello worldしょしんしゃのためのhello world
しょしんしゃのためのhello worldwata2ki
 
Linuxのsemaphoreとmutexを見る 
Linuxのsemaphoreとmutexを見る Linuxのsemaphoreとmutexを見る 
Linuxのsemaphoreとmutexを見る wata2ki
 
パッチを投稿してみた話
パッチを投稿してみた話パッチを投稿してみた話
パッチを投稿してみた話wata2ki
 

More from wata2ki (7)

鹿児島らぐハイブリッド開催への道
鹿児島らぐハイブリッド開催への道鹿児島らぐハイブリッド開催への道
鹿児島らぐハイブリッド開催への道
 
Linuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみたLinuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみた
 
YoctoでLTSディストリを作るには
YoctoでLTSディストリを作るにはYoctoでLTSディストリを作るには
YoctoでLTSディストリを作るには
 
YoctoLTSについて調べてみた
YoctoLTSについて調べてみたYoctoLTSについて調べてみた
YoctoLTSについて調べてみた
 
しょしんしゃのためのhello world
しょしんしゃのためのhello worldしょしんしゃのためのhello world
しょしんしゃのためのhello world
 
Linuxのsemaphoreとmutexを見る 
Linuxのsemaphoreとmutexを見る Linuxのsemaphoreとmutexを見る 
Linuxのsemaphoreとmutexを見る 
 
パッチを投稿してみた話
パッチを投稿してみた話パッチを投稿してみた話
パッチを投稿してみた話
 

ARM LinuxのMMUはわかりにくい