Открыть главное меню

ATAG: различия между версиями

Строка 43:Строка 43:
  
 
Несмотря на столь огромное разнообразие структур, все они не используются; например, в [[ROKR]] [[Z6]] используются только ATAG_CORE, ATAG_CMDLINE и ATAG_NONE.
 
Несмотря на столь огромное разнообразие структур, все они не используются; например, в [[ROKR]] [[Z6]] используются только ATAG_CORE, ATAG_CMDLINE и ATAG_NONE.
 
= ATAG_CORE =
 
 
ATAG_CORE — Заголовок структуры
 
Value
 
0x54410001
 
Size
 
5 (2 if no data)
 
<code><pre>Structure members
 
struct atag_core {
 
        u32 flags;              /* bit 0 = read-only */
 
        u32 pagesize;          /* systems page size (usually 4k)*/
 
        u32 rootdev;            /* root device number */
 
}; </pre></code>
 
--------------------------------------------------------------------------------------------------
 
ATAG_NONE
 
 
ATAG_NONE — нулевой Тэг
 
Value
 
0x00000000
 
Size
 
2
 
Structure members
 
None
 
Description
 
В Z6 flags=0x00000000,pagesize=0x00000100,rootdev=0x00000000.
 
Этот Тэг используется для завершения структкры ATAG его размер должен быть 0 (а не 2 как у тэгов данных).
 
 
----
 
----
 
{| border="1"
 
{| border="1"
Строка 110:Строка 83:
 
Используется для передачи коммандной строки ядру.Строка длжна быть NULL terminated. Значения length_of_cmdline указывает на завершающий символ(/n).
 
Используется для передачи коммандной строки ядру.Строка длжна быть NULL terminated. Значения length_of_cmdline указывает на завершающий символ(/n).
 
|}
 
|}
--------------------------------------------------------------------------------------------------
 
ATAG_CMDLINE
 
 
ATAG_CMDLINE — Тэг коммандная строка
 
Value
 
 
0x54410009
 
Size
 
 
2 + ((length_of_cmdline + 3) / 4)
 
Structure membersstruct
 
atag_cmdline {
 
        char    cmdline[1];    /* this is the minimum size */
 
};
 
 
Description
 
В ROKR Z6 используется такая строка
 
ipu_mem=4444K@0x93700000 brdrev=P3A noinitrd console=/dev/null rw mem=60M@0x90000000 init=/linuxrc ip=off root=/dev/mtdblock/root mtdparts=nand0:192k@256k(pds),128k(setup),256k(logo),128k(secure),1536k@1088k(kern)ro,3968k(bpsw),29680k(root)ro,7680k(lang),7m(user),10752k(resrc),66512k(mass_storage),16k(kpanic),2672k(rsv)
 
 
Используется для передачи коммандной строки ядру.Строка длжна быть NULL terminated. Значения length_of_cmdline указывает на завершающий символ(/n).
 
 
---------------------------------------------------------------------------------------------------
 
---------------------------------------------------------------------------------------------------
 
Остальные тэги в телефонах Motorola в часности ROKR Z6 не используются подробное описание можно найти на [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html#ATAG_CORE http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html#ATAG_CORE]
 
Остальные тэги в телефонах Motorola в часности ROKR Z6 не используются подробное описание можно найти на [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html#ATAG_CORE http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html#ATAG_CORE]

Версия 17:37, 2 марта 2009

Определение

ATAG - структура, содержащая параметры загрузки ядра Linux. В MOTOMAGX находится в CG41.Получив управление, Bootloader должен после инициализации оборудования заполнить структуру ATAG, после чего передать её ядру.

Структура ATAG

Тип структурыИдентификатор
ATAG_CORE0x54410001
ATAG_MEM0x54410002
ATAG_VIDEOTEXT0x54410003
ATAG_RAMDISK0x54410004
ATAG_INITRD20x54420005
ATAG_SERIAL0x54410006
ATAG_REVISION0x54410007
ATAG_VIDEOLFB0x54410008
ATAG_CMDLINE0x54410009
ATAG_NONE0x00000000

Несмотря на столь огромное разнообразие структур, все они не используются; например, в ROKR Z6 используются только ATAG_CORE, ATAG_CMDLINE и ATAG_NONE.


TagTag NameValueSizeStructure membersDescription
ATAG_COREЗаголовок структуры0x544100015 (2 if no data)
struct atag_core { u32 flags; /* bit 0 = read-only */ u32 pagesize; /* systems page size (usually 4k)*/ u32 rootdev; /* root device number */
}; 
Нет
ATAG_NONEНулевой тэг0x000000002NoneВ Z6 flags=0x00000000,pagesize=0x00000100,rootdev=0x00000000. Этот Тэг используется для завершения структкры ATAG его размер должен быть 0 (а не 2 как у тэгов данных).
ATAG_CMDLINEТэг коммандная строка0x544100092 + ((length_of_cmdline + 3) / 4)
atag_cmdline { char cmdline[1]; /* this is the minimum size */
}; 
В ROKR Z6 используется такая строка

ipu_mem=4444K@0x93700000 brdrev=P3A noinitrd console=/dev/null rw mem=60M@0x90000000 init=/linuxrc ip=off root=/dev/mtdblock/root mtdparts=nand0:192k@256k(pds),128k(setup),256k(logo),128k(secure),1536k@1088k(kern)ro,3968k(bpsw),29680k(root)ro,7680k(lang),7m(user),10752k(resrc),66512k(mass_storage),16k(kpanic),2672k(rsv)

Используется для передачи коммандной строки ядру.Строка длжна быть NULL terminated. Значения length_of_cmdline указывает на завершающий символ(/n).


Остальные тэги в телефонах Motorola в часности ROKR Z6 не используются подробное описание можно найти на http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html#ATAG_CORE