Re: [PATCH v3]arm: Restrict processor mode change when in hypervisor mode.
Richard Earnshaw <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
Pushed (with tweaks to the commit message). R. On 03/03/2023 13:12, Srinath Parvathaneni wrote: > Hi All, > > In _stack_init function of crt0.S file, when the current mode is not > user mode, > all the processor modes are parsed and the corresponding stack limit are > set for > these modes for all A-profile and R-profile CPU's. But if a CPU > implements EL2 > as its highest exception level, then the core (or a model of it) will > start in that > mode. For example, with Cortex-R52 the processor starts by default is > hypervisor > mode (EL2), changing to any other mode using CPSR will result in an illegal > instruction as per Arm-arm. > This patch prevent the change of Hypervisor mode to any other EL1 modes in > _stack_init function in crt0.S files and does not set the stack limit > for those > EL1 modes. > > Regression tested on arm-none-eabi target for newlib and newlib-nano and > found > no regressions. > > Ok for newlib master? > > Regards, > Srinath. > > libgloss/ChangeLog: > > 2023-03-03 Srinath Parvathaneni<[email protected]> > > * arm/crt0.S (_stack_init): Add check for hypervisor mode. > > newlib/ChangeLog: > > 2023-03-03 Srinath Parvathaneni<[email protected]> > > * libc/sys/arm/crt0.S (_stack_init): Add check for hypervisor > mode.