Commit Diff


commit - 156b4889bd45ac6664a30d0618b2540d8b501ce8
commit + eb8e4bd9f7189e4d9dc2e2bbbe36f9d691f665bb
blob - 64ec048142364d2ae956a090aa386cf0474d2c78
blob + f17aa2fc8a1a81bb62ad8f0c11e51b25229a9ee0
--- capsule/squat/reports/aarch64_exception_model.gmi
+++ capsule/squat/reports/aarch64_exception_model.gmi
@@ -111,3 +111,10 @@ Arm архитектура не имеет строг
 В расширениях 2021 года, Armv8.8-A и Armv9.3-A, добавлена поддержка немаскируемых прерываний (Non-maskable interrupt, NMI). Если эта возможность включена, то такое прерывание может быть доставлено процессору несмотря на маски.
 
 ## Обработка исключений
+
+При обработка исключений в AArch64 используется специальная терминология:
+* Принятием исключения (taking an exception) называют момент, когда процессор реагирует на исключение.
+* Уровень исключения и состояние, которые исполнялись в момент принятия исключения, называются уровнем и состоянием с которого принимается исключение (taken from).
+* Уровень исключения и состояние, которые будут обрабатывать исключение, называются уровнем и состоянием в которые принимается исключение (taken to).
+
+Например исключение может быть принято с AArch32 EL0 в AArch64 EL1. Обработка исключения будет происходить в AArch64 на уровне исключений EL1. После обработки исключения система должна вернуться к состоянию с которого было принято исключение. В arm для этого есть отдельные инструкции. В нашем примере возврат из из исключения перейдет обратно в AArch32 на EL0.