                        ARM Linux Υ֡
                        ==================

: Russell King
: 2002 ǯ 5  18 

ʸ 2.4.18-rmk6 ʹߤ˴طޤ

ARM Linux ֡Ȥ뤿ˤϡᥤ󥫡ͥưʥץ
Ǥ֡ȥɬפˤʤޤ֡ȥϡƼǥХ
ͥ˾ϤơǽŪ Linux ͥƤӽФȤ
ޤ

Ūˡ֡ȥ (ʤȤ) εǽ󶡤ɬפޤ

1. RAM ΥåȥåפȽ
2. ꥢݡȤĽ
3. ޥ󥿥פθ
4. ͥ륿դꥹȤΥåȥå
5. ͥ륤᡼θƽФ


1.RAM ΥåȥåפȽ
----------------------------

¸Υ֡ȥ: ɬ
֡ȥ: ɬ

֡ȥϡƥδȯǡǼΰȤƥͥ뤬ѤƤ
RAM 򸫤Ĥ뤳ȤƤޤϥޥ¸ˡǤ
ʤޤ(Ƥ RAM ΰ֤ȥưŪ˵르ꥺबȤ
뤫⤷ޤ󤷡ޥ RAM ˴ؤμ֡ȥ߷
Ԥޤȹͤ¾ˡȤ뤫⤷ޤ)


2. ꥢݡȤĽ
-----------------------------

¸Υ֡ȥ: Ǥա侩
֡ȥ: Ǥա侩

֡ȥϡåȤΥꥢݡȤĽͭˤƤ٤
Ǥ礦ˤꡢͥ륷ꥢɥ饤Фͥ륳󥽡Ȥ
Ѥ٤ꥢݡȤưФǤ褦ˤʤޤ (ŪˤϡǥХå
åȤȤ̿Τ˻Ѥޤ)

¾ȤƤϡݡȤӲʸƤ륷ꥢեޥå
ץ򥿥դꥹȤ˻ꤹ뤳ȤˤꡢϢ `console=' ץ
֡ȥ饫ͥϤȤǤޤ

       linux/Documentation/kernel-parameters.txt.


3. ޥ󥿥פθ
---------------------

¸Υ֡ȥ: Ǥ
֡ȥ: ɬ

֡ȥϡ餬ưƤޥΥפ򲿤餫ˡǸФɬפ
ޤ줬ϡɥǥ󥰤줿ͤʤΤȤ³줿ϡɥ
Ĵ٤벿Υ르ꥺʤΤȤˤĤƤϡʸϰϳǤ
֡ȥϡǽŪˤ MACH_TYPE_xxx Ȥͤ򥫡ͥ󶡤Ǥʤ
ʤޤ(linux/arch/arm/tools/mach-types 򻲾ȤƤ)


4. ͥ륿դꥹȤΥåȥå
---------------------------------------

¸Υ֡ȥ: Ǥա侩
֡ȥ: ɬ

֡ȥϥͥ륿դꥹȤʤФʤޤ
ͭʥդꥹȤ ATAG_CORE ǤϤޤꡢATAG_NONE ǽޤ
ATAG_CORE ϶ǤäƤʤƤ⤫ޤޤ󡣶 ATAG_CORE 
եɤ `2' (0x00000002) ˥åȤޤATAG_NONE Υ
եɤϥǤʤФʤޤ

ꥹȤˤϥ򤤤ĤǤޤ뤳ȤǤޤΥξ˷֤
ɲä򤪤ʤΤȤ⤽ξ֤Τϡ̤ǤԤ
褦ˤդޤ⤢СԤΤ褦ˤդޤ⤢ޤ

֡ȥϡʤȤ⥷ƥΥȰ֡ӥ롼ȥե
ƥΰ֤ϤɬפޤΤᡢǾ¤ΥդꥹȤϼ
褦ˤʤǤ礦

          +-----------+
١ -> | ATAG_CORE | |
          +-----------+ |
          | ATAG_MEM  | | ɥ쥹徺
          +-----------+ |
          | ATAG_NONE | |
          +-----------+ v

դꥹȤϥƥ RAM ˳Ǽޤ

դꥹȤϡͥץ initrd `bootp' ץब
뤳ȤΤʤϰϤ֤ɬפޤ侩֤ϡRAM 
ǽ 16KiB Ǥ


5. ͥ륤᡼θƽФ
---------------------------

¸Υ֡ȥ: ɬ
֡ȥ: ɬ

ͥ zImage ƤӽФΤˤĤˡޤzImage եå
ǼƤꡢեå夫鵯ưƤפʤ褦˥󥯤ƤʤС
֡ȥեå zImage ľܸƤӽФȤͭǤ

zImage Ϥޤƥ RAM ֤ (ʤ)ƤӽФƤ
ޤޤ󡣥ڡơ֥Ǽ뤿˥᡼겼 16K 򥫡ͥ뤬
Ѥ뤳ȤդƤ侩֤ϡRAM  32KiB Ǥ

ξǤ⡢ξ郎ΩäƤɬפޤ

- CPU 쥸
  r0 = 0
  r1 = 嵭 (3) ȯ줿ޥ󥿥פֹ
  r2 = ƥ RAM ΥդꥹȤʪɥ쥹

- CPU ⡼
  ɤΤ褦ʷγߤ̵ˤʤäƤʤФʤޤ (IRQ  FIQ )
  CPU  SVC ⡼ɤǤɬפޤ (Angel ξˤ̤㳰ޤ)

- å塢MMU
  MMU ϥդǤʤФʤޤ
  ̿ᥭåϥǤ⥪դǤ⤫ޤޤ
  ǡåϥդǤʤФʤޤ

֡ȥϡͥ륤᡼κǽ̿ľܥפ뤳Ȥˤ
ͥ륤᡼ƤӽФȤƤޤ

------------------------------------------------------------
Ρ JF ץ < http://www.linux.or.jp/JF/ >
   2004/02/13
ԡ    ɧ <takahiko(a)hakubi.co.jp>
