Перейти к содержанию
    

Полный little-endian на ядре e500 (Freescale QorIQ)

Скажите пожалуйста, есть ли в природе LE ядро Linux для PowerPC e500 (Freescale 85хх, QorIQ)? Или никто не заморачивается? Просто есть много софта, зависящего от LE, а переписывать не очень хочется. Переписывать ядро под LE еще больше не хочется (ядро делаю я, а софт не я :rolleyes: ), поэтому ищу готовый вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

И вот еще презентуха на тему, правда сам не смотрел еще,

http://www.power.org/devcon/07/Session_Dow...nz_20070910.pdf

 

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

Изменено пользователем _SY_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Изменено пользователем embddr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Я попробовал спросить у линуксоидов, только четкого ответа они мне пока дали. По моему мнению, врядли программа сама будет настраивать себе странички, т.е. это должно быть в ядре.

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

 

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

Еще раз - "ендиановость" имеет смысл обсуждать только при обращении к памяти и только в некоторых конкретных случаях. В какой моде работает с памятью само ядро - софту должно быть безразлично, в моем понимании. Главное чтобы сам софт понимал, что байты в память сохраняются не в той последовательности, в которой это обычно бывает в случае LE. В некоторых случаях софт вообще может не заменить, в какой ендиановости работает.

Если конкретно говорить, то допустим какой-нибудь драйвер PCI карточки просто будет работать и все, без всяких заморочек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...