From: kernel test robot <lkp@intel.com>
To: Sairaj Kodilkar <sarunkod@amd.com>,
"H. Peter Anvin" <hpa@zytor.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
Ingo Molnar <mingo@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Sean Christopherson <seanjc@google.com>,
Thomas Gleixner <tglx@kernel.org>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
x86@kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
suravee.suthikulpanit@amd.com, vasant.hegde@amd.com,
nikunj.dadhania@amd.com, Manali.Shukla@amd.com,
Sairaj Kodilkar <sarunkod@amd.com>
Subject: Re: [PATCH] KVM: x86: Add support for cmpxchg16b emulation
Date: Sat, 7 Mar 2026 13:40:56 +0800 [thread overview]
Message-ID: <202603071358.8bRahq3i-lkp@intel.com> (raw)
In-Reply-To: <20260306102047.29760-1-sarunkod@amd.com>
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
prev parent reply other threads:[~2026-03-07 5:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-06 10:20 [PATCH] KVM: x86: Add support for cmpxchg16b emulation Sairaj Kodilkar
2026-03-06 15:38 ` Sean Christopherson
2026-03-11 11:18 ` Sairaj Kodilkar
2026-03-12 11:46 ` Paolo Bonzini
2026-03-07 2:39 ` kernel test robot
2026-03-07 5:40 ` kernel test robot [this message]
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=202603071358.8bRahq3i-lkp@intel.com \
--to=lkp@intel.com \
--cc=Manali.Shukla@amd.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=mingo@redhat.com \
--cc=nikunj.dadhania@amd.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pbonzini@redhat.com \
--cc=sarunkod@amd.com \
--cc=seanjc@google.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=tglx@kernel.org \
--cc=vasant.hegde@amd.com \
--cc=x86@kernel.org \
/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