tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/paravirt head: 495310e4f2dd857c4d5a62806a04cb8ba53855c1 commit: 6da63eb241a05b0e676d68975e793c0521387141 [13/15] x86/paravirt: Move the pv_irq_ops under the PARAVIRT_XXL umbrella config: x86_64-randconfig-g0-09032303 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: git checkout 6da63eb241a05b0e676d68975e793c0521387141 # save the attached .config to linux build tree make ARCH=x86_64 :::::: branch date: 71 minutes ago :::::: commit date: 71 minutes ago
All error/warnings (new ones prefixed by >>):
In file included from arch/x86/entry/entry_64.S:33:0:
>> arch/x86/include/asm/paravirt.h:938:0: warning: "SAVE_FLAGS" redefined
#define SAVE_FLAGS(clobbers) \
^
In file included from arch/x86/entry/entry_64.S:32:0:
arch/x86/include/asm/irqflags.h:127:0: note: this is the location of the
previous definition
#define SAVE_FLAGS(x) pushfq; popq %rax
^
arch/x86/entry/entry_64.S: Assembler messages:
>> arch/x86/entry/entry_64.S:624: Error: invalid operands (*UND* and *UND*
>> sections) for `+'
arch/x86/entry/entry_64.S:649: Error: invalid operands (*UND* and *UND*
sections) for `+'
arch/x86/entry/entry_64.S:1046: Error: invalid operands (*UND* and *UND*
sections) for `+'
arch/x86/entry/entry_64.S:1048: Error: invalid operands (*UND* and *UND*
sections) for `+'
>> arch/x86/entry/entry_64.S:624: Error: invalid operands (*UND* and *ABS*
>> sections) for `/'
arch/x86/entry/entry_64.S:649: Error: invalid operands (*UND* and *ABS*
sections) for `/'
arch/x86/entry/entry_64.S:1046: Error: invalid operands (*UND* and *ABS*
sections) for `/'
arch/x86/entry/entry_64.S:1048: Error: invalid operands (*UND* and *ABS*
sections) for `/'
#
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=6da63eb241a05b0e676d68975e793c0521387141
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git remote update tip
git checkout 6da63eb241a05b0e676d68975e793c0521387141
vim +624 arch/x86/entry/entry_64.S
1d3e53e86 arch/x86/entry/entry_64.S Andy Lutomirski 2017-07-11 546
939b78713 arch/x86/kernel/entry_64.S H. Peter Anvin 2008-11-11 547 /*
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 548 *
Interrupt entry helper function.
^1da177e4 arch/x86_64/kernel/entry.S Linus Torvalds 2005-04-16 549 *
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 550 *
Entry runs with interrupts off. Stack layout at entry:
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 551 *
+----------------------------------------------------+
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 552 * |
regs->ss |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 553 * |
regs->rsp |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 554 * |
regs->eflags |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 555 * |
regs->cs |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 556 * |
regs->ip |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 557 *
+----------------------------------------------------+
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 558 * |
regs->orig_ax = ~(interrupt number) |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 559 *
+----------------------------------------------------+
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 560 * |
return address |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 561 *
+----------------------------------------------------+
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 562 */
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 563
ENTRY(interrupt_entry)
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 564
UNWIND_HINT_FUNC
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 565
ASM_CLAC
f6f64681d arch/x86/kernel/entry_64.S Denys Vlasenko 2015-01-08 566
cld
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 567
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 568
testb $3, CS-ORIG_RAX+8(%rsp)
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 569
jz 1f
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 570
SWAPGS
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 571
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 572
/*
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 573
* Switch to the thread stack. The IRET frame and orig_ax are
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 574
* on the stack, as well as the return address. RDI..R12 are
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 575
* not (yet) on the stack and space has not (yet) been
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 576
* allocated for them.
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 577
*/
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 578
pushq %rdi
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 579
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 580
/* Need to switch before accessing the thread stack. */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 581
SWITCH_TO_KERNEL_CR3 scratch_reg=%rdi
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 582
movq %rsp, %rdi
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 583
movq PER_CPU_VAR(cpu_current_top_of_stack), %rsp
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 584
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 585
/*
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 586
* We have RDI, return address, and orig_ax on the stack on
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 587
* top of the IRET frame. That means offset=24
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 588
*/
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 589
UNWIND_HINT_IRET_REGS base=%rdi offset=24
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 590
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 591
pushq 7*8(%rdi) /* regs->ss */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 592
pushq 6*8(%rdi) /* regs->rsp */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 593
pushq 5*8(%rdi) /* regs->eflags */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 594
pushq 4*8(%rdi) /* regs->cs */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 595
pushq 3*8(%rdi) /* regs->ip */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 596
pushq 2*8(%rdi) /* regs->orig_ax */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 597
pushq 8(%rdi) /* return address */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 598
UNWIND_HINT_FUNC
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 599
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 600
movq (%rdi), %rdi
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 601 1:
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 602
0e34d2263 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 603
PUSH_AND_CLEAR_REGS save_ret=1
0e34d2263 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 604
ENCODE_FRAME_POINTER 8
76f5df43c arch/x86/kernel/entry_64.S Denys Vlasenko 2015-02-26 605
2ba647410 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 606
testb $3, CS+8(%rsp)
dde74f2e4 arch/x86/kernel/entry_64.S Denys Vlasenko 2015-04-27 607
jz 1f
02bc7768f arch/x86/entry/entry_64.S Andy Lutomirski 2015-07-03 608
02bc7768f arch/x86/entry/entry_64.S Andy Lutomirski 2015-07-03 609
/*
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 610
* IRQ from user mode.
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 611
*
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 612
* We need to tell lockdep that IRQs are off. We can't do this until
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 613
* we fix gsbase, and we should do it before enter_from_user_mode
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 614
* (which can take locks). Since TRACE_IRQS_OFF is idempotent,
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 615
* the simplest way to handle it is to just call it twice if
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 616
* we enter from user mode. There's no reason to optimize this since
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 617
* TRACE_IRQS_OFF is a no-op if lockdep is off.
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 618
*/
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 619
TRACE_IRQS_OFF
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 620
478dc89cf arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 621
CALL_enter_from_user_mode
02bc7768f arch/x86/entry/entry_64.S Andy Lutomirski 2015-07-03 622
76f5df43c arch/x86/kernel/entry_64.S Denys Vlasenko 2015-02-26 623 1:
2ba647410 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 @624
ENTER_IRQ_STACK old_rsp=%rdi save_ret=1
f6f64681d arch/x86/kernel/entry_64.S Denys Vlasenko 2015-01-08 625
/* We entered an interrupt context - irqs are off: */
f6f64681d arch/x86/kernel/entry_64.S Denys Vlasenko 2015-01-08 626
TRACE_IRQS_OFF
f6f64681d arch/x86/kernel/entry_64.S Denys Vlasenko 2015-01-08 627
2ba647410 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 628
ret
2ba647410 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 629
END(interrupt_entry)
2ba647410 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 630
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 631
:::::: The code at line 624 was first introduced by commit
:::::: 2ba6474104a1132c4af9f6dc42c6bfe3ca71f8c7 x86/entry/64: Move
ENTER_IRQ_STACK from interrupt macro to interrupt_entry
:::::: TO: Dominik Brodowski <[email protected]>
:::::: CC: Ingo Molnar <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip

