CurrentEL (текущий уровень исключения) на Android ARMv8-aAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 CurrentEL (текущий уровень исключения) на Android ARMv8-a

Сообщение Anonymous »

Я новичок в разработке сборок ARMv8-a и Android... Я пытаюсь заставить CurrentEL узнать, где я работаю и как перейти на другие уровни исключений, но когда я делаю mov x0, CurrentEL< /code> и попытайтесь сравнить с возможными значениями... он ничего не возвращает.
Мои ссылки:
krinkinmu
Документация по Arm
Мой код:

Код: Выделить всё

.arch armv8-a
.align 4

.text
.global main

main:
mrs x0, CurrentEL
and x0, x0, #0b11
cmp x0, #0b0000
beq el0
cmp x0, #0b0100
beq el1
cmp x0, #0b1000
beq el2
cmp x0, #0b1100
beq el3

el3:
mov x0, #1
adr x1, word1
mov x2, #3
mov x8, #0x40
svc #0
b end
el2:
mov x0, #1
adr x1, word2
mov x2, #3
mov x8, #0x40
svc #0
b end
el1:
mov x0, #1
adr x1, word3
mov x2, #3
mov x8, #0x40
svc #0
b end
el0:
mov x0, #1
adr x1, word4
mov x2, #3
mov x8, #0x40
svc #0

end:
mov x8, #93
mov x0, #0
svc #0

.section .data
.align 4
word1:
.ascii "a\0"
.align 4
word2:
.ascii "b\0"
.align 4
word3:
.ascii "c\0"
word4:
.align 4
.ascii "d\0"
Как получить значение регистра CurrentEL и сравнить его? Я использую clang для компиляции и хочу достичь EL2

Подробнее здесь: https://stackoverflow.com/questions/784 ... id-armv8-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»