* [mark:arm64/percpu-fixup 11/18] arch/arm64/kernel/entry.S:1064: Error: operand 1 must be an integer register -- `ldrh w,[,#320]'
@ 2026-08-04 13:50 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-04 13:50 UTC (permalink / raw)
To: Mark Rutland; +Cc: oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/percpu-fixup
head: 9e0b9ccad924850288def352da05df0b54fb8aa8
commit: 636f49109b313ff05fac31d2d369c535b399d9a1 [11/18] arm64: percpu: Add infrastructure for preemptible this_cpu_*() ops
config: arm64-randconfig-004-20260804 (https://download.01.org/0day-ci/archive/20260804/202608042017.clUz6dYs-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 9.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260804/202608042017.clUz6dYs-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/202608042017.clUz6dYs-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/arm64/kernel/entry.S: Assembler messages:
>> arch/arm64/kernel/entry.S:1064: Error: operand 1 must be an integer register -- `ldrh w,[,#320]'
>> arch/arm64/kernel/entry.S:1064: Error: operand 1 must be an integer register -- `strh w,[tsk,#28]'
vim +1064 arch/arm64/kernel/entry.S
1040
1041 /*
1042 * We may have interrupted userspace, or a guest, or exit-from or
1043 * return-to either of these. Preserve the interrupted sp_el0, and
1044 * initialize sp_el0 to the current task.
1045 */
1046 mrs x20, sp_el0
1047 ldr_this_cpu dst=tsk, sym=__entry_task, tmp=x1
1048 msr sp_el0, tsk
1049
1050 /* If we interrupted the kernel point to the previous stack/frame. */
1051 and x0, x3, #0xc
1052 mrs x1, CurrentEL
1053 cmp x0, x1
1054 csel x29, x29, xzr, eq // fp, or zero
1055 csel x4, x2, xzr, eq // elr, or zero
1056
1057 stp x29, x4, [sp, #-16]!
1058 mov x29, sp
1059
1060 add x0, x19, #SDEI_EVENT_INTREGS
1061 mov x1, x19
1062 pcpu_gprs_entry tsk, x0, x2
1063 bl __sdei_handler
> 1064 pcpu_gprs_exit tsk
1065
1066 msr sp_el0, x20
1067 /* restore regs >x17 that firmware won't restore */
1068 mov x4, x19 // keep x4 for __sdei_asm_exit_trampoline
1069 ldp x18, x19, [x4, #SDEI_EVENT_INTREGS + 16 * 9]
1070 ldp x20, x21, [x4, #SDEI_EVENT_INTREGS + 16 * 10]
1071 ldp x22, x23, [x4, #SDEI_EVENT_INTREGS + 16 * 11]
1072 ldp x24, x25, [x4, #SDEI_EVENT_INTREGS + 16 * 12]
1073 ldp x22, x27, [x4, #SDEI_EVENT_INTREGS + 16 * 13]
1074 ldp x28, x29, [x4, #SDEI_EVENT_INTREGS + 16 * 14]
1075 ldp lr, x1, [x4, #SDEI_EVENT_INTREGS + S_LR]
1076 mov sp, x1
1077
1078 mov x1, x0 // address to complete_and_resume
1079 /* x0 = (x0 <= SDEI_EV_FAILED) ?
1080 * EVENT_COMPLETE:EVENT_COMPLETE_AND_RESUME
1081 */
1082 cmp x0, #SDEI_EV_FAILED
1083 mov_q x2, SDEI_1_0_FN_SDEI_EVENT_COMPLETE
1084 mov_q x3, SDEI_1_0_FN_SDEI_EVENT_COMPLETE_AND_RESUME
1085 csel x0, x2, x3, ls
1086
1087 ldr_l x2, sdei_exit_mode
1088
1089 /* Clear the registered-event seen by crash_smp_send_stop() */
1090 ldrb w3, [x4, #SDEI_EVENT_PRIORITY]
1091 cbnz w3, 1f
1092 adr_this_cpu dst=x5, sym=sdei_active_normal_event, tmp=x6
1093 b 2f
1094 1: adr_this_cpu dst=x5, sym=sdei_active_critical_event, tmp=x6
1095 2: str xzr, [x5]
1096
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-04 13:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-04 13:50 [mark:arm64/percpu-fixup 11/18] arch/arm64/kernel/entry.S:1064: Error: operand 1 must be an integer register -- `ldrh w,[,#320]' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.