public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* Re: [PATCH] KVM: x86: Add support for cmpxchg16b emulation
       [not found] <20260306102047.29760-1-sarunkod@amd.com>
@ 2026-03-07  5:40 ` kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-03-07  5:40 UTC (permalink / raw)
  To: Sairaj Kodilkar, H. Peter Anvin, Borislav Petkov, Dave Hansen,
	Ingo Molnar, Paolo Bonzini, Sean Christopherson, Thomas Gleixner,
	kvm, linux-kernel, x86
  Cc: llvm, oe-kbuild-all, suravee.suthikulpanit, vasant.hegde,
	nikunj.dadhania, Manali.Shukla, Sairaj Kodilkar

Hi Sairaj,

kernel test robot noticed the following build errors:

[auto build test ERROR on kvm/queue]
[also build test ERROR on kvm/next tip/master linus/master v7.0-rc2 next-20260306]
[cannot apply to kvm/linux-next tip/auto-latest bp/for-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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Sairaj-Kodilkar/KVM-x86-Add-support-for-cmpxchg16b-emulation/20260306-182915
base:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
patch link:    https://lore.kernel.org/r/20260306102047.29760-1-sarunkod%40amd.com
patch subject: [PATCH] KVM: x86: Add support for cmpxchg16b emulation
config: i386-randconfig-012-20260307 (https://download.01.org/0day-ci/archive/20260307/202603071358.8bRahq3i-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260307/202603071358.8bRahq3i-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/202603071358.8bRahq3i-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/x86/kvm/mmu/page_track.c:19:
   In file included from arch/x86/kvm/mmu.h:7:
   In file included from arch/x86/kvm/x86.h:10:
>> arch/x86/kvm/kvm_emulate.h:271:3: error: unknown type name '__uint128_t'
     271 |                 __uint128_t val128;
         |                 ^
   1 error generated.
--
   In file included from arch/x86/kvm/vmx/vmcs12.c:4:
   In file included from arch/x86/kvm/vmx/vmcs12.h:7:
   In file included from arch/x86/kvm/vmx/vmcs.h:12:
   In file included from arch/x86/kvm/vmx/capabilities.h:7:
   In file included from arch/x86/kvm/vmx/../lapic.h:11:
   In file included from arch/x86/kvm/vmx/../hyperv.h:25:
   In file included from arch/x86/kvm/vmx/../x86.h:10:
>> arch/x86/kvm/vmx/../kvm_emulate.h:271:3: error: unknown type name '__uint128_t'
     271 |                 __uint128_t val128;
         |                 ^
   1 error generated.
--
   In file included from arch/x86/kvm/emulate.c:24:
>> arch/x86/kvm/kvm_emulate.h:271:3: error: unknown type name '__uint128_t'
     271 |                 __uint128_t val128;
         |                 ^
>> arch/x86/kvm/emulate.c:393:12: error: no member named 'val' in 'struct operand'
     393 |         ctxt->dst.val = 0xFF * !!(ctxt->eflags & X86_EFLAGS_CF);
         |         ~~~~~~~~~ ^
>> arch/x86/kvm/emulate.c:423:27: error: no member named 'val64' in 'struct operand'
     423 |                 .src_val    = ctxt->src.val64,
         |                               ~~~~~~~~~ ^
   arch/x86/kvm/emulate.c:424:27: error: no member named 'val64' in 'struct operand'
     424 |                 .dst_val    = ctxt->dst.val64,
         |                               ~~~~~~~~~ ^
   arch/x86/kvm/emulate.c:955:1: error: no member named 'val' in 'struct operand'
     955 | EM_ASM_2(add);
         | ^~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:346:10: note: expanded from macro 'EM_ASM_2'
     346 |         case 1: __EM_ASM_2(op##b, al, dl); break; \
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:305:3: note: expanded from macro '__EM_ASM_2'
     305 |                 __EM_ASM(#op " %%" #src ", %%" #dst " \n\t")
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:291:25: note: expanded from macro '__EM_ASM'
     291 |                     : "+a" (ctxt->dst.val), \
         |                             ~~~~~~~~~ ^
   arch/x86/kvm/emulate.c:955:1: error: no member named 'val' in 'struct operand'
     955 | EM_ASM_2(add);
         | ^~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:346:10: note: expanded from macro 'EM_ASM_2'
     346 |         case 1: __EM_ASM_2(op##b, al, dl); break; \
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:305:3: note: expanded from macro '__EM_ASM_2'
     305 |                 __EM_ASM(#op " %%" #src ", %%" #dst " \n\t")
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:292:25: note: expanded from macro '__EM_ASM'
     292 |                       "+d" (ctxt->src.val), \
         |                             ~~~~~~~~~ ^
   arch/x86/kvm/emulate.c:955:1: error: no member named 'val' in 'struct operand'
     955 | EM_ASM_2(add);
         | ^~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:346:10: note: expanded from macro 'EM_ASM_2'
     346 |         case 1: __EM_ASM_2(op##b, al, dl); break; \
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:305:3: note: expanded from macro '__EM_ASM_2'
     305 |                 __EM_ASM(#op " %%" #src ", %%" #dst " \n\t")
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:295:25: note: expanded from macro '__EM_ASM'
     295 |                     : "c" (ctxt->src2.val))
         |                            ~~~~~~~~~~ ^
   arch/x86/kvm/emulate.c:955:1: error: no member named 'val' in 'struct operand'
     955 | EM_ASM_2(add);
         | ^~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:347:10: note: expanded from macro 'EM_ASM_2'
     347 |         case 2: __EM_ASM_2(op##w, ax, dx); break; \
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:305:3: note: expanded from macro '__EM_ASM_2'
     305 |                 __EM_ASM(#op " %%" #src ", %%" #dst " \n\t")
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:291:25: note: expanded from macro '__EM_ASM'
     291 |                     : "+a" (ctxt->dst.val), \
         |                             ~~~~~~~~~ ^
   arch/x86/kvm/emulate.c:955:1: error: no member named 'val' in 'struct operand'
     955 | EM_ASM_2(add);
         | ^~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:347:10: note: expanded from macro 'EM_ASM_2'
     347 |         case 2: __EM_ASM_2(op##w, ax, dx); break; \
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:305:3: note: expanded from macro '__EM_ASM_2'
     305 |                 __EM_ASM(#op " %%" #src ", %%" #dst " \n\t")
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:292:25: note: expanded from macro '__EM_ASM'
     292 |                       "+d" (ctxt->src.val), \
         |                             ~~~~~~~~~ ^
   arch/x86/kvm/emulate.c:955:1: error: no member named 'val' in 'struct operand'
     955 | EM_ASM_2(add);
         | ^~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:347:10: note: expanded from macro 'EM_ASM_2'
     347 |         case 2: __EM_ASM_2(op##w, ax, dx); break; \
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:305:3: note: expanded from macro '__EM_ASM_2'
     305 |                 __EM_ASM(#op " %%" #src ", %%" #dst " \n\t")
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:295:25: note: expanded from macro '__EM_ASM'
     295 |                     : "c" (ctxt->src2.val))
         |                            ~~~~~~~~~~ ^
   arch/x86/kvm/emulate.c:955:1: error: no member named 'val' in 'struct operand'
     955 | EM_ASM_2(add);
         | ^~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:348:10: note: expanded from macro 'EM_ASM_2'
     348 |         case 4: __EM_ASM_2(op##l, eax, edx); break; \
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:305:3: note: expanded from macro '__EM_ASM_2'
     305 |                 __EM_ASM(#op " %%" #src ", %%" #dst " \n\t")
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:291:25: note: expanded from macro '__EM_ASM'
     291 |                     : "+a" (ctxt->dst.val), \
         |                             ~~~~~~~~~ ^
   arch/x86/kvm/emulate.c:955:1: error: no member named 'val' in 'struct operand'
     955 | EM_ASM_2(add);
         | ^~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:348:10: note: expanded from macro 'EM_ASM_2'
     348 |         case 4: __EM_ASM_2(op##l, eax, edx); break; \
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:305:3: note: expanded from macro '__EM_ASM_2'
     305 |                 __EM_ASM(#op " %%" #src ", %%" #dst " \n\t")
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/emulate.c:292:25: note: expanded from macro '__EM_ASM'
     292 |                       "+d" (ctxt->src.val), \
--
   In file included from arch/x86/kvm/x86.c:21:
   In file included from arch/x86/kvm/irq.h:19:
   In file included from arch/x86/kvm/lapic.h:11:
   In file included from arch/x86/kvm/hyperv.h:25:
   In file included from arch/x86/kvm/x86.h:10:
>> arch/x86/kvm/kvm_emulate.h:271:3: error: unknown type name '__uint128_t'
     271 |                 __uint128_t val128;
         |                 ^
   In file included from arch/x86/kvm/x86.c:44:
   include/linux/mman.h:157:9: warning: division by zero is undefined [-Wdivision-by-zero]
     157 |                _calc_vm_trans(flags, MAP_SYNC,       VM_SYNC      ) |
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mman.h:135:21: note: expanded from macro '_calc_vm_trans'
     135 |    : ((x) & (bit1)) / ((bit1) / (bit2))))
         |                     ^ ~~~~~~~~~~~~~~~~~
>> arch/x86/kvm/x86.c:9381:30: error: no member named 'val' in 'struct operand'
    9381 |                 return vector == ctxt->src.val;
         |                                  ~~~~~~~~~ ^
   1 warning and 2 errors generated.


vim +/__uint128_t +271 arch/x86/kvm/kvm_emulate.h

   249	
   250	/* Type, address-of, and value of an instruction's operand. */
   251	struct operand {
   252		enum { OP_REG, OP_MEM, OP_MEM_STR, OP_IMM, OP_XMM, OP_YMM, OP_MM, OP_NONE } type;
   253		unsigned int bytes;
   254		unsigned int count;
   255		union {
   256			unsigned long orig_val;
   257			u64 orig_val64;
   258		};
   259		union {
   260			unsigned long *reg;
   261			struct segmented_address {
   262				ulong ea;
   263				unsigned seg;
   264			} mem;
   265			unsigned xmm;
   266			unsigned mm;
   267		} addr;
   268		union {
   269			unsigned long val;
   270			u64 val64;
 > 271			__uint128_t val128;
   272			char valptr[sizeof(avx256_t)];
   273			sse128_t vec_val;
   274			avx256_t vec_val2;
   275			u64 mm_val;
   276			void *data;
   277		} __aligned(32);
   278	};
   279	

-- 
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-03-07  5:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20260306102047.29760-1-sarunkod@amd.com>
2026-03-07  5:40 ` [PATCH] KVM: x86: Add support for cmpxchg16b emulation 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