* [linux-next:master 11918/14131] arch/x86/xen/smp_pv.c:350: undefined reference to `xen_asm_exc_xen_hypervisor_callback'
@ 2020-05-29 22:17 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-05-29 22:17 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 7601 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: e7b08814b16b80a0bf76eeca16317f8c2ed23b8c
commit: 66a07b44e7658da3145bb3a8f45256d103e3addc [11918/14131] x86/entry: Switch XEN/PV hypercall entry to IDTENTRY
config: i386-debian-10.3 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
git checkout 66a07b44e7658da3145bb3a8f45256d103e3addc
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
ld: arch/x86/xen/setup.o: in function `register_callback':
arch/x86/xen/setup.c:940: undefined reference to `xen_asm_exc_xen_hypervisor_callback'
ld: arch/x86/xen/smp_pv.o: in function `cpu_initialize_context':
>> arch/x86/xen/smp_pv.c:350: undefined reference to `xen_asm_exc_xen_hypervisor_callback'
vim +350 arch/x86/xen/smp_pv.c
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 284
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 285 static int
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 286 cpu_initialize_context(unsigned int cpu, struct task_struct *idle)
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 287 {
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 288 struct vcpu_guest_context *ctxt;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 289 struct desc_struct *gdt;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 290 unsigned long gdt_mfn;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 291
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 292 /* used to tell cpu_init() that it can proceed with initialization */
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 293 cpumask_set_cpu(cpu, cpu_callout_mask);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 294 if (cpumask_test_and_set_cpu(cpu, xen_cpu_initialized_map))
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 295 return 0;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 296
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 297 ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 298 if (ctxt == NULL)
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 299 return -ENOMEM;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 300
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 301 gdt = get_cpu_gdt_rw(cpu);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 302
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 303 #ifdef CONFIG_X86_32
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 304 ctxt->user_regs.fs = __KERNEL_PERCPU;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 305 ctxt->user_regs.gs = __KERNEL_STACK_CANARY;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 306 #endif
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 307 memset(&ctxt->fpu_ctxt, 0, sizeof(ctxt->fpu_ctxt));
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 308
f16b3da1dc936c Andy Lutomirski 2017-11-02 309 /*
f16b3da1dc936c Andy Lutomirski 2017-11-02 310 * Bring up the CPU in cpu_bringup_and_idle() with the stack
f16b3da1dc936c Andy Lutomirski 2017-11-02 311 * pointing just below where pt_regs would be if it were a normal
f16b3da1dc936c Andy Lutomirski 2017-11-02 312 * kernel entry.
f16b3da1dc936c Andy Lutomirski 2017-11-02 313 */
c3881eb58d5611 Miroslav Benes 2020-03-26 314 ctxt->user_regs.eip = (unsigned long)asm_cpu_bringup_and_idle;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 315 ctxt->flags = VGCF_IN_KERNEL;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 316 ctxt->user_regs.eflags = 0x1000; /* IOPL_RING1 */
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 317 ctxt->user_regs.ds = __USER_DS;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 318 ctxt->user_regs.es = __USER_DS;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 319 ctxt->user_regs.ss = __KERNEL_DS;
f16b3da1dc936c Andy Lutomirski 2017-11-02 320 ctxt->user_regs.cs = __KERNEL_CS;
f16b3da1dc936c Andy Lutomirski 2017-11-02 321 ctxt->user_regs.esp = (unsigned long)task_pt_regs(idle);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 322
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 323 xen_copy_trap_info(ctxt->trap_ctxt);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 324
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 325 ctxt->ldt_ents = 0;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 326
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 327 BUG_ON((unsigned long)gdt & ~PAGE_MASK);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 328
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 329 gdt_mfn = arbitrary_virt_to_mfn(gdt);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 330 make_lowmem_page_readonly(gdt);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 331 make_lowmem_page_readonly(mfn_to_virt(gdt_mfn));
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 332
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 333 ctxt->gdt_frames[0] = gdt_mfn;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 334 ctxt->gdt_ents = GDT_ENTRIES;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 335
f16b3da1dc936c Andy Lutomirski 2017-11-02 336 /*
f16b3da1dc936c Andy Lutomirski 2017-11-02 337 * Set SS:SP that Xen will use when entering guest kernel mode
f16b3da1dc936c Andy Lutomirski 2017-11-02 338 * from guest user mode. Subsequent calls to load_sp0() can
f16b3da1dc936c Andy Lutomirski 2017-11-02 339 * change this value.
f16b3da1dc936c Andy Lutomirski 2017-11-02 340 */
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 341 ctxt->kernel_ss = __KERNEL_DS;
f16b3da1dc936c Andy Lutomirski 2017-11-02 342 ctxt->kernel_sp = task_top_of_stack(idle);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 343
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 344 #ifdef CONFIG_X86_32
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 345 ctxt->event_callback_cs = __KERNEL_CS;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 346 ctxt->failsafe_callback_cs = __KERNEL_CS;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 347 #else
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 348 ctxt->gs_base_kernel = per_cpu_offset(cpu);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 349 #endif
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 @350 ctxt->event_callback_eip =
66a07b44e7658d Thomas Gleixner 2020-05-21 351 (unsigned long)xen_asm_exc_xen_hypervisor_callback;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 352 ctxt->failsafe_callback_eip =
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 353 (unsigned long)xen_failsafe_callback;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 354 per_cpu(xen_cr3, cpu) = __pa(swapper_pg_dir);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 355
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 356 ctxt->ctrlreg[3] = xen_pfn_to_cr3(virt_to_gfn(swapper_pg_dir));
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 357 if (HYPERVISOR_vcpu_op(VCPUOP_initialise, xen_vcpu_nr(cpu), ctxt))
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 358 BUG();
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 359
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 360 kfree(ctxt);
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 361 return 0;
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 362 }
83b96794e0ea97 Vitaly Kuznetsov 2017-03-14 363
:::::: The code at line 350 was first introduced by commit
:::::: 83b96794e0ea97ca7e05b15e31d31dac71d3fc2a x86/xen: split off smp_pv.c
:::::: TO: Vitaly Kuznetsov <vkuznets@redhat.com>
:::::: CC: Juergen Gross <jgross@suse.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34643 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-05-29 22:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-29 22:17 [linux-next:master 11918/14131] arch/x86/xen/smp_pv.c:350: undefined reference to `xen_asm_exc_xen_hypervisor_callback' kbuild test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.