> Было предложено: раскрывайте исходник для генерации Фирма AMD генерит хидеры с описанием регистров и полей из HDL исходников чипов. Логично же, там уже есть описание внешнего интерфейса чипа. Вам дать сорцы чипа GPU? LOL :)
> или блоб (так как между сгенерированными магическими константами и блобом нет разницы).
Что за блоб? И что с ним делать? В тех простынках описание регистров, типа смещений, масок полей и т.п. требухи. Это описание - по мере надобности - используется драйвером. Чтобы, внезапно, поменять что-то в том поле вон того регистра, узнав где регистр, сколько битов поле и т.п.
Само это описание - например, пачка #define которое не транслируется ни в какой код и данные покуда драйвер не захочет что-то реально сделать с вот именно этим регистром. Это весьма эффективно - никакого кода и данных покуда кто-то не захочет реально потрогать тот регистр.
> Ты своим глубоким экспертным умишком отверг эти варианты.
Странно что я отверг идиотию от ламо. Сам не понимаю что за фигня. Я так то сам такие простынки умею. Правда HDL сорцы чипов зажимают чота, приходится по даташиту/спекам, в лучшем случае "полуавтоматически" если удалось параметры в машиночитаемом виде сносно сдернуть.
> Ты, как эксперт заявляешь, лучше иметь сгенерированный код драйвера размер сравнимым со
> всем остальным кодом ядра и прочих драйверов.
Я как эксперт заявляю:
1) Это не "код" а "описание параметров регистров".
2) Пачка #define не есть предмет аллокации или кодогенерации сам по себе и весьма эффективно.
3) Блобы и что еще за бред никак не помогут вон тому куску на си узнать по какому смещению интересующий нас регистр, какой ширины вон то битовое поле в нем и т.п..
4) Вы совершенно не рубите в теме но свое ценное мнение имеете.
5) Я таки успешно скроил энное количество сравнимых штук, даже малость доразвив идею, и это даде еще и работает. И я таки очень сильно парился эффективностью этого. Поэтому получше вас знаю где и кого (не)реально обставить.