[PATCH 2/2] powerpc/watchpoint: Workaround P10 DD1 issue with VSX-32 byte instructions
kernel test robot
lkp at intel.com
Tue Oct 20 18:53:13 AEDT 2020
Hi Ravi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on powerpc/next]
[also build test WARNING on v5.9 next-20201016]
[cannot apply to mpe/next scottwood/next]
[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]
url: https://github.com/0day-ci/linux/commits/Ravi-Bangoria/powerpc-Introduce-POWER10_DD1-feature/20201020-134813
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-allmodconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.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://github.com/0day-ci/linux/commit/a873a50e35b4c881b6bb53f48ae8ef7bb3e576eb
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ravi-Bangoria/powerpc-Introduce-POWER10_DD1-feature/20201020-134813
git checkout a873a50e35b4c881b6bb53f48ae8ef7bb3e576eb
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All warnings (new ones prefixed by >>):
arch/powerpc/kernel/hw_breakpoint.c: In function 'handle_p10dd1_spurious_exception':
>> arch/powerpc/kernel/hw_breakpoint.c:561:16: warning: variable 'hw_start_addr' set but not used [-Wunused-but-set-variable]
561 | unsigned long hw_start_addr;
| ^~~~~~~~~~~~~
vim +/hw_start_addr +561 arch/powerpc/kernel/hw_breakpoint.c
556
557 static void handle_p10dd1_spurious_exception(struct arch_hw_breakpoint **info,
558 int *hit, unsigned long ea)
559 {
560 int i;
> 561 unsigned long hw_start_addr;
562 unsigned long hw_end_addr;
563
564 /*
565 * Handle spurious exception only when any bp_per_reg is set.
566 * Otherwise this might be created by xmon and not actually a
567 * spurious exception.
568 */
569 for (i = 0; i < nr_wp_slots(); i++) {
570 if (!info[i])
571 continue;
572
573 hw_start_addr = ALIGN_DOWN(info[i]->address, HW_BREAKPOINT_SIZE);
574 hw_end_addr = ALIGN(info[i]->address + info[i]->len, HW_BREAKPOINT_SIZE);
575
576 /*
577 * Ending address of DAWR range is less than starting
578 * address of op.
579 */
580 if ((hw_end_addr - 1) >= ea)
581 continue;
582
583 /*
584 * Those addresses need to be in the same or in two
585 * consecutive 512B blocks;
586 */
587 if (((hw_end_addr - 1) >> 10) != (ea >> 10))
588 continue;
589
590 /*
591 * 'op address + 64B' generates an address that has a
592 * carry into bit 52 (crosses 2K boundary).
593 */
594 if ((ea & 0x800) == ((ea + 64) & 0x800))
595 continue;
596
597 break;
598 }
599
600 if (i == nr_wp_slots())
601 return;
602
603 for (i = 0; i < nr_wp_slots(); i++) {
604 if (info[i]) {
605 hit[i] = 1;
606 info[i]->type |= HW_BRK_TYPE_EXTRANEOUS_IRQ;
607 }
608 }
609 }
610
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 70272 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20201020/ef9b161e/attachment-0001.gz>
More information about the Linuxppc-dev
mailing list