LINUX.ORG.RU

вопрос по pci-card memory : как сделать ординарной (общепринятой) память pci-карт


0

0

доброго всем здоровья! мы вот, собираемся разрабатывать RAM для размещения в PCI-слотах (зачем, почему - не для обсуждения. надо. насколько я знаю, Sun и пр выпускают cPCi-слоты памяти). но я чайник в linux. и не могу понять как можно подсунуть pci-память операционке так, чтобы она(ОС) считала её ординарной, т.е. могла ее распределять под сегменты исполняемых модулей и данных. есть ли у кого опыт такого финта, надо что-то дописывать в mmu или еще где? есть ли примеры таких решений? или может, вообще нет никаких проблем, и в linux имеется готовый механизм для этого?

еще вопрос: откуда ядро linux берёт объем доступной памяти?, покажите, пож-ста место в исходниках

и заранее огромное спасибо!

anonymous

Я в этом мало что понимаю, но помоему можно сделать такую железку обычным блочным устройством и разместить там swap-раздел. Или это не подходит?

Deleted
()
Ответ на: комментарий от magellan

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

cobold ★★★★★
()
Ответ на: комментарий от cobold

>> по идее на x86 можно сделать сделать по анлогии со свопом, нооо скорость доступа к такой памяти...

Скорость доступа по шине PCI будет в любом случае намного медленнее чем к обычной оперативной памяти. Так что помоему сделать её как swap - самый лучший вариант. Заодно появляется возможность использовать эту железку не только как оперативную память, но и допустим разместить на ней мегабыструю ФС, например для /var/tmp =).

Deleted
()
Ответ на: комментарий от int_0dh

SPARC(32).

и нужно, чтобы к pci-memory ОС обращалась как с ОСНОВНОЙ памятью. это без вопросов, без свопов, без блочных устройств и пр... :)

насколько я понял вчера, изучая ядро - надо будет прописАть в PROM такой микрокод, который проинициализует (сначала конечно замапит мою pci-память) свой массив sp_banks (в нем POST сохраняет данные о банках памяти:{адрес,длина}), которым потОм пользуется start_kernel (или типа того), вызывая init_memory (или типа того). так вот. в этот массив добавить также и pci-память. либо сделать это ужЕ в ядре (в start_kernel). ну а уж OC потОм пусть пользуется... правда, остается опасность, что ОС потОм захочет перемапить pci шину. ну а я должен буду это как-то запретить...

но как-то мне всё же не нравятся такие финты. слишком много надо делать. и скользко, и нестандартно. и надо сначала на какой-нибудь pci-видяхе попробовать..

у кого есть идеи !? заранее благодарен.

anonymous
()

Я в этом ничего не понимаю, но ядро поддерживает "горячую" замену... Это никак нельзя использовать? Типа сначала железка определяется как какая-нибудь звуковуха, потом "отключается", а в систему "подключается" память?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.