ATAG: различия между версиями
DmT (обсуждение | вклад) | Synergy (обсуждение | вклад) | ||
(не показаны 42 промежуточные версии 8 участников) | |||
Строка 1: | Строка 1: | ||
+ | <metadesc>ATAG - структура, содержащая параметры загрузки ядра Linux. В MOTOMAGX находится в CG41</metadesc> | ||
+ | |||
= Определение = | = Определение = | ||
Строка 42: | Строка 44: | ||
|} | |} | ||
− | + | В [[ROKR]] [[Z6]] из стандартных используются только ATAG_CORE, ATAG_CMDLINE и ATAG_NONE. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
---- | ---- | ||
{| border="1" | {| border="1" | ||
Строка 79: | Строка 54: | ||
! Structure members | ! Structure members | ||
! Description | ! Description | ||
+ | |- | ||
+ | | ATAG_CORE | ||
+ | | Заголовок структуры | ||
+ | | 0x54410001 | ||
+ | | 5 (2 if no data) | ||
+ | | <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 | ||
Строка 94: | Строка 80: | ||
char cmdline[1]; /* this is the minimum size */ | char cmdline[1]; /* this is the minimum size */ | ||
}; </pre></code> | }; </pre></code> | ||
− | | | + | | Используется для передачи коммандной строки ядру.Строка длжна быть 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 | ||
+ | Эти параметры используются только для загрузки специфического ядра телефона | ||
− | + | == См. также == | |
− | + | Подробное описание стандартных тэгов можно найти на [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] | |
− |
Текущая версия на 05:25, 1 апреля 2019
Определение
ATAG - структура, содержащая параметры загрузки ядра Linux. В MOTOMAGX находится в CG41.Получив управление, Bootloader должен после инициализации оборудования заполнить структуру ATAG, после чего передать её ядру.
Структура ATAG
Тип структуры | Идентификатор |
---|---|
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.
Tag | Tag Name | Value | Size | Structure members | Description |
---|---|---|---|---|---|
ATAG_CORE | Заголовок структуры | 0x54410001 | 5 (2 if no data) |
| Нет |
ATAG_NONE | Нулевой тэг | 0x00000000 | 2 | None | В Z6 flags=0x00000000,pagesize=0x00000100,rootdev=0x00000000. Этот Тэг используется для завершения структкры ATAG его размер должен быть 0 (а не 2 как у тэгов данных). |
ATAG_CMDLINE | Тэг коммандная строка | 0x54410009 | 2 + ((length_of_cmdline + 3) / 4) |
| Используется для передачи коммандной строки ядру.Строка длжна быть 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