Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.
We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.
Thank you for your understanding.
Dear everyone:
I baremetal boot the Cortex-A55,want it to work on AARCH32 state at the EL1,but always into the exception.
I refer to the book which named DAI0527A_baremetal_boot_code_for_ARMv8_A_processors .
// Initialize the SCTLR_EL1 register before entering EL1.MSR SCTLR_EL1, XZRMRS X0, HCR_EL2BIC X0, X0, #(1<<31) // RW=0 EL1 Execution state is AArch32.MSR HCR_EL2, X0MOV X0, #0b10011 // DAIF=0000MSR SPSR_EL2, X0 // M[4:0]=10011 EL1 is SVC mode must match HCR_EL2.RW.// Determine EL1 Execution state.ADR X0, el1_entry // el1_entry points to the first instruction of SVCMSR ELR_EL2, X0 // mode code.ERETel1_entry:// EL1 code here.
Please check SCR_EL3.NS bit to confirm whehter the code is switching to secure or non secure EL1.