tree:
https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
head: 55375ed5b1263df5a5fb64262ac50040ad097d92
commit: 6e777a2c216c7148be128e24b4def6dee1734dbd [125/147] x86/power: fix doc warnings in
cpu.c
config: i386-randconfig-a004-20210617 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
#
https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git/commi...
git remote add pm
https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
git fetch --no-tags pm bleeding-edge
git checkout 6e777a2c216c7148be128e24b4def6dee1734dbd
# 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: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> arch/x86/power/cpu.c:77: warning: expecting prototype for
__save_processor_statei(). Prototype was for __save_processor_state() instead
vim +77 arch/x86/power/cpu.c
7a9c2dd08eadd5 arch/x86/power/cpu.c Chen Yu 2015-11-25 59
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 60
/**
6e777a2c216c71 arch/x86/power/cpu.c Baokun Li 2021-06-15 61 *
__save_processor_statei() - Save CPU registers before creating a
6e777a2c216c71 arch/x86/power/cpu.c Baokun Li 2021-06-15 62 *
hibernation image and before restoring
6e777a2c216c71 arch/x86/power/cpu.c Baokun Li 2021-06-15 63 *
the memory state from it
6e777a2c216c71 arch/x86/power/cpu.c Baokun Li 2021-06-15 64 *
@ctxt: Structure to store the registers contents in.
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 65 *
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 66 *
NOTE: If there is a CPU register the modification of which by the
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 67 *
boot kernel (ie. the kernel used for loading the hibernation image)
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 68 *
might affect the operations of the restored target kernel (ie. the one
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 69 *
saved in the hibernation image), then its contents must be saved by this
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 70 *
function. In other words, if kernel A is hibernated and different
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 71 *
kernel B is used for loading the hibernation image into memory, the
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 72 *
kernel A's __save_processor_state() function must save all registers
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 73 *
needed by kernel A, so that it can operate correctly after the resume
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 74 *
regardless of what kernel B does in the meantime.
5c9c9bec0589be arch/x86/kernel/suspend_64.c Rafael J. Wysocki 2008-01-30 75
*/
cae4595764cb3b arch/x86/kernel/suspend_64.c Jan Beulich 2008-01-30 76
static void __save_processor_state(struct saved_context *ctxt)
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 @77 {
f9ebbe53e79c59 arch/x86/power/cpu_64.c Sergio Luis 2009-04-28 78
#ifdef CONFIG_X86_32
f9ebbe53e79c59 arch/x86/power/cpu_64.c Sergio Luis 2009-04-28 79
mtrr_save_fixed_ranges(NULL);
f9ebbe53e79c59 arch/x86/power/cpu_64.c Sergio Luis 2009-04-28 80
#endif
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 81
kernel_fpu_begin();
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 82
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 83
/*
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 84 *
descriptor tables
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 85
*/
f9ebbe53e79c59 arch/x86/power/cpu_64.c Sergio Luis 2009-04-28 86
store_idt(&ctxt->idt);
090edbe23ff579 arch/x86/power/cpu.c Andy Lutomirski 2017-12-14 87
cc456c4e7cac38 arch/x86/power/cpu.c Konrad Rzeszutek Wilk 2013-05-01 88
/*
cc456c4e7cac38 arch/x86/power/cpu.c Konrad Rzeszutek Wilk 2013-05-01 89 *
We save it here, but restore it only in the hibernate case.
cc456c4e7cac38 arch/x86/power/cpu.c Konrad Rzeszutek Wilk 2013-05-01 90 *
For ACPI S3 resume, this is loaded via 'early_gdt_desc' in 64-bit
cc456c4e7cac38 arch/x86/power/cpu.c Konrad Rzeszutek Wilk 2013-05-01 91 *
mode in "secondary_startup_64". In 32-bit mode it is done via
cc456c4e7cac38 arch/x86/power/cpu.c Konrad Rzeszutek Wilk 2013-05-01 92 *
'pmode_gdt' in wakeup_start.
cc456c4e7cac38 arch/x86/power/cpu.c Konrad Rzeszutek Wilk 2013-05-01 93
*/
cc456c4e7cac38 arch/x86/power/cpu.c Konrad Rzeszutek Wilk 2013-05-01 94
ctxt->gdt_desc.size = GDT_SIZE - 1;
69218e47994da6 arch/x86/power/cpu.c Thomas Garnier 2017-03-14 95
ctxt->gdt_desc.address = (unsigned long)get_cpu_gdt_rw(smp_processor_id());
cc456c4e7cac38 arch/x86/power/cpu.c Konrad Rzeszutek Wilk 2013-05-01 96
9d1c6e7c86ddc3 arch/x86/kernel/suspend_64.c Glauber de Oliveira Costa 2007-10-19 97
store_tr(ctxt->tr);
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 98
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 99 /*
XMM0..XMM15 should be handled by kernel_fpu_begin(). */
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 100
/*
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 101 *
segment registers
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 102
*/
f9ebbe53e79c59 arch/x86/power/cpu_64.c Sergio Luis 2009-04-28 103
savesegment(gs, ctxt->gs);
7ee18d677989e9 arch/x86/power/cpu.c Andy Lutomirski 2017-12-14 104
#ifdef CONFIG_X86_64
7ee18d677989e9 arch/x86/power/cpu.c Andy Lutomirski 2017-12-14 105
savesegment(fs, ctxt->fs);
7ee18d677989e9 arch/x86/power/cpu.c Andy Lutomirski 2017-12-14 106
savesegment(ds, ctxt->ds);
7ee18d677989e9 arch/x86/power/cpu.c Andy Lutomirski 2017-12-14 107
savesegment(es, ctxt->es);
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 108
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 109
rdmsrl(MSR_FS_BASE, ctxt->fs_base);
7ee18d677989e9 arch/x86/power/cpu.c Andy Lutomirski 2017-12-14 110
rdmsrl(MSR_GS_BASE, ctxt->kernelmode_gs_base);
7ee18d677989e9 arch/x86/power/cpu.c Andy Lutomirski 2017-12-14 111
rdmsrl(MSR_KERNEL_GS_BASE, ctxt->usermode_gs_base);
3ebad590560947 arch/x86_64/kernel/suspend.c Bernhard Kaindl 2007-05-02 112
mtrr_save_fixed_ranges(NULL);
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 113
f9ebbe53e79c59 arch/x86/power/cpu_64.c Sergio Luis 2009-04-28 114
rdmsrl(MSR_EFER, ctxt->efer);
f9ebbe53e79c59 arch/x86/power/cpu_64.c Sergio Luis 2009-04-28 115
#endif
f9ebbe53e79c59 arch/x86/power/cpu_64.c Sergio Luis 2009-04-28 116
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 117
/*
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 118 *
control registers
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 119
*/
f51c94528a9bc7 arch/x86_64/kernel/suspend.c Glauber de Oliveira Costa 2007-07-22 120
ctxt->cr0 = read_cr0();
f51c94528a9bc7 arch/x86_64/kernel/suspend.c Glauber de Oliveira Costa 2007-07-22 121
ctxt->cr2 = read_cr2();
6c690ee1039b25 arch/x86/power/cpu.c Andy Lutomirski 2017-06-12 122
ctxt->cr3 = __read_cr3();
1ef55be16ed695 arch/x86/power/cpu.c Andy Lutomirski 2016-09-29 123
ctxt->cr4 = __read_cr4();
85a0e7539781da arch/x86/power/cpu.c Ondrej Zary 2010-06-08 124
ctxt->misc_enable_saved = !rdmsrl_safe(MSR_IA32_MISC_ENABLE,
85a0e7539781da arch/x86/power/cpu.c Ondrej Zary 2010-06-08 125
&ctxt->misc_enable);
7a9c2dd08eadd5 arch/x86/power/cpu.c Chen Yu 2015-11-25 126
msr_save_context(ctxt);
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 127 }
^1da177e4c3f41 arch/x86_64/kernel/suspend.c Linus Torvalds 2005-04-16 128
:::::: The code at line 77 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]