armv8: Support loading 32-bit OS in AArch32 execution state
Get series with b4
b4 am AM4PR0401MB173283FF916EC9C333C20D089AB70@AM4PR0401MB1732.eurprd04.prod.outlook.comVersions newest first · linked by author and title
- v8 Latest posting 2/20 of 3 patches 0 repliesNew
- v8 posting 1/23 patches 0 repliesSuperseded
- v72 patches 0 repliesSuperseded
Earlier versions · 4
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v6 | 0 of 2 patches | 0 replies | Superseded | |
| v4 | 1 of 2 patches | 0 replies | Superseded | |
| v3 | 1 of 2 patches | 0 replies | Superseded | |
| v1 | 2 patches | 0 replies | Superseded |
Patches in v8 posting 2/2 No applies recorded yet
None of the 3 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v8 yet.
Cover letter [U-Boot] [PATCH v8 0/3] armv8: Support loading 32-bit OS in AArch32 execution state
Quoted 49 lines · Alison Wang
This series is to support loading a 32-bit OS, the execution state will change from AArch64 to AArch32 when jumping to kernel. The architecture information will be got through checking FIT image, then U-Boot will load 32-bit OS or 64-bit OS automatically.
Spin-table method is used for secondary cores to load 32-bit OS.
The architecture information will be got through checking FIT image and saved in theos_archelement of spin-table, then the secondary cores will checkos_archand jump to 32-bit OS or 64-bit OS automatically.PSCI method can also be used for secondary cores to load 32-bit OS.
As PSCI and secure monitor firmware framework are enabled, loading 32-bit OS is supported in such case. The default target exception level returned to U-Boot is EL2, so the corresponding work to switch to AArch32 EL2 and jump to 32-bit OS are done in U-Boot and secure firmware together.---------------------------------------
Changes in v8:
- Fix the issue when U-Boot is running in EL2 or EL1.
- Support loading 32-bit OS with PSCI enabled.Changes in v7:
- Move the call forarmv8_switch_to_el2_minto the first patch.Changes in v6:
- Modifiedarmv8_switch_to_el1(). It will always jump to ep when switching to AArch64 or AArch32 modes.
- Make other platforms compatible with the newarmv8_switch_to_el2()andarmv8_switch_to_el1().
- Makesecondary_switch_to_el1()always jump to ep when switching to AArch64 or AArch32 modes.Changes in v5:
- Modifiedarmv8_switch_to_el2(). It will always jump to ep when switching to AArch64 or AArch32 modes.
- Makesecondary_switch_to_el2()always jump to ep when switching to AArch64 or AArch32 modes.Changes in v4:
- Correct configARM64_SUPPORT_AARCH32.
- Omit arch and ftaddr arguments.
- Rename "xreg5" to "tmp".
- Usexxx_RES1to combine all RES1 fields in xxx register.
- Use an immediate cmp directly.
- Use #ifdef forCONFIG_ARM64_SUPPORT_AARCH32.Changes in v3:
- Comments the functions and the arguments.
- Rename the real parameters.
- Use the macros instead of the magic values.
- Remove the redundant codes.
- Clean up all of the mess inboot_jump_linux().
- AddCONFIG_ARM64_SUPPORT_AARCH32to detect for some ARM64 system doesn't support AArch32 state.
- Adjust the arguments forarmv8_switch_to_el2_mandarmv8_switch_to_el1_m.Changes in v2:
-armv8_switch_to_el2_aarch32()is removed.armv8_switch_to_el2_mis used to switch to AArch64 EL2 or AArch32 Hyp.
-armv8_switch_to_el1_aarch32()is removed.armv8_switch_to_el1_mis used to switch to AArch64 EL1 or AArch32 SVC.
- Support to callarmv8_switch_to_el2_mandarmv8_switch_to_el1_m.
Quoted 3 lines
----------------------------------------------------------------
Alison Wang (3):
armv8: Support loading 32-bit OS in AArch32 execution state
Squashed with Alex Graf's patch "ls2080: efi_loader: Move EL2 switch to function call based version".
Quoted 3 lines
armv8: fsl-layerscape: SMP support for loading 32-bit OS
armv8: fsl-layerscape: Support loading 32-bit OS with PSCI enabled
This set is applied to fsl-qoriq, awaiting upstream. Thanks.
York