Помещение ядра 0 в небезопасный мир - PullRequest
0 голосов
/ 19 сентября 2019

Я использую нестандартную плату, имеющую zynq-7000.Я запускаю два приложения на обоих ядрах.Я хочу поместить cpu0 в небезопасный мир и cpu1 в безопасный мир.Поскольку Cpu1 уже находится в безопасном мире, я пытаюсь сделать Cpu0 в незащищенном мире.

Я пытаюсь поместить cpu0 в нормальный мир, и я добавляю следующие строки в fsbl.

__asm__ (
    "MRC     p15, 0, r0, c1, c1, 0;"
    "ORR     r0,  r0, #0x1;"
    "MCR     p15, 0, r0, c1, c1, 0;"
);

Но, к сожалению, моя система зависает, и некоторое время выдает «DATA_ABORT_HANDLER FSBL Status = 0xA304».Я добавил эти строки (инструкция по сборке) в fsbl и попробовал его как патч для u-boot (если я загружаю linux вместо приложения baremetal).

Я также установил биты в регистрах TZ, чтобы они были небезопасными длятестирование.

Xil_Out32( TZ_OCM_RAM0, 0xffffffff);
Xil_Out32( TZ_OCM_RAM1, 0xffffffff);
Xil_Out32( TZ_OCM, 0xffffffff);
Xil_Out32( TZ_DDR_RAM, 0x0000ffff);

Может кто-нибудь сказать мне, куда идти отсюда?

Спасибо.

1 Ответ

0 голосов
/ 19 сентября 2019

Я думаю, что для этого нужно изменить ARM Trusted Firmware.

...