From: kbuild test robot <lkp@intel.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org, kbuild-all@lists.01.org
Subject: Re: [PATCH v3 32/32] powerpc/64s: system call support for scv/rfscv instructions
Date: Sun, 1 Mar 2020 20:20:49 +0800 [thread overview]
Message-ID: <202003012018.MuoFajR9%lkp@intel.com> (raw)
In-Reply-To: <20200225173541.1549955-33-npiggin@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 7145 bytes --]
Hi Nicholas,
I love your patch! Yet something to improve:
[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.6-rc3 next-20200228]
[cannot apply to kvm-ppc/kvm-ppc-next scottwood/next]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Nicholas-Piggin/powerpc-64-interrupts-and-syscalls-series/20200226-043224
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-ppc64e_defconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
arch/powerpc/kernel/entry_64.S: Assembler messages:
>> arch/powerpc/kernel/entry_64.S:67: Error: unrecognized opcode: `interrupt_to_kernel'
>> arch/powerpc/kernel/entry_64.S:164: Error: unrecognized opcode: `rfscv_to_user'
vim +67 arch/powerpc/kernel/entry_64.S
47
48 /*
49 * System calls.
50 */
51 .section ".toc","aw"
52 SYS_CALL_TABLE:
53 .tc sys_call_table[TC],sys_call_table
54
55 COMPAT_SYS_CALL_TABLE:
56 .tc compat_sys_call_table[TC],compat_sys_call_table
57
58 /* This value is used to mark exception frames on the stack. */
59 exception_marker:
60 .tc ID_EXC_MARKER[TC],STACK_FRAME_REGS_MARKER
61
62 .section ".text"
63 .align 7
64
65 .globl system_call_vectored_common
66 system_call_vectored_common:
> 67 INTERRUPT_TO_KERNEL
68 mr r10,r1
69 ld r1,PACAKSAVE(r13)
70 std r10,0(r1)
71 std r11,_NIP(r1)
72 std r12,_MSR(r1)
73 std r0,GPR0(r1)
74 std r10,GPR1(r1)
75 std r2,GPR2(r1)
76 ld r2,PACATOC(r13)
77 mfcr r12
78 li r11,0
79 /* Can we avoid saving r3-r8 in common case? */
80 std r3,GPR3(r1)
81 std r4,GPR4(r1)
82 std r5,GPR5(r1)
83 std r6,GPR6(r1)
84 std r7,GPR7(r1)
85 std r8,GPR8(r1)
86 /* Zero r9-r12, this should only be required when restoring all GPRs */
87 std r11,GPR9(r1)
88 std r11,GPR10(r1)
89 std r11,GPR11(r1)
90 std r11,GPR12(r1)
91 std r9,GPR13(r1)
92 SAVE_NVGPRS(r1)
93 std r11,_XER(r1)
94 std r11,_LINK(r1)
95 std r11,_CTR(r1)
96
97 li r11,0xc00
98 std r11,_TRAP(r1)
99 std r12,_CCR(r1)
100 std r3,ORIG_GPR3(r1)
101 addi r10,r1,STACK_FRAME_OVERHEAD
102 ld r11,exception_marker@toc(r2)
103 std r11,-16(r10) /* "regshere" marker */
104
105 /*
106 * RECONCILE_IRQ_STATE without calling trace_hardirqs_off(), which
107 * would clobber syscall parameters. Also we always enter with IRQs
108 * enabled and nothing pending. system_call_exception() will call
109 * trace_hardirqs_off().
110 *
111 * scv enters with MSR[EE]=1, so don't set PACA_IRQ_HARD_DIS.
112 */
113 li r9,IRQS_ALL_DISABLED
114 stb r9,PACAIRQSOFTMASK(r13)
115
116 /* Calling convention has r9 = orig r0, r10 = regs */
117 mr r9,r0
118 bl system_call_exception
119
120 .Lsyscall_vectored_exit:
121 addi r4,r1,STACK_FRAME_OVERHEAD
122 li r5,1 /* scv */
123 bl syscall_exit_prepare
124
125 ld r2,_CCR(r1)
126 ld r4,_NIP(r1)
127 ld r5,_MSR(r1)
128
129 BEGIN_FTR_SECTION
130 stdcx. r0,0,r1 /* to clear the reservation */
131 END_FTR_SECTION_IFCLR(CPU_FTR_STCX_CHECKS_ADDRESS)
132
133 mtlr r4
134 mtctr r5
135
136 cmpdi r3,0
137 bne syscall_vectored_restore_regs
138 li r0,0
139 li r4,0
140 li r5,0
141 li r6,0
142 li r7,0
143 li r8,0
144 li r9,0
145 li r10,0
146 li r11,0
147 li r12,0
148 mtspr SPRN_XER,r0
149 .Lsyscall_vectored_restore_regs_cont:
150
151 BEGIN_FTR_SECTION
152 HMT_MEDIUM_LOW
153 END_FTR_SECTION_IFSET(CPU_FTR_HAS_PPR)
154
155 /*
156 * We don't need to restore AMR on the way back to userspace for KUAP.
157 * The value of AMR only matters while we're in the kernel.
158 */
159 mtcr r2
160 ld r2,GPR2(r1)
161 ld r3,GPR3(r1)
162 ld r13,GPR13(r1)
163 ld r1,GPR1(r1)
> 164 RFSCV_TO_USER
165 b . /* prevent speculative execution */
166 _ASM_NOKPROBE_SYMBOL(system_call_vectored_common);
167
168 syscall_vectored_restore_regs:
169 ld r4,_XER(r1)
170 REST_NVGPRS(r1)
171 mtspr SPRN_XER,r4
172 ld r0,GPR0(r1)
173 REST_8GPRS(4, r1)
174 ld r12,GPR12(r1)
175 b .Lsyscall_vectored_restore_regs_cont
176
177 .balign IFETCH_ALIGN_BYTES
178 .globl system_call_common
179 system_call_common:
180 _ASM_NOKPROBE_SYMBOL(system_call_common)
181 mr r10,r1
182 ld r1,PACAKSAVE(r13)
183 std r10,0(r1)
184 std r11,_NIP(r1)
185 std r12,_MSR(r1)
186 std r0,GPR0(r1)
187 std r10,GPR1(r1)
188 std r2,GPR2(r1)
189 #ifdef CONFIG_PPC_FSL_BOOK3E
190 START_BTB_FLUSH_SECTION
191 BTB_FLUSH(r10)
192 END_BTB_FLUSH_SECTION
193 #endif
194 ld r2,PACATOC(r13)
195 mfcr r12
196 li r11,0
197 /* Can we avoid saving r3-r8 in common case? */
198 std r3,GPR3(r1)
199 std r4,GPR4(r1)
200 std r5,GPR5(r1)
201 std r6,GPR6(r1)
202 std r7,GPR7(r1)
203 std r8,GPR8(r1)
204 /* Zero r9-r12, this should only be required when restoring all GPRs */
205 std r11,GPR9(r1)
206 std r11,GPR10(r1)
207 std r11,GPR11(r1)
208 std r11,GPR12(r1)
209 std r9,GPR13(r1)
210 SAVE_NVGPRS(r1)
211 std r11,_XER(r1)
212 std r11,_CTR(r1)
213 mflr r10
214
215 /*
216 * This clears CR0.SO (bit 28), which is the error indication on
217 * return from this system call.
218 */
219 rldimi r12,r11,28,(63-28)
220 li r11,0xc00
221 std r10,_LINK(r1)
222 std r11,_TRAP(r1)
223 std r12,_CCR(r1)
224 std r3,ORIG_GPR3(r1)
225 addi r10,r1,STACK_FRAME_OVERHEAD
226 ld r11,exception_marker@toc(r2)
227 std r11,-16(r10) /* "regshere" marker */
228
229 /*
230 * RECONCILE_IRQ_STATE without calling trace_hardirqs_off(), which
231 * would clobber syscall parameters. Also we always enter with IRQs
232 * enabled and nothing pending. system_call_exception() will call
233 * trace_hardirqs_off().
234 */
235 li r11,IRQS_ALL_DISABLED
236 li r12,PACA_IRQ_HARD_DIS
237 stb r11,PACAIRQSOFTMASK(r13)
238 stb r12,PACAIRQHAPPENED(r13)
239
240 /* Calling convention has r9 = orig r0, r10 = regs */
241 mr r9,r0
242 bl system_call_exception
243
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 17284 bytes --]
next prev parent reply other threads:[~2020-03-01 12:25 UTC|newest]
Thread overview: 108+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-25 17:35 [PATCH v3 00/32] powerpc/64: interrupts and syscalls series Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 01/32] powerpc/64s/exception: Introduce INT_DEFINE parameter block for code generation Nicholas Piggin
2020-04-01 12:53 ` Michael Ellerman
2020-02-25 17:35 ` [PATCH v3 02/32] powerpc/64s/exception: Add GEN_COMMON macro that uses INT_DEFINE parameters Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 03/32] powerpc/64s/exception: Add GEN_KVM " Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 04/32] powerpc/64s/exception: Expand EXC_COMMON and EXC_COMMON_ASYNC macros Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 05/32] powerpc/64s/exception: Move all interrupt handlers to new style code gen macros Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 06/32] powerpc/64s/exception: Remove old INT_ENTRY macro Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 07/32] powerpc/64s/exception: Remove old INT_COMMON macro Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 08/32] powerpc/64s/exception: Remove old INT_KVM_HANDLER Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 09/32] powerpc/64s/exception: Add ISIDE option Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 10/32] powerpc/64s/exception: move real->virt switch into the common handler Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 11/32] powerpc/64s/exception: move soft-mask test to common code Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 12/32] powerpc/64s/exception: move KVM " Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 13/32] powerpc/64s/exception: remove confusing IEARLY option Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 14/32] powerpc/64s/exception: remove the SPR saving patch code macros Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 15/32] powerpc/64s/exception: trim unused arguments from KVMTEST macro Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 16/32] powerpc/64s/exception: hdecrementer avoid touching the stack Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 17/32] powerpc/64s/exception: re-inline some handlers Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 18/32] powerpc/64s/exception: Clean up SRR specifiers Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 19/32] powerpc/64s/exception: add more comments for interrupt handlers Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 20/32] powerpc/64s/exception: only test KVM in SRR interrupts when PR KVM is supported Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 21/32] powerpc/64s/exception: sreset interrupts reconcile fix Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 22/32] powerpc/64s/exception: soft nmi interrupt should not use ret_from_except Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 23/32] powerpc/64: system call remove non-volatile GPR save optimisation Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 24/32] powerpc/64: sstep ifdef the deprecated fast endian switch syscall Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 25/32] powerpc/64: system call implement entry/exit logic in C Nicholas Piggin
2020-03-19 9:18 ` Christophe Leroy
2020-03-20 3:39 ` Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 26/32] powerpc/64: system call zero volatile registers when returning Nicholas Piggin
2020-02-25 21:20 ` Segher Boessenkool
2020-02-26 3:39 ` Nicholas Piggin
2020-03-07 0:54 ` [PATCH] Fix " Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 27/32] powerpc/64: implement soft interrupt replay in C Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 28/32] powerpc/64s: interrupt implement exit logic " Nicholas Piggin
2021-01-27 8:54 ` Christophe Leroy
2021-01-28 0:09 ` Nicholas Piggin
2021-02-03 16:25 ` Christophe Leroy
2021-02-04 3:27 ` Nicholas Piggin
2021-02-04 8:03 ` Christophe Leroy
2021-02-04 8:53 ` Nicholas Piggin
2021-02-05 0:22 ` Michael Ellerman
2021-02-05 2:16 ` Nicholas Piggin
2021-02-05 6:04 ` Christophe Leroy
2021-02-06 2:28 ` Nicholas Piggin
2021-02-27 10:07 ` Christophe Leroy
2021-03-01 0:47 ` Nicholas Piggin
2021-03-15 13:41 ` Christophe Leroy
2021-03-16 7:36 ` Nicholas Piggin
2021-03-19 11:44 ` Michael Ellerman
2020-02-25 17:35 ` [PATCH v3 29/32] powerpc/64s/exception: remove lite interrupt return Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 30/32] powerpc/64: system call reconcile interrupts Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 31/32] powerpc/64s/exception: treat NIA below __end_interrupts as soft-masked Nicholas Piggin
2020-02-25 17:35 ` [PATCH v3 32/32] powerpc/64s: system call support for scv/rfscv instructions Nicholas Piggin
2020-03-01 12:20 ` kbuild test robot [this message]
2020-03-19 12:19 ` [PATCH v11 0/8] Disable compat cruft on ppc64le v11 Michal Suchanek
2020-03-19 12:19 ` [PATCH v11 1/8] powerpc: Add back __ARCH_WANT_SYS_LLSEEK macro Michal Suchanek
2020-03-19 12:19 ` [PATCH v11 2/8] powerpc: move common register copy functions from signal_32.c to signal.c Michal Suchanek
2020-03-19 12:19 ` [PATCH v11 3/8] powerpc/perf: consolidate read_user_stack_32 Michal Suchanek
2020-03-24 8:48 ` Nicholas Piggin
2020-03-24 19:38 ` Michal Suchánek
2020-04-03 7:13 ` Nicholas Piggin
2020-04-03 10:52 ` Michal Suchánek
2020-04-03 11:26 ` Nicholas Piggin
2020-04-03 11:51 ` Michal Suchánek
2020-04-06 20:52 ` Michal Suchánek
2020-04-06 21:00 ` [PATCH] powerpcs: perf: consolidate perf_callchain_user_64 and perf_callchain_user_32 Michal Suchanek
2020-04-07 5:21 ` Christophe Leroy
2020-04-09 11:22 ` Michal Suchánek
2020-03-19 12:19 ` [PATCH v11 4/8] powerpc/perf: consolidate valid_user_sp Michal Suchanek
2020-03-19 12:19 ` [PATCH v11 5/8] powerpc/64: make buildable without CONFIG_COMPAT Michal Suchanek
2020-03-24 8:54 ` Nicholas Piggin
2020-03-24 19:30 ` Michal Suchánek
2020-04-03 7:16 ` Nicholas Piggin
2020-03-19 12:19 ` [PATCH v11 6/8] powerpc/64: Make COMPAT user-selectable disabled on littleendian by default Michal Suchanek
2020-03-19 12:19 ` [PATCH v11 7/8] powerpc/perf: split callchain.c by bitness Michal Suchanek
2020-03-19 12:19 ` [PATCH v11 8/8] MAINTAINERS: perf: Add pattern that matches ppc perf to the perf entry Michal Suchanek
2020-03-19 13:37 ` Andy Shevchenko
2020-03-19 14:00 ` Michal Suchánek
2020-03-19 14:26 ` Andy Shevchenko
2020-03-19 17:03 ` Joe Perches
2020-03-19 12:36 ` [PATCH v11 0/8] Disable compat cruft on ppc64le v11 Christophe Leroy
2020-03-19 14:01 ` Michal Suchánek
2020-04-03 7:25 ` Nicholas Piggin
2020-04-03 7:26 ` Christophe Leroy
2020-04-03 9:43 ` Nicholas Piggin
2020-04-05 0:40 ` Michael Ellerman
2020-03-20 10:20 ` [PATCH v12 0/8] Disable compat cruft on ppc64le v12 Michal Suchanek
2020-03-20 10:20 ` [PATCH v12 1/8] powerpc: Add back __ARCH_WANT_SYS_LLSEEK macro Michal Suchanek
2020-04-06 13:05 ` Michael Ellerman
2020-03-20 10:20 ` [PATCH v12 2/8] powerpc: move common register copy functions from signal_32.c to signal.c Michal Suchanek
2020-03-20 10:20 ` [PATCH v12 3/8] powerpc/perf: consolidate read_user_stack_32 Michal Suchanek
2020-03-20 10:20 ` [PATCH v12 4/8] powerpc/perf: consolidate valid_user_sp -> invalid_user_sp Michal Suchanek
2020-03-20 10:20 ` [PATCH v12 5/8] powerpc/64: make buildable without CONFIG_COMPAT Michal Suchanek
2020-04-07 5:50 ` Christophe Leroy
2020-04-07 9:57 ` Michal Suchánek
2020-03-20 10:20 ` [PATCH v12 6/8] powerpc/64: Make COMPAT user-selectable disabled on littleendian by default Michal Suchanek
2020-03-20 10:20 ` [PATCH v12 7/8] powerpc/perf: split callchain.c by bitness Michal Suchanek
2020-03-20 10:20 ` [PATCH v12 8/8] MAINTAINERS: perf: Add pattern that matches ppc perf to the perf entry Michal Suchanek
2020-03-20 10:33 ` Andy Shevchenko
2020-03-20 11:23 ` Michal Suchánek
2020-03-20 12:42 ` Andy Shevchenko
2020-03-20 14:42 ` Joe Perches
2020-03-20 16:28 ` Michal Suchánek
2020-03-20 16:31 ` Andy Shevchenko
2020-03-20 16:42 ` Michal Suchánek
2020-03-20 16:47 ` Andy Shevchenko
2020-03-20 21:36 ` Joe Perches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202003012018.MuoFajR9%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).