Comments 8
Все это здорово, конечно, только зачем на ассемблере писать то, что можно написать на C в 10 строк? Ничего специфичного для архитектуры там нет, а для ARM и PPC программу уже не собрать.
+1
- Всё давно, успешно и легко программируется на ассемблере.
- Для совместимости с другими архитектурами используем EFI Byte Code; некоторые рекомендации изложены в захабреных «Организация вызова x86-процедур из EFI Byte Code» и «EFI Byte Code и операции с памятью»
- С неослабным внимание следим и за Вашими публикациями тоже :).
0
1. Понятно, что писать можно и нетрудно, непонятно только, зачем. Мне тоже приходится писать на ассемблере там, где PIC не завезли (пользуясь случаем, шлю разработчикам архитектуры amd64 охапку лучей добра за RIP-относительную адресацию), но вот так брать и писать на нем программу для UEFI Shell — больше похоже на фанатизм, дух старой школы и вот это все. :)
2. EBC пока не реализован ни на каких архитетурах, кроме i386, amd64 и Itanium, да и компилятор дают только за деньги, так что толку от него крайне немного.
3. Спасибо.
2. EBC пока не реализован ни на каких архитетурах, кроме i386, amd64 и Itanium, да и компилятор дают только за деньги, так что толку от него крайне немного.
3. Спасибо.
0
Извлечение EFI Byte Code из AMIBIOS:
Значительно проще и эффективнее будет найти EBC-интерпретатор среди модулей AMIBIOS, который соответствуют требованиям расширяемого интерфейса фирменного программного обеспечения. Таковым на сегодня является версия, которая называется Aptio.
Если по каким-то причинам возникнут затруднения с извлечением EBC-интерпретатора из бинарных файлов Aptio, исполняемый модуль виртуальной машины EFI Byte Code можно скачать здесь.
Значительно проще и эффективнее будет найти EBC-интерпретатор среди модулей AMIBIOS, который соответствуют требованиям расширяемого интерфейса фирменного программного обеспечения. Таковым на сегодня является версия, которая называется Aptio.
Если по каким-то причинам возникнут затруднения с извлечением EBC-интерпретатора из бинарных файлов Aptio, исполняемый модуль виртуальной машины EFI Byte Code можно скачать здесь.
0
У меня есть доступ к исходному коду этого модуля, но картины это не меняет, т.к. интерпретатор EBC на данный момент собирается только под три вышеупомянутых архитектуры, и для ARM и PowerPC просто не реализован еще.
0
Да, с этим дело обстоит неважнецки. Проверить нереально.
0
- Мы, например получили некоторую пользу от EBC, в частности UEFImark EBC Edition работает на x64 и IA32, что стало актуальным для устройств типа Intel Compute Stick. Платный компилятор не используем: для EBC инструкций сделаны собственные макросы под FASM.
- RIP-относительная адресация под UEFI действительно грустная тема. Смиренно используем загрузку абсолютных 64-битных адресов в регистры, вместо инструкции LEA, несмотря на то, что второй вариант компактнее...
0
Обычно, у нас демо-версии служат заготовками для более сложных программ, таких как, например, бенчмарки чтения-записи оперативной памяти в многопотоковом режиме AVX256/512 инструкциями. А там уже без ассемблерной низкоуровневой оптимизации не обойтись, иначе пропускная способность памяти будет задействована не полностью, а ее измерение будет недостаточно точным.
0
Sign up to leave a comment.
Возможна ли мультипроцессорная обработка в UEFI?