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

Изменения

ATAG

190 байт убрано, 05:25, 1 апреля 2019
Нет описания правки
<metadesc>ATAG-структура , содержащая параметры загругки загрузки ядра линуксLinux. В Motorola ROKR z6 MOTOMAGX находится в кодовой группе 41(CG41).Получив управление Бутлоадер(MBM) должен после инициализации оборудования заполнить структуру ATAG а потом передать её ядру.ATAG имеет следующий вид</metadesc>
----------------------------------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 — Заголовок ATAG - структура, содержащая параметры загрузки ядра [[Linux]]. В [[MOTOMAGX]] находится в [[CG41]].Получив управление, [[Bootloader]] должен после инициализации оборудования заполнить структуру ATAG, после чего передать её ядру. = Структура ATAG = {| border="1"|- style="background:#bfbfbf; font-weight: bold"! Тип структурыValue! Идентификатор|-| ATAG_CORE| 0x54410001|-| ATAG_MEM| 0x54410002|-| ATAG_VIDEOTEXT| 0x54410003|-| ATAG_RAMDISK| 0x54410004|-| ATAG_INITRD2| 0x54420005|-| ATAG_SERIAL| 0x54410006|-| ATAG_REVISION| 0x54410007|-| ATAG_VIDEOLFB| 0x54410008|-| ATAG_CMDLINE| 0x54410009|-| ATAG_NONE| 0x00000000|-|} В [[ROKR]] [[Z6]] из стандартных используются только ATAG_CORE, ATAG_CMDLINE и ATAG_NONE.----{| border="1"|- style="background:#bfbfbf; font-weight: bold"! Tag! Tag Name! Value! Size! Structure members! Description|-| ATAG_CORE| Заголовок структуры| 0x54410001| 5 (2 if no data)Structure members| <code><pre>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| 0x00000000Size| 2Structure members| NoneDescription| В Z6 flags=0x00000000,pagesize=0x00000100,rootdev=0x00000000.Этот Тэг используется для завершения структкры ATAG его размер должен быть 0 (а не 2 как у тэгоф тэгов данных).-------------------------------------------------------------------------------------------------|-| ATAG_CMDLINE ATAG_CMDLINE — | Тэг коммандная строкаValue | 0x54410009Size | 2 + ((length_of_cmdline + 3) / 4)Structure membersstruct| <code><pre>atag_cmdline {
char cmdline[1]; /* this is the minimum size */
};</pre></code>| Используется для передачи коммандной строки ядру.Строка длжна быть NULL terminated. Значения length_of_cmdline указывает на завершающий символ(/n).|}Загрузчик телефона также передаёт ядру и нетипичные параметры такие какDescription* ATAG_POWERUP_REASON В ROKR Z6 используется такая строка* ATAG_IPU_BUFFER_ADDRESS 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)* ATAG_IS_IPU_INITIALIZED * ATAG_GPU_CONTEXT * ATAG_USB_FIRMWARE_ADDRESS * ATAG_USB_FIRMWARE_SIZE * ATAG_MBM_VERSION * ATAG_MBM_LOADER_VERSION* ATAG_BOARDID 0xf1000409* ATAG_FLAT_DEV_TREE_ADDRESS* ATAG_FLASHING_COMPLETED * MOT_LOGO_VERSION_SIZE_OLD* MOT_LOGO_VERSION_SIZE* ATAG_LOGO_VERSION * ATAG_MEMORY_TYPE* ATAG_BATTERY_STATUS_AT_BOOT * ATAG_BOOT_FREQUENCY * ATAG_MEDL_INFO* ATAG_MBM_BOOTUP_TIME * ATAG_BP_LOADER_VERSION* ATAG_CLI_LOGO_VERSION Эти параметры используются только для загрузки специфического ядра телефона
Используется для передачи коммандной строки ядру== См.Строка длжна быть 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]
214
правок