9pi
Posts: 51
Joined: Sat Aug 11, 2012 6:14 pm

32-bit bare metal on rpi5

Fri Dec 01, 2023 2:58 pm

The config.txt documentation for the parameter "arm_64bit" now says: "Raspberry Pi 5 only supports 64-bit kernel so this parameter has been removed."

Is this a hardware limitation? ie is there something about the CPU which prevents it from operating in 32-bit mode?

Or is it a software limitation? ie has the support for rpi5 only been added to the 64-bit version of the debian kernel?

If it's only a software limitation, I hope we can ask for the "arm_64bit" parameter to be reinstated so we can run 32-bit bare metal programs (or exotic operating systems like Plan 9) on the Raspberry Pi 5.

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7195
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: 32-bit bare metal on rpi5

Fri Dec 01, 2023 3:03 pm

Hardware limitation. Security levels are only supported in 64-bit mode, with 32-bit only for user code.
It has to start in 64-bit mode.

9pi
Posts: 51
Joined: Sat Aug 11, 2012 6:14 pm

Re: 32-bit bare metal on rpi5

Fri Dec 01, 2023 5:36 pm

Thanks. I understand you to mean that the firmware on rpi5 will always boot the kernel (or other bare-metal program) in EL3, Secure state, AArch64, is that right? Is there anything in the hardware which prevents the booted code from then switching to EL1, Non-secure, AArch32 so it can continue to run as an old-fashioned 32-bit kernel?


9pi
Posts: 51
Joined: Sat Aug 11, 2012 6:14 pm

Re: 32-bit bare metal on rpi5

Fri Dec 01, 2023 6:49 pm

OK, that's a hardware limitation all right. Thanks for the reference.

Return to “Bare metal, Assembly language”