реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Полный little-endian на ядре e500 (Freescale QorIQ)
embddr
сообщение Mar 24 2010, 10:13
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 16-09-08
Из: Москва
Пользователь №: 40 233



Скажите пожалуйста, есть ли в природе LE ядро Linux для PowerPC e500 (Freescale 85хх, QorIQ)? Или никто не заморачивается? Просто есть много софта, зависящего от LE, а переписывать не очень хочется. Переписывать ядро под LE еще больше не хочется (ядро делаю я, а софт не я rolleyes.gif ), поэтому ищу готовый вариант.
Go to the top of the page
 
+Quote Post
_SY_
сообщение Mar 24 2010, 13:54
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 10-10-07
Из: Новосибирск
Пользователь №: 31 240



Я думаю, что софту глубоко безразлично в какой ендиановости работает ядро, т.е. другими словами можно запускать ядро Big Endian, а софт в Little Endian. Плюс есть возможность в MMU настраивать выбранные странички на трансляцию LE -> BE.

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

UPD: Посмотрел эту презентуху, ну вобщем все правильные слова там вроде бы сказаны, т.е. проблема ендиановости обычно возникает только при обращении к памяти и только если размер транзакции больше чем 1 байт. Для коры e500 решается средствами MMU (слайд 22).

Сообщение отредактировал _SY_ - Mar 24 2010, 14:25
Go to the top of the page
 
+Quote Post
embddr
сообщение Mar 24 2010, 15:46
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 16-09-08
Из: Москва
Пользователь №: 40 233



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


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

И мне кажется, что софту вовсе не безразлично, BE ядро или LE. Хотя, применительно к e500 с поддержкой переключения "ендиановости" в ядре ОС, таки да, действительно все равно (я надеюсь).

Сообщение отредактировал embddr - Mar 24 2010, 15:49
Go to the top of the page
 
+Quote Post
_SY_
сообщение Mar 31 2010, 02:23
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 10-10-07
Из: Новосибирск
Пользователь №: 31 240



Цитата(embddr @ Mar 24 2010, 21:46) *
Про это я в курсе, только в ядре я не нашел поддержки комбинирования страниц LE и BE, там все жестко на BE. Может не там смотрел?

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

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

Еще раз - "ендиановость" имеет смысл обсуждать только при обращении к памяти и только в некоторых конкретных случаях. В какой моде работает с памятью само ядро - софту должно быть безразлично, в моем понимании. Главное чтобы сам софт понимал, что байты в память сохраняются не в той последовательности, в которой это обычно бывает в случае LE. В некоторых случаях софт вообще может не заменить, в какой ендиановости работает.
Если конкретно говорить, то допустим какой-нибудь драйвер PCI карточки просто будет работать и все, без всяких заморочек.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 12:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016