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

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

(Структура ATAG)
Строка 42:Строка 42:
 
|}
 
|}
  
Несмотря на столь огромное разнообразие структур, все они не используются; например, в [[ROKR]] [[Z6]] используются только ATAG_CORE, ATAG_CMDLINE и ATAG_NONE.
+
В [[ROKR]] [[Z6]] из стандартных используются только ATAG_CORE, ATAG_CMDLINE и ATAG_NONE.
 
----
 
----
 
{| border="1"
 
{| border="1"
Строка 83:Строка 83:
 
Используется для передачи коммандной строки ядру.Строка длжна быть NULL terminated. Значения length_of_cmdline указывает на завершающий символ(/n).
 
Используется для передачи коммандной строки ядру.Строка длжна быть NULL terminated. Значения length_of_cmdline указывает на завершающий символ(/n).
 
|}
 
|}
 +
Загрузчик телефона также передаёт ядру и нетипичные параметры такие как
 +
ATAG_POWERUP_REASON
 +
ATAG_IPU_BUFFER_ADDRESS
 +
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
 +
Эти параметры используются только для загрузки специфического ядра телефона
 +
 
---------------------------------------------------------------------------------------------------
 
---------------------------------------------------------------------------------------------------
Остальные тэги в телефонах 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]
+
Подробное описание стандартных тэгов можно найти на [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]

Версия 15:27, 3 марта 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).

Загрузчик телефона также передаёт ядру и нетипичные параметры такие как ATAG_POWERUP_REASON ATAG_IPU_BUFFER_ADDRESS 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 Эти параметры используются только для загрузки специфического ядра телефона


Подробное описание стандартных тэгов можно найти на http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html#ATAG_CORE