[PATCH] arm64: Disable EL2 traps for BRBE instructions executed in EL1

Liu, Yujie yujie.liu at intel.com
Tue Mar 28 22:52:06 PDT 2023


On Mon, 2023-03-27 at 11:38 +0530, Anshuman Khandual wrote:
> On 3/25/23 06:07, kernel test robot wrote:
> > All errors (new ones prefixed by >>):
> > 
> > > > <instantiation>:36:14: error: expected compatible register or logical immediate
> >     orr x0, x0, #HFGITR_EL2_nBRBIALL
> >                 ^
> >    <instantiation>:10:2: note: while in macro instantiation
> >     __init_el2_fgt
> >     ^
> >    arch/arm64/kernel/head.S:577:2: note: while in macro instantiation
> >     init_el2_state
> >     ^
> >    <instantiation>:37:14: error: expected compatible register or logical immediate
> >     orr x0, x0, #HFGITR_EL2_nBRBINJ
> >                 ^
> >    <instantiation>:10:2: note: while in macro instantiation
> >     __init_el2_fgt
> >     ^
> >    arch/arm64/kernel/head.S:577:2: note: while in macro instantiation
> >     init_el2_state
> >     ^
> 
> I guess these build errors are caused by unavailability of the pre-requisite
> patches from Mark Brown, in this test environment ?
> 
> https://lore.kernel.org/all/20230306-arm64-fgt-reg-gen-v3-0-decba93cbaab@kernel.org/ 

Thanks for the information.

We noticed that the base and prerequisite patches are mentioned in the
commit message:

---
This patch applies on v6.3-rc3, after the following patch series from Mark

https://lore.kernel.org/all/20230306-arm64-fgt-reg-gen-v3-0-decba93cbaab@kernel.org/


The robot couldn't understand above description, and it is recommended
to use `git format-patch --base` to generate base info.

Please refer to the documents in:
https://git-scm.com/docs/git-format-patch#_base_tree_information

For this case, the correct order of patches would be:

             arm64: Disable EL2 traps for BRBE instructions executed in EL1
             arm64/sysreg: Convert HFGITR_EL2 to automatic generation
             arm64/sysreg: Convert HFG[RW]TR_EL2 to automatic generation
e8d018dd0257 Linux 6.3-rc3

Please checkout to the patch and do `git format-patch --base
e8d018dd0257 -1`, it will generate base info in the footer of the
patch:

base-commit: e8d018dd0257f744ca50a729e3d042cf2ec9da65
prerequisite-patch-id: 6f448444c7a40a44146d4ecbfa57190ae30a257f
prerequisite-patch-id: 484c605fa9d35d776eda3c47ab95a24841712885

Then the robot can parse this info to select base and apply
prerequisite patches as expected.

--
Best Regards,
Yujie


More information about the linux-arm-kernel mailing list