Я работаю над простым ядром и тестирую его на Qemu, который поддерживает RasPi3.
Во время загрузки Ras Pi переходит на уровень EL3, я устанавливаю spsr_el3 в 1 и elr_el3 в kernel_main, а затем используюЧтобы перейти в режим EL1.
Моя проблема: я создаю поток ядра, который все еще находится на уровне EL1.Я хочу переключить поток ядра на уровень пользователя.
Что я сделал, так это то, что этот поток ядра также установил spsr_el1 в 0 и elr_el1 в указатель на функцию, а затем eret.Но в этом случае прерывание синхронизации, я думаю, вызвано этим eret?