Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Полный little-endian на ядре e500 (Freescale QorIQ)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PowerQUICC
embddr
Скажите пожалуйста, есть ли в природе LE ядро Linux для PowerPC e500 (Freescale 85хх, QorIQ)? Или никто не заморачивается? Просто есть много софта, зависящего от LE, а переписывать не очень хочется. Переписывать ядро под LE еще больше не хочется (ядро делаю я, а софт не я rolleyes.gif ), поэтому ищу готовый вариант.
_SY_
Я думаю, что софту глубоко безразлично в какой ендиановости работает ядро, т.е. другими словами можно запускать ядро Big Endian, а софт в Little Endian. Плюс есть возможность в MMU настраивать выбранные странички на трансляцию LE -> BE.

И вот еще презентуха на тему, правда сам не смотрел еще,
http://www.power.org/devcon/07/Session_Dow...nz_20070910.pdf

UPD: Посмотрел эту презентуху, ну вобщем все правильные слова там вроде бы сказаны, т.е. проблема ендиановости обычно возникает только при обращении к памяти и только если размер транзакции больше чем 1 байт. Для коры e500 решается средствами MMU (слайд 22).
embddr
Цитата(_SY_ @ Mar 24 2010, 16:54) *
Я думаю, что софту глубоко безразлично в какой ендиановости работает ядро, т.е. другими словами можно запускать ядро Big Endian, а софт в Little Endian. Плюс есть возможность в MMU настраивать выбранные странички на трансляцию LE -> BE.


Про это я в курсе, только в ядре я не нашел поддержки комбинирования страниц LE и BE, там все жестко на BE. Может не там смотрел?

И мне кажется, что софту вовсе не безразлично, BE ядро или LE. Хотя, применительно к e500 с поддержкой переключения "ендиановости" в ядре ОС, таки да, действительно все равно (я надеюсь).
_SY_
Цитата(embddr @ Mar 24 2010, 21:46) *
Про это я в курсе, только в ядре я не нашел поддержки комбинирования страниц LE и BE, там все жестко на BE. Может не там смотрел?

Я попробовал спросить у линуксоидов, только четкого ответа они мне пока дали. По моему мнению, врядли программа сама будет настраивать себе странички, т.е. это должно быть в ядре.
Но с другой стороны ядро которое есть - оно чисто BE и никаких там LE никто не положил. Вобщем, надо подумать как это сделать. Напишу может автору презентухи письмо.

Цитата(embddr @ Mar 24 2010, 21:46) *
И мне кажется, что софту вовсе не безразлично, BE ядро или LE. Хотя, применительно к e500 с поддержкой переключения "ендиановости" в ядре ОС, таки да, действительно все равно (я надеюсь).

Еще раз - "ендиановость" имеет смысл обсуждать только при обращении к памяти и только в некоторых конкретных случаях. В какой моде работает с памятью само ядро - софту должно быть безразлично, в моем понимании. Главное чтобы сам софт понимал, что байты в память сохраняются не в той последовательности, в которой это обычно бывает в случае LE. В некоторых случаях софт вообще может не заменить, в какой ендиановости работает.
Если конкретно говорить, то допустим какой-нибудь драйвер PCI карточки просто будет работать и все, без всяких заморочек.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.