* [efi:next 13/14] arch/x86/kernel/reboot.c:613: undefined reference to `efi_capsule_pending'
@ 2020-12-13 15:20 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-12-13 15:20 UTC (permalink / raw)
To: Ard Biesheuvel; +Cc: kbuild-all, linux-efi
[-- Attachment #1: Type: text/plain, Size: 10277 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next
head: f4cc0ea28451d8adfb5f1ee35635e07650907c6e
commit: 168f1c4079fcddd8c989ce103fcc79d170b7b43c [13/14] efi: ia64: disable the capsule loader
config: x86_64-randconfig-a006-20201213 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git/commit/?id=168f1c4079fcddd8c989ce103fcc79d170b7b43c
git remote add efi https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git
git fetch --no-tags efi next
git checkout 168f1c4079fcddd8c989ce103fcc79d170b7b43c
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
ld: warning: orphan section `.data..decrypted' from `arch/x86/kernel/cpu/vmware.o' being placed in section `.data..decrypted'
ld: warning: orphan section `.data..decrypted' from `arch/x86/kernel/kvm.o' being placed in section `.data..decrypted'
ld: arch/x86/kernel/reboot.o: in function `native_machine_emergency_restart':
>> arch/x86/kernel/reboot.c:613: undefined reference to `efi_capsule_pending'
vim +613 arch/x86/kernel/reboot.c
7432d149fda8ce9 Ingo Molnar 2008-03-06 573
660e34cebf0a11d Matthew Garrett 2011-04-04 574 /*
5be44a6fb1edb57 Ingo Molnar 2014-04-04 575 * To the best of our knowledge Windows compatible x86 hardware expects
5be44a6fb1edb57 Ingo Molnar 2014-04-04 576 * the following on reboot:
660e34cebf0a11d Matthew Garrett 2011-04-04 577 *
660e34cebf0a11d Matthew Garrett 2011-04-04 578 * 1) If the FADT has the ACPI reboot register flag set, try it
660e34cebf0a11d Matthew Garrett 2011-04-04 579 * 2) If still alive, write to the keyboard controller
660e34cebf0a11d Matthew Garrett 2011-04-04 580 * 3) If still alive, write to the ACPI reboot register again
660e34cebf0a11d Matthew Garrett 2011-04-04 581 * 4) If still alive, write to the keyboard controller again
a4f1987e4c5489a Li, Aubrey 2014-03-02 582 * 5) If still alive, call the EFI runtime service to reboot
5be44a6fb1edb57 Ingo Molnar 2014-04-04 583 * 6) If no EFI runtime service, call the BIOS to do a reboot
660e34cebf0a11d Matthew Garrett 2011-04-04 584 *
5be44a6fb1edb57 Ingo Molnar 2014-04-04 585 * We default to following the same pattern. We also have
5be44a6fb1edb57 Ingo Molnar 2014-04-04 586 * two other reboot methods: 'triple fault' and 'PCI', which
5be44a6fb1edb57 Ingo Molnar 2014-04-04 587 * can be triggered via the reboot= kernel boot option or
5be44a6fb1edb57 Ingo Molnar 2014-04-04 588 * via quirks.
5be44a6fb1edb57 Ingo Molnar 2014-04-04 589 *
5be44a6fb1edb57 Ingo Molnar 2014-04-04 590 * This means that this function can never return, it can misbehave
5be44a6fb1edb57 Ingo Molnar 2014-04-04 591 * by not rebooting properly and hanging.
660e34cebf0a11d Matthew Garrett 2011-04-04 592 */
416e2d63794d4e5 Jody Belka 2008-02-12 593 static void native_machine_emergency_restart(void)
4d022e35fd7e07c Miguel Boton 2008-01-30 594 {
4d022e35fd7e07c Miguel Boton 2008-01-30 595 int i;
660e34cebf0a11d Matthew Garrett 2011-04-04 596 int attempt = 0;
660e34cebf0a11d Matthew Garrett 2011-04-04 597 int orig_reboot_type = reboot_type;
edf2b1394611fef Robin Holt 2013-07-08 598 unsigned short mode;
4d022e35fd7e07c Miguel Boton 2008-01-30 599
d176720d34c72f7 Eduardo Habkost 2008-11-17 600 if (reboot_emergency)
d176720d34c72f7 Eduardo Habkost 2008-11-17 601 emergency_vmx_disable_all();
d176720d34c72f7 Eduardo Habkost 2008-11-17 602
840c2baf2d4cdf3 Joseph Cihula 2009-06-30 603 tboot_shutdown(TB_SHUTDOWN_REBOOT);
840c2baf2d4cdf3 Joseph Cihula 2009-06-30 604
4d022e35fd7e07c Miguel Boton 2008-01-30 605 /* Tell the BIOS if we want cold or warm reboot */
edf2b1394611fef Robin Holt 2013-07-08 606 mode = reboot_mode == REBOOT_WARM ? 0x1234 : 0;
edf2b1394611fef Robin Holt 2013-07-08 607 *((unsigned short *)__va(0x472)) = mode;
4d022e35fd7e07c Miguel Boton 2008-01-30 608
87615a34d561ef5 Matt Fleming 2016-04-25 609 /*
87615a34d561ef5 Matt Fleming 2016-04-25 610 * If an EFI capsule has been registered with the firmware then
87615a34d561ef5 Matt Fleming 2016-04-25 611 * override the reboot= parameter.
87615a34d561ef5 Matt Fleming 2016-04-25 612 */
87615a34d561ef5 Matt Fleming 2016-04-25 @613 if (efi_capsule_pending(NULL)) {
87615a34d561ef5 Matt Fleming 2016-04-25 614 pr_info("EFI capsule is pending, forcing EFI reboot.\n");
87615a34d561ef5 Matt Fleming 2016-04-25 615 reboot_type = BOOT_EFI;
87615a34d561ef5 Matt Fleming 2016-04-25 616 }
87615a34d561ef5 Matt Fleming 2016-04-25 617
4d022e35fd7e07c Miguel Boton 2008-01-30 618 for (;;) {
4d022e35fd7e07c Miguel Boton 2008-01-30 619 /* Could also try the reset bit in the Hammer NB */
4d022e35fd7e07c Miguel Boton 2008-01-30 620 switch (reboot_type) {
5be44a6fb1edb57 Ingo Molnar 2014-04-04 621 case BOOT_ACPI:
5be44a6fb1edb57 Ingo Molnar 2014-04-04 622 acpi_reboot();
5be44a6fb1edb57 Ingo Molnar 2014-04-04 623 reboot_type = BOOT_KBD;
5be44a6fb1edb57 Ingo Molnar 2014-04-04 624 break;
5be44a6fb1edb57 Ingo Molnar 2014-04-04 625
4d022e35fd7e07c Miguel Boton 2008-01-30 626 case BOOT_KBD:
144d102b926f887 Michael D Labriola 2012-02-01 627 mach_reboot_fixups(); /* For board specific fixups */
7432d149fda8ce9 Ingo Molnar 2008-03-06 628
4d022e35fd7e07c Miguel Boton 2008-01-30 629 for (i = 0; i < 10; i++) {
4d022e35fd7e07c Miguel Boton 2008-01-30 630 kb_wait();
4d022e35fd7e07c Miguel Boton 2008-01-30 631 udelay(50);
144d102b926f887 Michael D Labriola 2012-02-01 632 outb(0xfe, 0x64); /* Pulse reset low */
4d022e35fd7e07c Miguel Boton 2008-01-30 633 udelay(50);
4d022e35fd7e07c Miguel Boton 2008-01-30 634 }
660e34cebf0a11d Matthew Garrett 2011-04-04 635 if (attempt == 0 && orig_reboot_type == BOOT_ACPI) {
660e34cebf0a11d Matthew Garrett 2011-04-04 636 attempt = 1;
660e34cebf0a11d Matthew Garrett 2011-04-04 637 reboot_type = BOOT_ACPI;
660e34cebf0a11d Matthew Garrett 2011-04-04 638 } else {
a4f1987e4c5489a Li, Aubrey 2014-03-02 639 reboot_type = BOOT_EFI;
660e34cebf0a11d Matthew Garrett 2011-04-04 640 }
660e34cebf0a11d Matthew Garrett 2011-04-04 641 break;
4d022e35fd7e07c Miguel Boton 2008-01-30 642
4d022e35fd7e07c Miguel Boton 2008-01-30 643 case BOOT_EFI:
8562c99cdd30217 Matt Fleming 2014-06-13 644 efi_reboot(reboot_mode, NULL);
5be44a6fb1edb57 Ingo Molnar 2014-04-04 645 reboot_type = BOOT_BIOS;
5be44a6fb1edb57 Ingo Molnar 2014-04-04 646 break;
5be44a6fb1edb57 Ingo Molnar 2014-04-04 647
5be44a6fb1edb57 Ingo Molnar 2014-04-04 648 case BOOT_BIOS:
5be44a6fb1edb57 Ingo Molnar 2014-04-04 649 machine_real_restart(MRR_BIOS);
5be44a6fb1edb57 Ingo Molnar 2014-04-04 650
5be44a6fb1edb57 Ingo Molnar 2014-04-04 651 /* We're probably dead after this, but... */
5be44a6fb1edb57 Ingo Molnar 2014-04-04 652 reboot_type = BOOT_CF9_SAFE;
14d7ca5c5758536 H. Peter Anvin 2008-11-11 653 break;
4d022e35fd7e07c Miguel Boton 2008-01-30 654
5be44a6fb1edb57 Ingo Molnar 2014-04-04 655 case BOOT_CF9_FORCE:
14d7ca5c5758536 H. Peter Anvin 2008-11-11 656 port_cf9_safe = true;
df561f6688fef77 Gustavo A. R. Silva 2020-08-23 657 fallthrough;
4d022e35fd7e07c Miguel Boton 2008-01-30 658
5be44a6fb1edb57 Ingo Molnar 2014-04-04 659 case BOOT_CF9_SAFE:
14d7ca5c5758536 H. Peter Anvin 2008-11-11 660 if (port_cf9_safe) {
5be44a6fb1edb57 Ingo Molnar 2014-04-04 661 u8 reboot_code = reboot_mode == REBOOT_WARM ? 0x06 : 0x0E;
16c21ae5ca636cf Li Fei 2013-08-21 662 u8 cf9 = inb(0xcf9) & ~reboot_code;
14d7ca5c5758536 H. Peter Anvin 2008-11-11 663 outb(cf9|2, 0xcf9); /* Request hard reset */
14d7ca5c5758536 H. Peter Anvin 2008-11-11 664 udelay(50);
16c21ae5ca636cf Li Fei 2013-08-21 665 /* Actually do the reset */
16c21ae5ca636cf Li Fei 2013-08-21 666 outb(cf9|reboot_code, 0xcf9);
14d7ca5c5758536 H. Peter Anvin 2008-11-11 667 udelay(50);
14d7ca5c5758536 H. Peter Anvin 2008-11-11 668 }
5be44a6fb1edb57 Ingo Molnar 2014-04-04 669 reboot_type = BOOT_TRIPLE;
5be44a6fb1edb57 Ingo Molnar 2014-04-04 670 break;
5be44a6fb1edb57 Ingo Molnar 2014-04-04 671
5be44a6fb1edb57 Ingo Molnar 2014-04-04 672 case BOOT_TRIPLE:
e802a51ede91350 Thomas Gleixner 2017-08-28 673 idt_invalidate(NULL);
5be44a6fb1edb57 Ingo Molnar 2014-04-04 674 __asm__ __volatile__("int3");
5be44a6fb1edb57 Ingo Molnar 2014-04-04 675
5be44a6fb1edb57 Ingo Molnar 2014-04-04 676 /* We're probably dead after this, but... */
5be44a6fb1edb57 Ingo Molnar 2014-04-04 677 reboot_type = BOOT_KBD;
4d022e35fd7e07c Miguel Boton 2008-01-30 678 break;
4d022e35fd7e07c Miguel Boton 2008-01-30 679 }
4d022e35fd7e07c Miguel Boton 2008-01-30 680 }
4d022e35fd7e07c Miguel Boton 2008-01-30 681 }
4d022e35fd7e07c Miguel Boton 2008-01-30 682
:::::: The code at line 613 was first introduced by commit
:::::: 87615a34d561ef59bd0cffc73256a21220dfdffd x86/efi: Force EFI reboot to process pending capsules
:::::: TO: Matt Fleming <matt@codeblueprint.co.uk>
:::::: CC: Ingo Molnar <mingo@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28468 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-12-13 15:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-13 15:20 [efi:next 13/14] arch/x86/kernel/reboot.c:613: undefined reference to `efi_capsule_pending' 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;
as well as URLs for NNTP newsgroup(s).