Спасибо за статью, очень интересно. У меня есть маленький вопрос, есть такая функция gpio_to_irq, как она вписывается в эту картину? Она как я понял, возвращает глобальный номер перерывания?
А чем плохи системы с открытым кодом, такие как linux и *bsd? Почему так важен отечественный велосипед? Они ведь не привязывают пользователя к зарубежной аппаратной платформе, как это делает windows.
Так написано в документации libreboot, по ссылке что я привел в первом посте. Вот цитата:
Before version 6.0 (that is, on systems from 2008/2009 and earlier), the ME can be disabled by setting a couple of values in the SPI flash memory. The ME firmware can then be removed entirely from the flash memory space. libreboot does this on the Intel 4 Series systems that it supports, such as the Libreboot X200 and Libreboot T400. ME firmware versions 6.0 and later, which are found on all systems with an Intel Core i3/i5/i7 CPU and a PCH, include «ME Ingition» firmware that performs some hardware initialization and power management. If the ME's boot ROM does not find in the SPI flash memory an ME firmware manifest with a valid Intel signature, the whole PC will shut down after 30 minutes.
Я вижу что я написал, но я не могу понять что вам не нравится. Может путаются понятия больше/меньше старше/младше? Если процессор 2008 года то он ведь старше процессора 2015 года, то есть попадает в категорию не младше?
Если кратко то можно пользоваться компьютерами с процессором Intel не младше 2009 года и компьютерами с AMD не младше 2012 года. Из ноутбуков хорошо поддерживаются ThinkPad'ы T400 и X200. Более подробно можно почитать по этой ссылке https://libreboot.org/faq/#intelbastards
Наоборот, знание о константности обычных значений, как раз позволяет выполнить очень много других оптимизаций начиная от DCE и кончая раскруткой циклов. Но разговор о том что если компилятор не может доказать что значение константа, то и добавление в коде слова const ничем делу не поможет. Стандарт позволяет слишком много свободы.
Когда я только начинал программировать на C, я думал что указание константности помогает компилятору генерировать более эффективный код. А, как оказалось на самом деле, константы это самые обычные переменные, и они имеют абсолютно одинаковые шансы быть оптимизированными на равне с другими переменными. Все проверки на константность происходят на уровне исходного кода и помогают только разработчику не делать глупых ошибок, а до оптимизатора эта информация не доходит.
Как-то сомнительно звучит, что им не хватает производительности FUSE. Вон тот же ntfs-3g работает в юзерспейсе и на производительность никто не жалуется. Мне кажется что сами сетевые запросы будут на порядок медленнее чем оверхед от переключения контекста.
Подскажите пожалуйста, у меня есть один *.i файл с другой машины. Могу ли я его проверить? На сайте написано что нужно выбрать пункт меню «Tools->Verify Preprocessed Files...» но я его не вижу в последней версии.
А еще есть страшный враг векторизации который называется «указатели». иногда компилятор не может доказать что массивы не пересекаются и отказывается генерировать хороший код.
У меня разрешение не такое уже и большое, 1920x1080. Процессор Snapdragon 808, быстрее него ничего и не купишь сейчас, разве что 810 или Exynos 7420. И зачем вообще стирать экран черным цветом? Можно ведь сделать двойную буферизацию, или вообще отказаться от invalidate и воспользоваться всеми преимуществами аппаратного ускорения. Интерфейс андроида ведь выдает 60fps на анимациях, и не тормозит.
У меня при переходе между окнами весь экран моргает черным, прямо как у вас на видео. Такое чувство, что перед рисованием окна весь экран сначала заливается черным цветом, иногда несколько раз, и только потом рисуется содержимое.
Такое встречается довольно часто, когда на рынке есть несколько конкурирующих продуктов, но на самом деле они принадлежат одному концерну. Яркий пример VW AG, продает автомобили под брендами VW, Audi, Porsche, SEAT и т.д. Или например электроинструменты AEG, Ryobi и Milwaukee, как бы конкуренты, но все принадлежат одной Techtronic Industries.
gpio_to_irq
, как она вписывается в эту картину? Она как я понял, возвращает глобальный номер перерывания?