1.1, Crazy Alex (ok), 21:55, 02/02/2013 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Добротно, что говорить... Но вот интересно - там хотя бы в планах что-то подобное PNP планируется? Или так и надо будет на каждое устройство отдельную сборку держать?
Ну и с HipHop - интересно, что они там курили :-)
| |
|
2.2, добрый дядя (?), 22:18, 02/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
ты про это? https://www.opennet.ru/opennews/art.shtml?num=35020
"Интегрированы наработки по унификации кода поддержки архитектуры ARM и обеспечению формирования многоплатформенных ARM-сборок. Если ранее требовалось собирать отдельный вариант ядра для каждого типа SoC, то начиная с выпуска 3.7 появится возможность собрать одно ядро, которое будет содержать поддержку различных ARM-платформ."
| |
|
3.3, Crazy Alex (ok), 23:55, 02/02/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
Нет, там тупо таблицы, из которых подтягиваются данные о нужном SOC, плюс какая-то система идентификации. А на PC устройства сами рапортуют, кто они. Собственно, разница идёт от того, что PC - это традиционно куча разных железок, а ARM - SOC или спаянная плата, на которой так просто компоненты не поменяешь. В результате ничего похожего на PNP на ARM нет.
| |
|
4.4, ананим (?), 00:10, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
ха! http://ru.wikipedia.org/wiki/ACPI#.D0.A2.D0.B5.D1.85.D0.BD.D0.B8.D1.87.D0.B5.
>Интерфейс ACPI организуется путём размещения в определённой области оперативной памяти нескольких таблиц, содержащих описание аппаратных ресурсов и программных методов управления ими. Каждый тип таблицы имеет определённый формат, описанный в спецификации. Кроме того, таблицы, содержащие методы управления устройствами и обработчики событий ACPI, содержат код на языке AML (ACPI Machine Language) — машинно независимый набор инструкций, представленный в компактной форме
результат:
# dmesg | grep -i '\[Firmware Bug\]: ACPI'
[ 0.291894] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[ 5.553303] [Firmware Bug]: ACPI(PEGP) defines _DOD but not _DOS
или к примеру взгляни на код по выбору таймера, офигеешь.
лучше уж пусть будет в ядре линуха проверяться, чем ещё парсить теже таблицы, только вшитые дядюшой Ляо (по заказу дядюшки Стива) да ещё с китайским пониманием секуребута.
состно ефи и придумали чтобы отказаться от устаревшего, вшитего хлама.
но нет такой идеи, что мс не опошлила бы.
| |
|
5.8, Crazy Alex (ok), 00:50, 03/02/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
"Но есть нюанс". На одну такую бажную железку будет тысяча нормальных. И плевать, где оно лежит - в таблицах на железке или модулями подгружается с неё же или ещё как. Суть в том, что операционка в норме не должна методом телепатии и научного тыка пытаться определять, а где это её запустили. Другое дело, если надо костыль туда впихнуть - но зачем считать костыль штатным механизмом? Но на ARM стандартного интерфейса фирмвари в жизни не было, даже такого странного, как BIOS с его ACPI.
| |
|
6.10, ананим (?), 01:58, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
>"Но есть нюанс". На одну такую бажную железку будет тысяча нормальных.
Акстись! Это была нормальная железка.
| |
6.11, ананим (?), 02:14, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
>Суть в том, что операционка в норме не должна методом телепатии и научного тыка пытаться определять, а где это её запустили.
ещё раз могу повторит — взгляни в код и удивись.
вначале ядро «верит» всей этой белиберде, потом проверяет, потом сравнивает, потом загружает исправленные фирваре, потом ещё одна итерация, потом выбирает рабочий вариант.
вот такая жизнь на PC.
во, показательный пример фасткэл (замена программного прерывания) на интелях http://lkml.org/lkml/2002/12/18/218 :
static const char sysent[] = {
0x51, /* push %ecx */
0x52, /* push %edx */
0x55, /* push %ebp */
0x89, 0xe5, /* movl %esp,%ebp */
0x0f, 0x34, /* sysenter */
/* System call restart point is here! (SYSENTER_RETURN - 2) */
0xeb, 0xfa, /* jmp to "movl %esp,%ebp" */
/* System call normal return point is here! (SYSENTER_RETURN in entry.S) */
0x5d, /* pop %ebp */
0x5a, /* pop %edx */
0x59, /* pop %ecx */
0xc3 /* ret */
};
it will really restart at the backwards jump, and thus re-start the "movl %esp,%ebp"
too
Практически хак для 6-го параметра. Вот такая жизнь на PC — [fr yf [frt b [frjv gjujyztn/
зыж
I'm a disgusting pig, and proud of it to boot.
Linus
| |
|
7.13, Crazy Alex (ok), 02:48, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
Только оно это делается там, где кривь мать отдаёт. То есть в худшем лсучае имеем то же, что на армах, но в норме - никаких отдельных шевелений для минимальной поддержки железки не нужно.
| |
|
6.14, Аноним (-), 03:12, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
> "Но есть нюанс". На одну такую бажную железку будет тысяча нормальных.
Ага, ЩАЗ. Вот что у х86 отстойное - так это BIOS. Пишут это криворукие бабуины. Что UEFI, что классический bios - глюкавы насквозь. Заметь, я вот так сходу могу показать еще минимум 2 машины где таблицы ACPI скомпонованы не в соответствии с стандартами. Глюкавый проприетарский крап эти ваши биосы.
| |
|
|
4.5, ананим (?), 00:19, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
и да:
>А на PC устройства сами рапортуют, кто они.
pci/usb/… id? PCI vendor and device codes?
дык это не от PC зависит. и PCI, и USB, и PCMCIA, и… поддерживаются не только на PC и это функция стандарта самой шины.
см. https://github.com/gentoo/hwids
| |
4.6, Аноним (-), 00:35, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
> В результате ничего похожего на PNP на ARM нет.
USB и прочим SATA это все расскажешь. И PCI(-E) растущий из ARM или MIPS тоже ничему не противоречит. Внезапно, правда? :)
| |
|
5.7, Crazy Alex (ok), 00:44, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
Только живьём всех этих PIC/PCI-E на ARM не видно. Всё по чёрт знает каким интерфейсам. Истандартной фирмвары (которая BIOS или там EFI на PC) тоже не видно.
| |
|
6.12, ананим (?), 02:15, 03/02/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
>Истандартной фирмвары (которая BIOS или там EFI на PC) тоже не видно.
и аминь.
штоб их там и не было.
| |
|
7.17, Аноним (-), 03:56, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
> штоб их там и не было.
Да уж. Вон UEFI в surface сделали. И конечно же не забыли запретить загрузку всего кроме вииды. Спасибо, конечно, за такие стандарты, но - пусть интел и майкрософт пройдут в сад.
| |
|
8.25, etw (??), 19:21, 04/02/2013 [^] [^^] [^^^] [ответить] | +/– | В чем тут вина UEFI, если загрузку чего угодно, кроме предустановленной вендором... текст свёрнут, показать | |
|
|
6.15, Аноним (-), 03:30, 03/02/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Только живьём всех этих PIC/PCI-E на ARM не видно.
Не знаю кому там что не видно, а вот у меня на столе стоит железка с MIPS и там есть MiniPCI. Ну, тот же PCI, только разъем компактный разъем и 3.3V-only. И ничо, работает. И что-то там PCI карты детектируются без каких либо х86 биосов. Более того, там еще и юсб есть. И он тоже плагнплейный, ясен фиг.
> Всё по чёрт знает каким интерфейсам.
Да где как. Сам по себе контроллер PCI(-E) в таком камне ничему не противоречит. В каких-то встроен. В каких-то нет. Зависит от того на какие задачи камень оптимизировали. А так - USB и PCI-E не так уж редко встречаются и в роли межчиповых шин, например. А что, быстрые, мало проводов, помехоустойчивые. Так что если где-то надо шустрый линк на заметное расстояние с приличной пропускной способностью - может и такое встретиться.
> Истандартной фирмвары (которая BIOS или там EFI на PC) тоже не видно.
К счастью. Нафиг-нафиг это кривое глюкало. Что bios/uefi у х86 глючные что трындец (вон в соседней новости например про самсуни дохнущие из-за глюков UEFI firmware), что сами чипсеты - они такие большие и переусложненные что если ты грепнешь в ядре по словечками типа quirk (воркэраунд косяков железа) - ты просто обуеешь если посмотришь сколько ЭТОГО порыто в дровах для х86 чипсетов. ARMам такое и не снилось. Ни для системной фирмвари, ни для переросточных чипсетов.
| |
|
7.20, Crazy Alex (ok), 05:31, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
Так суть в том,что в основном армовые системы - это SOC. То, что внешнее - оно да, по вполне стандартным шинам работает (хотя сунуть куда-нибудь i2c со своими командами, ато и просто по gpio и своему протоколу дергать - многие любят). А то, что в soc - а в нём всё - там, как правило, вообще ничего стандартного нет.
А глюкалово в BIOS - оно, в основном, просто плод долгого эволюционного развития, когда поддерживаются пять поколений технологий, четыре из которых давно legacy. С нуля можно много чище сделать.
| |
|
8.22, sasa (??), 12:45, 03/02/2013 [^] [^^] [^^^] [ответить] | +1 +/– | для этого и существуют ОС - избавить программиста от разборок с деталями аппарат... текст свёрнут, показать | |
|
|
|
5.9, Crazy Alex (ok), 00:51, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
а USB и SATA - это периферия, хорошо, что на них положение получше, но толку-то, если сначала загрузиться надо.
| |
|
6.16, Аноним (-), 03:34, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
> но толку-то, если сначала загрузиться надо.
Так ведь грузятся же. Бывают и очень забавные экспонаты. Например некоторые вообще с SATA напрямую грузятся - boot ROM с кристалла проца достаточно умен чтобы читануть несколько секторов с накопителя, распарсить и пнуть начальный загрузчик оттуда.
И да, ты просто не видел boot sequence у современного х86. Запуск ракеты с космодрома - намного более простая операция чем ЭТО. Вон сколько coreboot пилят и он таки не то чтобы в произвольную мамку льется. А в ARM - относительно простой загрузчик для относительно простой железяки.
| |
|
7.21, Crazy Alex (ok), 05:36, 03/02/2013 [^] [^^] [^^^] [ответить]
| +/– |
Вы бы мне ещё про A20 напомнили. Там жутина, но в основном по историческим причинам.
Не, я правда не пойму - что криминального в желании иметь стандартный способ опроса о фичах устройства и стандартный способ работы с ним - ну хотя бы так, как в USB или bluetooth? Там же часто отличия тупо на уровне разных адресов, по которым байты пихать надо для обмена с устройством? ну и стандартизировали бы это дело.
| |
|
8.23, ананим (?), 13:21, 03/02/2013 [^] [^^] [^^^] [ответить] | +1 +/– | Ничего Но факт в том, что и тот, и тот, и ещё ряд такие же и на армах Тебе ж о... текст свёрнут, показать | |
|
|
|
|
|
|
|
|