* Re: [PATCH 2/3] arm64/boot: Enable EL2 requirements for FEAT_Debugv8p9
2024-10-01 4:36 ` [PATCH 2/3] arm64/boot: Enable EL2 requirements for FEAT_Debugv8p9 Anshuman Khandual
@ 2024-10-02 23:25 ` kernel test robot
2024-10-02 23:25 ` kernel test robot
2024-10-22 16:10 ` Mark Rutland
2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2024-10-02 23:25 UTC (permalink / raw)
To: Anshuman Khandual, linux-kernel, linux-arm-kernel
Cc: llvm, oe-kbuild-all, Anshuman Khandual, Jonathan Corbet,
Marc Zyngier, Oliver Upton, James Morse, Suzuki K Poulose,
Catalin Marinas, Will Deacon, Mark Brown, Mark Rutland, kvmarm,
linux-doc
Hi Anshuman,
kernel test robot noticed the following build errors:
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on kvmarm/next soc/for-next arm/for-next arm/fixes linus/master v6.12-rc1 next-20241002]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Anshuman-Khandual/arm64-cpufeature-Add-field-details-for-ID_AA64DFR1_EL1-register/20241001-123752
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
patch link: https://lore.kernel.org/r/20241001043602.1116991-3-anshuman.khandual%40arm.com
patch subject: [PATCH 2/3] arm64/boot: Enable EL2 requirements for FEAT_Debugv8p9
config: arm64-randconfig-002-20241003 (https://download.01.org/0day-ci/archive/20241003/202410030702.9xBCVi6s-lkp@intel.com/config)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241003/202410030702.9xBCVi6s-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410030702.9xBCVi6s-lkp@intel.com/
All errors (new ones prefixed by >>):
>> <instantiation>:3:10: error: expected compatible register, symbol or integer in range [0, 4095]
cmp x1, #ID_AA64MMFR0_EL1_FGT_FGT2
^
<instantiation>:12:2: note: while in macro instantiation
__init_el2_fgt2
^
arch/arm64/kernel/head.S:317:2: note: while in macro instantiation
init_el2_state
^
>> <instantiation>:1:5: error: expected absolute expression
.if (((HDFGWTR2_EL2_nMDSELR_EL1) >> 31) == 0 || ((HDFGWTR2_EL2_nMDSELR_EL1) >> 31) == 0x1ffffffff)
^
<instantiation>:11:2: note: while in macro instantiation
mov_q x0, HDFGWTR2_EL2_nMDSELR_EL1
^
<instantiation>:12:2: note: while in macro instantiation
__init_el2_fgt2
^
arch/arm64/kernel/head.S:317:2: note: while in macro instantiation
init_el2_state
^
<instantiation>:4:6: error: expected absolute expression
.if (((HDFGWTR2_EL2_nMDSELR_EL1) >> 47) == 0 || ((HDFGWTR2_EL2_nMDSELR_EL1) >> 47) == 0x1ffff)
^
<instantiation>:11:2: note: while in macro instantiation
mov_q x0, HDFGWTR2_EL2_nMDSELR_EL1
^
<instantiation>:12:2: note: while in macro instantiation
__init_el2_fgt2
^
arch/arm64/kernel/head.S:317:2: note: while in macro instantiation
init_el2_state
^
>> <instantiation>:1:6: error: expected constant expression
.inst(0xd5000000|(SYS_HDFGWTR2_EL2)|(.L__gpr_num_x0))
^
<instantiation>:12:2: note: while in macro instantiation
msr_s SYS_HDFGWTR2_EL2, x0
^
<instantiation>:12:2: note: while in macro instantiation
__init_el2_fgt2
^
arch/arm64/kernel/head.S:317:2: note: while in macro instantiation
init_el2_state
^
>> <instantiation>:1:6: error: expected constant expression
.inst(0xd5000000|(SYS_HDFGRTR2_EL2)|(.L__gpr_num_x0))
^
<instantiation>:13:2: note: while in macro instantiation
msr_s SYS_HDFGRTR2_EL2, x0
^
<instantiation>:12:2: note: while in macro instantiation
__init_el2_fgt2
^
arch/arm64/kernel/head.S:317:2: note: while in macro instantiation
init_el2_state
^
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 2/3] arm64/boot: Enable EL2 requirements for FEAT_Debugv8p9
2024-10-01 4:36 ` [PATCH 2/3] arm64/boot: Enable EL2 requirements for FEAT_Debugv8p9 Anshuman Khandual
2024-10-02 23:25 ` kernel test robot
@ 2024-10-02 23:25 ` kernel test robot
2024-10-22 16:10 ` Mark Rutland
2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2024-10-02 23:25 UTC (permalink / raw)
To: Anshuman Khandual, linux-kernel, linux-arm-kernel
Cc: oe-kbuild-all, Anshuman Khandual, Jonathan Corbet, Marc Zyngier,
Oliver Upton, James Morse, Suzuki K Poulose, Catalin Marinas,
Will Deacon, Mark Brown, Mark Rutland, kvmarm, linux-doc
Hi Anshuman,
kernel test robot noticed the following build errors:
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on kvmarm/next soc/for-next arm/for-next arm/fixes linus/master v6.12-rc1 next-20241002]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Anshuman-Khandual/arm64-cpufeature-Add-field-details-for-ID_AA64DFR1_EL1-register/20241001-123752
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
patch link: https://lore.kernel.org/r/20241001043602.1116991-3-anshuman.khandual%40arm.com
patch subject: [PATCH 2/3] arm64/boot: Enable EL2 requirements for FEAT_Debugv8p9
config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20241003/202410030737.Mxx9Cvge-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241003/202410030737.Mxx9Cvge-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410030737.Mxx9Cvge-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/arm64/kernel/head.S: Assembler messages:
>> arch/arm64/kernel/head.S:550: Error: non-constant expression in ".if" statement
arch/arm64/kernel/head.S:237: Info: macro invoked from here
arch/arm64/kernel/head.S:269: Info: macro invoked from here
arch/arm64/kernel/head.S:317: Info: macro invoked from here
arch/arm64/kernel/head.S:553: Error: non-constant expression in ".if" statement
arch/arm64/kernel/head.S:237: Info: macro invoked from here
arch/arm64/kernel/head.S:269: Info: macro invoked from here
arch/arm64/kernel/head.S:317: Info: macro invoked from here
>> arch/arm64/kernel/head.S:1094: Error: constant expression required
arch/arm64/kernel/head.S:238: Info: macro invoked from here
arch/arm64/kernel/head.S:269: Info: macro invoked from here
arch/arm64/kernel/head.S:317: Info: macro invoked from here
>> arch/arm64/kernel/head.S:1094: Error: constant expression required
arch/arm64/kernel/head.S:239: Info: macro invoked from here
arch/arm64/kernel/head.S:269: Info: macro invoked from here
arch/arm64/kernel/head.S:317: Info: macro invoked from here
>> arch/arm64/kernel/head.S:317: Error: undefined symbol ID_AA64MMFR0_EL1_FGT_FGT2 used as an immediate value
vim +317 arch/arm64/kernel/head.S
034edabe6cf1d0d Laura Abbott 2014-11-21 246
034edabe6cf1d0d Laura Abbott 2014-11-21 247 /*
034edabe6cf1d0d Laura Abbott 2014-11-21 248 * end early head section, begin head code that is also used for
034edabe6cf1d0d Laura Abbott 2014-11-21 249 * hotplug and needs to have the same protections as the text region
034edabe6cf1d0d Laura Abbott 2014-11-21 250 */
d54170812ef1c80 Mark Rutland 2023-02-20 251 .section ".idmap.text","a"
f80fb3a3d50843a Ard Biesheuvel 2016-01-26 252
9703d9d7f77ce12 Catalin Marinas 2012-03-05 253 /*
ecbb11ab3ebc027 Mark Rutland 2020-11-13 254 * Starting from EL2 or EL1, configure the CPU to execute at the highest
ecbb11ab3ebc027 Mark Rutland 2020-11-13 255 * reachable EL supported by the kernel in a chosen default state. If dropping
ecbb11ab3ebc027 Mark Rutland 2020-11-13 256 * from EL2 to EL1, configure EL2 before configuring EL1.
828e9834e9a5b7e Matthew Leach 2013-10-11 257 *
d87a8e65b510112 Mark Rutland 2020-11-13 258 * Since we cannot always rely on ERET synchronizing writes to sysregs (e.g. if
d87a8e65b510112 Mark Rutland 2020-11-13 259 * SCTLR_ELx.EOS is clear), we place an ISB prior to ERET.
828e9834e9a5b7e Matthew Leach 2013-10-11 260 *
b65e411d6cc2f12 Marc Zyngier 2022-06-30 261 * Returns either BOOT_CPU_MODE_EL1 or BOOT_CPU_MODE_EL2 in x0 if
b65e411d6cc2f12 Marc Zyngier 2022-06-30 262 * booted in EL1 or EL2 respectively, with the top 32 bits containing
b65e411d6cc2f12 Marc Zyngier 2022-06-30 263 * potential context flags. These flags are *not* stored in __boot_cpu_mode.
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 264 *
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 265 * x0: whether we are being called from the primary boot path with the MMU on
9703d9d7f77ce12 Catalin Marinas 2012-03-05 266 */
ecbb11ab3ebc027 Mark Rutland 2020-11-13 267 SYM_FUNC_START(init_kernel_el)
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 268 mrs x1, CurrentEL
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 269 cmp x1, #CurrentEL_EL2
d87a8e65b510112 Mark Rutland 2020-11-13 270 b.eq init_el2
d87a8e65b510112 Mark Rutland 2020-11-13 271
d87a8e65b510112 Mark Rutland 2020-11-13 272 SYM_INNER_LABEL(init_el1, SYM_L_LOCAL)
31a32b49b80f79c Marc Zyngier 2021-04-08 273 mov_q x0, INIT_SCTLR_EL1_MMU_OFF
9d7c13e5dde3127 Ard Biesheuvel 2023-01-11 274 pre_disable_mmu_workaround
31a32b49b80f79c Marc Zyngier 2021-04-08 275 msr sctlr_el1, x0
9cf71728931a407 Matthew Leach 2013-10-11 276 isb
d87a8e65b510112 Mark Rutland 2020-11-13 277 mov_q x0, INIT_PSTATE_EL1
d87a8e65b510112 Mark Rutland 2020-11-13 278 msr spsr_el1, x0
d87a8e65b510112 Mark Rutland 2020-11-13 279 msr elr_el1, lr
d87a8e65b510112 Mark Rutland 2020-11-13 280 mov w0, #BOOT_CPU_MODE_EL1
d87a8e65b510112 Mark Rutland 2020-11-13 281 eret
9703d9d7f77ce12 Catalin Marinas 2012-03-05 282
d87a8e65b510112 Mark Rutland 2020-11-13 283 SYM_INNER_LABEL(init_el2, SYM_L_LOCAL)
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 284 msr elr_el2, lr
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 285
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 286 // clean all HYP code to the PoC if we booted at EL2 with the MMU on
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 287 cbz x0, 0f
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 288 adrp x0, __hyp_idmap_text_start
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 289 adr_l x1, __hyp_text_end
d54170812ef1c80 Mark Rutland 2023-02-20 290 adr_l x2, dcache_clean_poc
d54170812ef1c80 Mark Rutland 2023-02-20 291 blr x2
34e526cb7d46726 Ard Biesheuvel 2024-04-15 292
34e526cb7d46726 Ard Biesheuvel 2024-04-15 293 mov_q x0, INIT_SCTLR_EL2_MMU_OFF
34e526cb7d46726 Ard Biesheuvel 2024-04-15 294 pre_disable_mmu_workaround
34e526cb7d46726 Ard Biesheuvel 2024-04-15 295 msr sctlr_el2, x0
34e526cb7d46726 Ard Biesheuvel 2024-04-15 296 isb
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 297 0:
78869f0f0552d03 David Brazdil 2020-12-02 298 mov_q x0, HCR_HOST_NVHE_FLAGS
b3320142f3db9b3 Marc Zyngier 2024-03-21 299
b3320142f3db9b3 Marc Zyngier 2024-03-21 300 /*
b3320142f3db9b3 Marc Zyngier 2024-03-21 301 * Compliant CPUs advertise their VHE-onlyness with
b3320142f3db9b3 Marc Zyngier 2024-03-21 302 * ID_AA64MMFR4_EL1.E2H0 < 0. HCR_EL2.E2H can be
b3320142f3db9b3 Marc Zyngier 2024-03-21 303 * RES1 in that case. Publish the E2H bit early so that
b3320142f3db9b3 Marc Zyngier 2024-03-21 304 * it can be picked up by the init_el2_state macro.
b3320142f3db9b3 Marc Zyngier 2024-03-21 305 *
b3320142f3db9b3 Marc Zyngier 2024-03-21 306 * Fruity CPUs seem to have HCR_EL2.E2H set to RAO/WI, but
b3320142f3db9b3 Marc Zyngier 2024-03-21 307 * don't advertise it (they predate this relaxation).
b3320142f3db9b3 Marc Zyngier 2024-03-21 308 */
b3320142f3db9b3 Marc Zyngier 2024-03-21 309 mrs_s x1, SYS_ID_AA64MMFR4_EL1
b3320142f3db9b3 Marc Zyngier 2024-03-21 310 tbz x1, #(ID_AA64MMFR4_EL1_E2H0_SHIFT + ID_AA64MMFR4_EL1_E2H0_WIDTH - 1), 1f
b3320142f3db9b3 Marc Zyngier 2024-03-21 311
b3320142f3db9b3 Marc Zyngier 2024-03-21 312 orr x0, x0, #HCR_E2H
b3320142f3db9b3 Marc Zyngier 2024-03-21 313 1:
78869f0f0552d03 David Brazdil 2020-12-02 314 msr hcr_el2, x0
22043a3c082a584 Dave Martin 2017-10-31 315 isb
78869f0f0552d03 David Brazdil 2020-12-02 316
e2df464173f0b58 Marc Zyngier 2021-02-08 @317 init_el2_state
22043a3c082a584 Dave Martin 2017-10-31 318
712c6ff4dba4917 Marc Zyngier 2012-10-19 319 /* Hypervisor stub */
78869f0f0552d03 David Brazdil 2020-12-02 320 adr_l x0, __hyp_stub_vectors
712c6ff4dba4917 Marc Zyngier 2012-10-19 321 msr vbar_el2, x0
d87a8e65b510112 Mark Rutland 2020-11-13 322 isb
78869f0f0552d03 David Brazdil 2020-12-02 323
ae4b7e38e9a9479 Marc Zyngier 2022-06-30 324 mov_q x1, INIT_SCTLR_EL1_MMU_OFF
ae4b7e38e9a9479 Marc Zyngier 2022-06-30 325
31a32b49b80f79c Marc Zyngier 2021-04-08 326 mrs x0, hcr_el2
31a32b49b80f79c Marc Zyngier 2021-04-08 327 and x0, x0, #HCR_E2H
3944382fa6f22b5 Marc Zyngier 2024-01-22 328 cbz x0, 2f
b3320142f3db9b3 Marc Zyngier 2024-03-21 329
ae4b7e38e9a9479 Marc Zyngier 2022-06-30 330 /* Set a sane SCTLR_EL1, the VHE way */
ae4b7e38e9a9479 Marc Zyngier 2022-06-30 331 msr_s SYS_SCTLR_EL12, x1
ae4b7e38e9a9479 Marc Zyngier 2022-06-30 332 mov x2, #BOOT_CPU_FLAG_E2H
3944382fa6f22b5 Marc Zyngier 2024-01-22 333 b 3f
31a32b49b80f79c Marc Zyngier 2021-04-08 334
3944382fa6f22b5 Marc Zyngier 2024-01-22 335 2:
ae4b7e38e9a9479 Marc Zyngier 2022-06-30 336 msr sctlr_el1, x1
ae4b7e38e9a9479 Marc Zyngier 2022-06-30 337 mov x2, xzr
3944382fa6f22b5 Marc Zyngier 2024-01-22 338 3:
1700f89cb99aae1 Marc Zyngier 2023-06-14 339 __init_el2_nvhe_prepare_eret
1700f89cb99aae1 Marc Zyngier 2023-06-14 340
d87a8e65b510112 Mark Rutland 2020-11-13 341 mov w0, #BOOT_CPU_MODE_EL2
ae4b7e38e9a9479 Marc Zyngier 2022-06-30 342 orr x0, x0, x2
9703d9d7f77ce12 Catalin Marinas 2012-03-05 343 eret
ecbb11ab3ebc027 Mark Rutland 2020-11-13 344 SYM_FUNC_END(init_kernel_el)
9703d9d7f77ce12 Catalin Marinas 2012-03-05 345
9703d9d7f77ce12 Catalin Marinas 2012-03-05 346 /*
9703d9d7f77ce12 Catalin Marinas 2012-03-05 347 * This provides a "holding pen" for platforms to hold all secondary
9703d9d7f77ce12 Catalin Marinas 2012-03-05 348 * cores are held until we're ready for them to initialise.
9703d9d7f77ce12 Catalin Marinas 2012-03-05 349 */
c63d9f82db94399 Mark Brown 2020-02-18 350 SYM_FUNC_START(secondary_holding_pen)
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 351 mov x0, xzr
ecbb11ab3ebc027 Mark Rutland 2020-11-13 352 bl init_kernel_el // w0=cpu_boot_mode
005e12676af09a3 Ard Biesheuvel 2022-06-24 353 mrs x2, mpidr_el1
b03cc885328e3c0 Ard Biesheuvel 2016-04-18 354 mov_q x1, MPIDR_HWID_BITMASK
005e12676af09a3 Ard Biesheuvel 2022-06-24 355 and x2, x2, x1
b1c98297fe0c6e2 Ard Biesheuvel 2015-03-10 356 adr_l x3, secondary_holding_pen_release
9703d9d7f77ce12 Catalin Marinas 2012-03-05 357 pen: ldr x4, [x3]
005e12676af09a3 Ard Biesheuvel 2022-06-24 358 cmp x4, x2
9703d9d7f77ce12 Catalin Marinas 2012-03-05 359 b.eq secondary_startup
9703d9d7f77ce12 Catalin Marinas 2012-03-05 360 wfe
9703d9d7f77ce12 Catalin Marinas 2012-03-05 361 b pen
c63d9f82db94399 Mark Brown 2020-02-18 362 SYM_FUNC_END(secondary_holding_pen)
652af8997993540 Mark Rutland 2013-10-24 363
652af8997993540 Mark Rutland 2013-10-24 364 /*
652af8997993540 Mark Rutland 2013-10-24 365 * Secondary entry point that jumps straight into the kernel. Only to
652af8997993540 Mark Rutland 2013-10-24 366 * be used where CPUs are brought online dynamically by the kernel.
652af8997993540 Mark Rutland 2013-10-24 367 */
c63d9f82db94399 Mark Brown 2020-02-18 368 SYM_FUNC_START(secondary_entry)
3dcf60bbfd284e5 Ard Biesheuvel 2023-01-11 369 mov x0, xzr
ecbb11ab3ebc027 Mark Rutland 2020-11-13 370 bl init_kernel_el // w0=cpu_boot_mode
652af8997993540 Mark Rutland 2013-10-24 371 b secondary_startup
c63d9f82db94399 Mark Brown 2020-02-18 372 SYM_FUNC_END(secondary_entry)
9703d9d7f77ce12 Catalin Marinas 2012-03-05 373
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/3] arm64/boot: Enable EL2 requirements for FEAT_Debugv8p9
2024-10-01 4:36 ` [PATCH 2/3] arm64/boot: Enable EL2 requirements for FEAT_Debugv8p9 Anshuman Khandual
2024-10-02 23:25 ` kernel test robot
2024-10-02 23:25 ` kernel test robot
@ 2024-10-22 16:10 ` Mark Rutland
2024-10-23 6:12 ` Anshuman Khandual
2 siblings, 1 reply; 7+ messages in thread
From: Mark Rutland @ 2024-10-22 16:10 UTC (permalink / raw)
To: Anshuman Khandual
Cc: linux-kernel, linux-arm-kernel, Jonathan Corbet, Marc Zyngier,
Oliver Upton, James Morse, Suzuki K Poulose, Catalin Marinas,
Will Deacon, Mark Brown, kvmarm, linux-doc
On Tue, Oct 01, 2024 at 10:06:01AM +0530, Anshuman Khandual wrote:
> Fine grained trap control for MDSELR_EL1 register needs to be configured in
> HDFGRTR2_EL2, and HDFGWTR2_EL2 registers when kernel enters at EL1, but EL2
> is also present. This adds a new helper __init_el2_fgt2() initializing this
> new FEAT_FGT2 based fine grained registers.
>
> MDCR_EL2.EBWE needs to be enabled for additional (beyond 16) breakpoint and
> watchpoint exceptions when kernel enters at EL1, but EL2 is also present.
> This updates __init_el2_debug() as required for FEAT_Debugv8p9.
>
> While here, also update booting.rst with MDCR_EL3 and SCR_EL3 requirements.
[...]
> + For CPUs with FEAT_Debugv8p9 extension present:
> +
> + - If the kernel is entered at EL1 and EL2 is present:
> +
> + - HDFGRTR2_EL2.nMDSELR_EL1 (bit 5) must be initialized to 0b1
> + - HDFGWTR2_EL2.nMDSELR_EL1 (bit 5) must be initialized to 0b1
> + - MDCR_EL2.EBWE (bit 43) must be initialized to 0b1
> +
> + - If EL3 is present:
> +
> + - MDCR_EL3.TDA (bit 9) must be initialized to 0b0
AFAICT we need TDA==0 this regardless of FEAT_Debugv8p9 (and e.g. we need
MDCR_EL3.TPM==0 where FEAT_PMUv3 is implemented), so we should probably
check if there's anything else we haven't yet documented in MDCR_EL3.
[...]
> .Lskip_trace_\@:
> + mrs x1, id_aa64dfr0_el1
> + ubfx x1, x1, #ID_AA64DFR0_EL1_DebugVer_SHIFT, #4
> + cmp x1, #ID_AA64DFR0_EL1_DebugVer_V8P9
> + b.lt .Lskip_dbg_v8p9_\@
> +
> + mov x0, #MDCR_EL2_EBWE
> + orr x2, x2, x0
That can be:
orr x2, x2, #MDCR_EL2_EBWE
Mark.
^ permalink raw reply [flat|nested] 7+ messages in thread