[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202210120839.lQxINVuW-lkp@intel.com>
Date: Wed, 12 Oct 2022 08:17:48 +0800
From: kernel test robot <lkp@...el.com>
To: Rob Gardner <rob.gardner@...cle.com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: arch/sparc/kernel/traps_64.c:268:6: error: no previous declaration
for 'is_no_fault_exception'
Hi Rob,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d465bff130bf4ca17b6980abe51164ace1e0cba4
commit: b6fe1089667a7afcc2cf92cdaec590c7b8381715 sparc64: Handle additional cases of no fault loads
date: 5 years ago
config: sparc64-randconfig-c44-20221010
compiler: sparc64-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b6fe1089667a7afcc2cf92cdaec590c7b8381715
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b6fe1089667a7afcc2cf92cdaec590c7b8381715
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross W=1 O=build_dir ARCH=sparc64 SHELL=/bin/bash arch/sparc/kernel/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
>> arch/sparc/kernel/traps_64.c:268:6: error: no previous declaration for 'is_no_fault_exception' [-Werror=missing-declarations]
bool is_no_fault_exception(struct pt_regs *regs)
^~~~~~~~~~~~~~~~~~~~~
arch/sparc/kernel/traps_64.c:2117:6: error: no previous declaration for 'sun4v_nonresum_error_user_handled' [-Werror=missing-declarations]
bool sun4v_nonresum_error_user_handled(struct pt_regs *regs,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/sparc/kernel/traps_64.c:2808:13: error: no previous declaration for 'trap_init' [-Werror=missing-declarations]
void __init trap_init(void)
^~~~~~~~~
cc1: all warnings being treated as errors
vim +/is_no_fault_exception +268 arch/sparc/kernel/traps_64.c
267
> 268 bool is_no_fault_exception(struct pt_regs *regs)
269 {
270 unsigned char asi;
271 u32 insn;
272
273 if (get_user(insn, (u32 __user *)regs->tpc) == -EFAULT)
274 return false;
275
276 /*
277 * Must do a little instruction decoding here in order to
278 * decide on a course of action. The bits of interest are:
279 * insn[31:30] = op, where 3 indicates the load/store group
280 * insn[24:19] = op3, which identifies individual opcodes
281 * insn[13] indicates an immediate offset
282 * op3[4]=1 identifies alternate space instructions
283 * op3[5:4]=3 identifies floating point instructions
284 * op3[2]=1 identifies stores
285 * See "Opcode Maps" in the appendix of any Sparc V9
286 * architecture spec for full details.
287 */
288 if ((insn & 0xc0800000) == 0xc0800000) { /* op=3, op3[4]=1 */
289 if (insn & 0x2000) /* immediate offset */
290 asi = (regs->tstate >> 24); /* saved %asi */
291 else
292 asi = (insn >> 5); /* immediate asi */
293 if ((asi & 0xf2) == ASI_PNF) {
294 if (insn & 0x1000000) { /* op3[5:4]=3 */
295 handle_ldf_stq(insn, regs);
296 return true;
297 } else if (insn & 0x200000) { /* op3[2], stores */
298 return false;
299 }
300 handle_ld_nf(insn, regs);
301 return true;
302 }
303 }
304 return false;
305 }
306
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (82537 bytes)
Powered by blists - more mailing lists