Я пытаюсь запустить ядро Linux в качестве защищенной ОС на платформе разработки, поддерживаемой TrustZone (Samsung exynos 4412). Хотя кто-то сказал бы, что безопасный os должен быть небольшим и простым. Но я просто хочу попробовать. И если это возможно, то писать или переносить приложение доверенного приложения на этот безопасный os будет легко, особенно для приложений с пользовательским интерфейсом (доверенный пользовательский интерфейс).Может ли ядро Linux работать как безопасная ОС ARM TrustZone?
Я купил плату разработки с безопасной защищенной ОС на основе Xv6, а обычная ОС - Android (версия Android 4.2.2, версия ядра 3.0.15). Я попытался заменить простые защищенные os ядром android Linux, то есть с небольшим ассемблерным кодом впереди, например, очистка NS-бит регистра SCR, непосредственно называемого записью ядра Linux (с переданным необходимым ядром помеченным списком) ,
Код несжатого кода ядра выполняется правильно, и также выполняется первая функция C ядра, start_kernel(). Почти все функции инициализации работают хорошо, за исключением выполнения для calibrate_delay(). Эта функция будет ждать тиков изменилась:
/* wait for "start of" clock tick */
ticks = jiffies;
while (ticks == jiffies);
Я думаю, причина нет часов генерируется прерывание (я печатаю журналы в часы прерывания функции обратного вызова, они никогда не получали в). Я проверил состояние CPSR до и после функции local_irq_enable(). Биты IRQ и FIQ установлены правильно. Я также печатаю несколько журналов в обработчике IRQ ядра Linux, определенном в таблице векторов прерываний. Ничего не зарегистрировано.
Я знаю, что могут быть некоторые различия в системе прерываний между безопасным миром и небезопасным миром. Но я не могу найти различия в какой-либо документации. Может ли кто-нибудь их указать? И самый важный вопрос заключается в том, что, поскольку Linux - очень сложная ОС, может ли ядро Linux работать как безопасная ОС TrustZone?
Я новичок в ядре Linux и ARM TrustZone. Пожалуйста, помогите мне.
Ядро скомпилировано для «реального» оборудования, а не аппаратного средства TrustZone (для которого драйверы вряд ли даже существуют). –
Спасибо за ваш ответ. Но я видел несколько реализаций доверия, которые могут делать много вещей, таких как отображение пользовательского интерфейса и сенсорный экран. Вы можете увидеть реализацию Genode. [Документация] (http://genode.org/documentation/articles/trustzone) [Видео] (https://www.youtube.com/watch?v=voFV1W4yyY8) –
Ваш вопрос кажется немного неясным. Оформить все вопросы в теге [tag: trust-zone] и особенно вопрос [Как разработать программы для зоны доверия рук] (http://stackoverflow.com/questions/15455011/how-to-develop-programs-for -arm-трест-зона). Вы ** не нуждаетесь в защищенной ОС для надежного * надежного *; просто безопасную загрузку, проверку раздела с блокировкой загрузки и таблицу мониторинга с помощью Secure API. –