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

Изменения

ATAG

3650 байт добавлено, 16:10, 2 марта 2009
Нет описания правки
ATAG-структура содержащая параметры загругки ядра линукс. В Motorola ROKR z6 находится в кодовой группе 41(CG41).Получив управление Бутлоадер(MBM) должен после инициализации оборудования заполнить структуру ATAG а потом передать её ядру.
ATAG имеет следующий вид

----------------------------------
WORD(size) ATAG_CORE (0x54410001) (Structure members)
WORD(size) ATAG_MEM (0x54410002) (Structure members) //В z6 не используется
WORD(size) ATAG_VIDEOTEXT (0x54410003) (Structure members) //В z6 не используется
WORD(size) ATAG_RAMDISK (0x54410004) (Structure members) //В z6 не используется
WORD(size) ATAG_INITRD2 (0x54420005) (Structure members) //В z6 не используется
WORD(size) ATAG_SERIAL (0x54410006) (Structure members) //В z6 не используется
WORD(size) ATAG_REVISION (0x54410007) (Structure members) //В z6 не используется
WORD(size) ATAG_VIDEOLFB (0x54410008) (Structure members) //В z6 не используется
WORD(size) ATAG_CMDLINE (0x54410009) (Structure members)
WORD(size) ATAG_NONE (0x00000000) (Structure members)
---------------------------------------------------------------------------------------------------
ATAG_CORE

ATAG_CORE — Заголовок структуры
Value
0x54410001
Size
5 (2 if no data)
Structure members
struct atag_core {
u32 flags; /* bit 0 = read-only */
u32 pagesize; /* systems page size (usually 4k)*/
u32 rootdev; /* root device number */
};
--------------------------------------------------------------------------------------------------
ATAG_NONE

ATAG_NONE — нулевой Тэг
Value
0x00000000
Size
2
Structure members
None
Description
В Z6 flags=0x00000000,pagesize=0x00000100,rootdev=0x00000000.
Этот Тэг используется для завершения структкры ATAG его размер должен быть 0 (а не 2 как у тэгоф данных).
--------------------------------------------------------------------------------------------------
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]
Анонимный участник