public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* [ardb:lockless-random-v2 4/5] drivers/char/random.c:570:1: error: instruction requires the following: RV64I Base Instruction Set
@ 2025-12-06 10:31 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-12-06 10:31 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: llvm, oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git lockless-random-v2
head:   fb8e9bf37065a1be2dbea93f0325d087d5903226
commit: f9262c3f6085ab01d23f1bff483530df38d9ee42 [4/5] random: Use a lockless fast path for get_random_uXX()
config: riscv-randconfig-002-20251206 (https://download.01.org/0day-ci/archive/20251206/202512061829.QOMtbpaE-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251206/202512061829.QOMtbpaE-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/202512061829.QOMtbpaE-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/char/random.c:570:1: error: instruction requires the following: RV64I Base Instruction Set
     570 | DEFINE_BATCHED_ENTROPY(u8)
         | ^
   drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
     552 |         if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) {      \
         |             ^
   include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
    4998 |         raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
         |         ^
   include/linux/atomic/atomic-arch-fallback.h:399:29: note: expanded from macro 'raw_cmpxchg64_local'
     399 | #define raw_cmpxchg64_local arch_cmpxchg64_local
         |                             ^
   arch/riscv/include/asm/cmpxchg.h:300:2: note: expanded from macro 'arch_cmpxchg64_local'
     300 |         arch_cmpxchg_relaxed((ptr), (o), (n));                          \
         |         ^
   arch/riscv/include/asm/cmpxchg.h:267:20: note: expanded from macro 'arch_cmpxchg_relaxed'
     267 |                       SC_PREPEND(""), SC_APPEND(""),                    \
         |                                  ^
   <inline asm>:1:5: note: instantiated into assembly here
       1 |         0:      lr.d a6, 0(a4)
         |                 ^
>> drivers/char/random.c:570:1: error: instruction requires the following: RV64I Base Instruction Set
     570 | DEFINE_BATCHED_ENTROPY(u8)
         | ^
   drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
     552 |         if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) {      \
         |             ^
   include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
    4998 |         raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
         |         ^
   include/linux/atomic/atomic-arch-fallback.h:399:29: note: expanded from macro 'raw_cmpxchg64_local'
     399 | #define raw_cmpxchg64_local arch_cmpxchg64_local
         |                             ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/cmpxchg.h:265:2: note: expanded from macro 'arch_cmpxchg_relaxed'
     265 |         _arch_cmpxchg((ptr), (o), (n),                                  \
         |         ^
   arch/riscv/include/asm/cmpxchg.h:242:3: note: expanded from macro '_arch_cmpxchg'
     242 |                 __arch_cmpxchg(".d", ".d" sc_sfx, ".d" cas_sfx,         \
         |                 ^
   arch/riscv/include/asm/cmpxchg.h:203:5: note: expanded from macro '__arch_cmpxchg'
     203 |                         "       sc" sc_sfx " %1, %z4, %2\n"             \
         |                          ^
   <inline asm>:3:2: note: instantiated into assembly here
       3 |         sc.d s1, a1, 0(a4)
         |         ^
   drivers/char/random.c:571:1: error: instruction requires the following: RV64I Base Instruction Set
     571 | DEFINE_BATCHED_ENTROPY(u16)
         | ^
   drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
     552 |         if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) {      \
         |             ^
   include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
    4998 |         raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
         |         ^
   include/linux/atomic/atomic-arch-fallback.h:399:29: note: expanded from macro 'raw_cmpxchg64_local'
     399 | #define raw_cmpxchg64_local arch_cmpxchg64_local
         |                             ^
   arch/riscv/include/asm/cmpxchg.h:300:2: note: expanded from macro 'arch_cmpxchg64_local'
     300 |         arch_cmpxchg_relaxed((ptr), (o), (n));                          \
         |         ^
   arch/riscv/include/asm/cmpxchg.h:267:20: note: expanded from macro 'arch_cmpxchg_relaxed'
     267 |                       SC_PREPEND(""), SC_APPEND(""),                    \
         |                                  ^
   <inline asm>:1:5: note: instantiated into assembly here
       1 |         0:      lr.d a6, 0(a4)
         |                 ^
   drivers/char/random.c:571:1: error: instruction requires the following: RV64I Base Instruction Set
     571 | DEFINE_BATCHED_ENTROPY(u16)
         | ^
   drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
     552 |         if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) {      \
         |             ^
   include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
    4998 |         raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
         |         ^
   include/linux/atomic/atomic-arch-fallback.h:399:29: note: expanded from macro 'raw_cmpxchg64_local'
     399 | #define raw_cmpxchg64_local arch_cmpxchg64_local
         |                             ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/cmpxchg.h:265:2: note: expanded from macro 'arch_cmpxchg_relaxed'
     265 |         _arch_cmpxchg((ptr), (o), (n),                                  \
         |         ^
   arch/riscv/include/asm/cmpxchg.h:242:3: note: expanded from macro '_arch_cmpxchg'
     242 |                 __arch_cmpxchg(".d", ".d" sc_sfx, ".d" cas_sfx,         \
         |                 ^
   arch/riscv/include/asm/cmpxchg.h:203:5: note: expanded from macro '__arch_cmpxchg'
     203 |                         "       sc" sc_sfx " %1, %z4, %2\n"             \
         |                          ^
   <inline asm>:3:2: note: instantiated into assembly here
       3 |         sc.d s1, a1, 0(a4)
         |         ^
   drivers/char/random.c:572:1: error: instruction requires the following: RV64I Base Instruction Set
     572 | DEFINE_BATCHED_ENTROPY(u32)
         | ^
   drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
     552 |         if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) {      \
         |             ^
   include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
    4998 |         raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
         |         ^
   include/linux/atomic/atomic-arch-fallback.h:399:29: note: expanded from macro 'raw_cmpxchg64_local'
     399 | #define raw_cmpxchg64_local arch_cmpxchg64_local
         |                             ^
   arch/riscv/include/asm/cmpxchg.h:300:2: note: expanded from macro 'arch_cmpxchg64_local'
     300 |         arch_cmpxchg_relaxed((ptr), (o), (n));                          \
         |         ^
   arch/riscv/include/asm/cmpxchg.h:267:20: note: expanded from macro 'arch_cmpxchg_relaxed'
     267 |                       SC_PREPEND(""), SC_APPEND(""),                    \
         |                                  ^
   <inline asm>:1:5: note: instantiated into assembly here
       1 |         0:      lr.d a6, 0(a4)
         |                 ^
   drivers/char/random.c:572:1: error: instruction requires the following: RV64I Base Instruction Set
     572 | DEFINE_BATCHED_ENTROPY(u32)
         | ^
   drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
     552 |         if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) {      \
         |             ^
   include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
    4998 |         raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
         |         ^


vim +570 drivers/char/random.c

3092adcef3ffd2 Jason A. Donenfeld 2022-05-15  569  
585cd5fe9f7378 Jason A. Donenfeld 2022-09-28 @570  DEFINE_BATCHED_ENTROPY(u8)
a890d1c657ecba Jason A. Donenfeld 2022-10-05  571  DEFINE_BATCHED_ENTROPY(u16)
a890d1c657ecba Jason A. Donenfeld 2022-10-05  572  DEFINE_BATCHED_ENTROPY(u32)
a890d1c657ecba Jason A. Donenfeld 2022-10-05  573  DEFINE_BATCHED_ENTROPY(u64)
3655adc7089da4 Jason A. Donenfeld 2022-02-11  574  

:::::: The code at line 570 was first introduced by commit
:::::: 585cd5fe9f7378601b1d4915ad6e9088333b5e5e random: add 8-bit and 16-bit batches

:::::: TO: Jason A. Donenfeld <Jason@zx2c4.com>
:::::: CC: Jason A. Donenfeld <Jason@zx2c4.com>

-- 
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:[~2025-12-06 10:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-06 10:31 [ardb:lockless-random-v2 4/5] drivers/char/random.c:570:1: error: instruction requires the following: RV64I Base Instruction Set kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox