Межпроцессорные прерывания в ARM cortex A9 (Как написать обработчик для программно генерируемых прерываний (ARM) в Linux?)

Я прочитал, что программные сгенерированные прерывания в ARM используются как межпроцессорные прерывания. Я также вижу, что 5 из этих прерываний уже используются. Я также знаю, что ARM предоставляет 16 программных прерываний.

В моем приложении я использую голое железо на ядрах ARM-cortex и Linux на другом. Я хочу передать некоторые данные из ядра, на котором запущено приложение «голое железо», в ядро под управлением Linux. Я планирую скопировать данные в оперативную память чипа (которая является общей) и активировать SGI на ядре (под управлением Linux), чтобы указать, что некоторые данные доступны для обработки. Теперь я могу сгенерировать SGI из ядра (запущенное приложение без использования металла). Но для обработки прерываний на стороне linux я не уверен, что номера SGI IRQ свободны, и я также не уверен, могу ли я использовать номер IRQ напрямую (обычно SGI от 0-15). У кого-нибудь есть идея, как написать обработчик для SGI в Linux?

Редактировать: Это переформулировка вышеприведенного текста, потому что вопрос был закрыт дляSSCE причины, Процессоры Cortex-A используются в многопроцессорных системах. Рукауниверсальный контроллер прерываний (GIC) отслеживает все глобальные прерывания и отправляет их на определенный процессор. Для того чтобы отдельные процессоры сигнализировали друг другу,программно сгенерированное прерывание (SGI) отправляется с одного ядра на другое; это используетпериферийные частные прерывания (ИЦП). Этот вопрос

Как реализовать драйвер ядра Linux, который может получать SGI в качестве PPI?

Ответы на вопрос(2)

Ваш ответ на вопрос