qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to start an armv8 machine in EL3?


From: ckim
Subject: How to start an armv8 machine in EL3?
Date: Wed, 3 Mar 2021 17:06:22 +0900

Hello all,

I found out in a baremetal program I run for qemu aarch64 ‘virt’ machine (cpu is cortex-a72),

the “msr sp_el1, x0” instruction causes trap making PC jump to 0x200 which is the vector address for synchronous exception, from current EL while using SP_ELx (if the vector base address was 0, which is the case).

(Ref : https://developer.arm.com/documentation/102412/0100/The-vector-tables )

When I read the ‘EL’ value by ‘msr x8, currentel’, x8 became ‘0x4’ so it is EL1 (https://community.arm.com/developer/ip-products/processors/f/cortex-a-forum/10303/armv8-a-currentel-register-definition)

How come cortex-a72 machines started at EL1?

And if I want to make the virtual machine start at EL3 (this baremetal code assumes it should be in EL3 after reset, and it runs ok in rtl sim.), what should I do?

Thank you very much for reading.

Chan Kim

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]