linux/arch/x86/kernel
Sam Ravnborg c72258c7c9 x86: fix section mismatch warnings when referencing notifiers
Fix the following warnings:
WARNING: arch/x86/kernel/built-in.o(.exit.text+0xf8): Section mismatch in reference from the function msr_exit() to the variable .cpuinit.data:msr_class_cpu_notifier
WARNING: arch/x86/kernel/built-in.o(.exit.text+0x158): Section mismatch in reference from the function cpuid_exit() to the variable .cpuinit.data:cpuid_class_cpu_notifier
WARNING: arch/x86/kernel/built-in.o(.exit.text+0x171): Section mismatch in reference from the function microcode_exit() to the variable .cpuinit.data:mc_cpu_notifier

In all three cases there were a function annotated __exit
that referenced a variable annotated __cpuinitdata.

The fix was to replace the annotation of the notifier
with __refdata to tell modpost that the reference to
a _cpuinit function in the notifier are OK.
The unregister call that references the notifier
variable will simple delete the function pointer
so there is no problem ignoring the reference.

Note: This looks like another case where __cpuinit
has been used as replacement for proper use
of CONFIG_HOTPLUG_CPU to decide what code are used for
HOTPLUG_CPU.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-02-01 17:49:42 +01:00
..
acpi x86: unify arch/x86/kernel/acpi/sleep*.c 2008-01-30 13:32:54 +01:00
cpu x86: c_p_a clflush_cache_range fix 2008-01-31 22:05:45 +01:00
.gitignore .gitignore update for x86 arch 2007-10-17 21:19:04 +02:00
alternative.c x86: fix up alternatives with lockdep enabled 2008-01-30 13:33:24 +01:00
aperture_64.c x86: change aper valid checking sequence 2008-01-30 13:33:39 +01:00
apic_32.c x86: don't disable the APIC if it hasn't been mapped yet 2008-01-30 13:33:17 +01:00
apic_64.c x86: change bios_cpu_apicid to percpu data variable fixup 2008-01-30 13:33:21 +01:00
apm_32.c x86: isolate PIC/PIT in/out calls 2008-01-30 13:33:14 +01:00
asm-offsets_32.c x86: unify struct desc_ptr 2008-01-30 13:31:12 +01:00
asm-offsets_64.c x86: add asm_offset PARAVIRT constants 2008-01-30 13:33:19 +01:00
asm-offsets.c i386: move kernel 2007-10-11 11:17:01 +02:00
audit_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
bootflag.c x86: coding style cleanup for kernel/bootflag.c 2008-01-30 13:32:31 +01:00
bugs_64.c x86, 32-bit: trim memory not covered by wb mtrrs 2008-01-30 13:33:18 +01:00
cpuid.c x86: fix section mismatch warnings when referencing notifiers 2008-02-01 17:49:42 +01:00
crash_dump_32.c kmap leak fix for x86_32 kdump 2007-10-19 11:53:33 -07:00
crash_dump_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
crash.c x86: disable hpet legacy replacement for kdump 2007-12-03 17:17:10 +01:00
doublefault_32.c x86: unify tss_struct 2008-01-30 13:31:31 +01:00
ds.c x86: fix small sparse warning 2008-01-31 22:05:47 +01:00
e820_32.c x86_32: trim memory by updating e820 2008-01-30 13:33:32 +01:00
e820_64.c x86_64: make bootmap_start page align v6 2008-02-01 17:49:41 +01:00
early_printk.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
early-quirks.c x86: fix section mismatch warning in early-quirks.c 2008-01-30 13:33:37 +01:00
efi_32.c x86: fixes some bugs about EFI memory map handling 2008-01-30 13:34:10 +01:00
efi_64.c x86: fixes some bugs about EFI memory map handling 2008-01-30 13:34:10 +01:00
efi_stub_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
efi_stub_64.S x86: EFI runtime service support 2008-01-30 13:31:19 +01:00
efi.c x86: fixes some bugs about EFI memory map handling 2008-01-30 13:34:10 +01:00
entry_32.S x86: move to .rodata/.init.data 2008-01-30 13:31:23 +01:00
entry_64.S x86: replace privileged instructions with paravirt macros 2008-01-30 13:32:08 +01:00
genapic_64.c x86: cleanup x86_cpu_to_apicid references 2008-01-30 13:33:11 +01:00
genapic_flat_64.c x86: convert cpu_to_apicid to be a per cpu variable 2007-10-19 20:35:03 +02:00
geode_32.c x86: GEODE: update GPIO API to support setting multiple GPIOs at once 2008-01-30 13:33:35 +01:00
head64.c x86_64: add debug name for early_res 2008-02-01 17:49:41 +01:00
head_32.S x86: fix Section mismatch: reference to .init.text:lguest_entry 2008-01-30 13:33:28 +01:00
head_64.S x86: make early printk selectable on 64-bit as well 2008-01-30 13:33:06 +01:00
hpet.c rtc: use the IRQ callback interface in (old) RTC driver 2008-01-30 13:33:31 +01:00
i386_ksyms_32.c x86: unexport __{read,write}_lock_failed 2008-01-30 13:30:29 +01:00
i387.c x86: x86 user_regset cleanup 2008-01-30 13:31:55 +01:00
i8237.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
i8253.c x86: isolate PIC/PIT in/out calls 2008-01-30 13:33:14 +01:00
i8259_32.c x86: isolate PIC/PIT in/out calls 2008-01-30 13:33:14 +01:00
i8259_64.c x86: provide a native_init_IRQ function on 64-bit 2008-01-30 13:33:19 +01:00
init_task.c x86: nuke a ton of unused exports 2008-01-30 13:30:28 +01:00
io_apic_32.c arch/x86/kernel/io_apic_{64,32}.c: use time_before 2008-01-30 13:32:19 +01:00
io_apic_64.c arch/x86/kernel/io_apic_{64,32}.c: use time_before 2008-01-30 13:32:19 +01:00
io_delay.c x86: add DMI quirk for io-delay hangs on Compaq Presario V6000 laptops 2008-01-30 13:30:05 +01:00
ioport.c x86: refactor ioport unification 2008-01-30 13:33:10 +01:00
irq_32.c x86: remove all definitions with fastcall 2008-01-30 13:31:17 +01:00
irq_64.c x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
k8.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
kdebugfs.c x86 boot : export boot_params via debugfs for debugging 2008-01-30 13:32:51 +01:00
kprobes.c x86: remove unneded casts 2008-01-30 13:33:23 +01:00
ldt.c x86: adjust/fix LDT handling for Xen 2008-01-30 13:33:14 +01:00
machine_kexec_32.c x86: unify struct desc_ptr 2008-01-30 13:31:12 +01:00
machine_kexec_64.c x86: 64-bit, make sparsemem vmemmap the only memory model 2008-01-30 13:30:47 +01:00
Makefile x86: rodata config hookup 2008-01-30 13:34:09 +01:00
mca_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
mfgpt_32.c x86: GEODE add the "mfgptfix" boot time option to fix MFGPT timers 2008-01-30 13:33:33 +01:00
microcode.c x86: fix section mismatch warnings when referencing notifiers 2008-02-01 17:49:42 +01:00
module_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
module_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
mpparse_32.c x86: fix section mismatch warning in acpi/boot.c 2008-01-30 13:33:37 +01:00
mpparse_64.c x86: fix section mismatch warning in acpi/boot.c 2008-01-30 13:33:37 +01:00
msr.c x86: fix section mismatch warnings when referencing notifiers 2008-02-01 17:49:42 +01:00
nmi_32.c x86: clean up nmi_32/64.c 2008-01-30 13:30:33 +01:00
nmi_64.c x86: clean up nmi_32/64.c 2008-01-30 13:30:33 +01:00
numaq_32.c x86: convert TSC disabling to generic cpuid disable bitmap 2008-01-30 13:33:20 +01:00
paravirt_patch_32.c x86: move patching code to arch-specific file. 2008-01-30 13:32:10 +01:00
paravirt_patch_64.c x86: add stringify header 2008-01-30 13:33:19 +01:00
paravirt.c x86: fill in missing pv_mmu_ops entries for PAGETABLE_LEVELS >= 3 2008-01-30 13:33:20 +01:00
pci-calgary_64.c x86: remove duplicate includes 2008-01-30 13:30:32 +01:00
pci-dma_32.c i386: Clean up duplicate includes in arch/i386/kernel/ 2007-10-17 20:15:51 +02:00
pci-dma_64.c x86: pci-dma_64.c: cleanups 2008-01-30 13:30:31 +01:00
pci-gart_64.c x86: cpa: move flush to cpa 2008-01-30 13:34:07 +01:00
pci-nommu_64.c x86 gart: rename iommu.h to gart.h 2007-10-30 00:22:22 +01:00
pci-swiotlb_64.c x86: nuke a ton of unused exports 2008-01-30 13:30:28 +01:00
pcspeaker.c i386: move kernel 2007-10-11 11:17:01 +02:00
pmtimer_64.c x86: move pmtmr related declarations 2008-01-30 13:30:18 +01:00
process_32.c x86: fix section mismatch warning in process_*.c 2008-01-30 13:33:37 +01:00
process_64.c x86: fix section mismatch warning in process_*.c 2008-01-30 13:33:37 +01:00
ptrace.c x86, ptrace: add bts_struct size to status command 2008-01-30 13:32:54 +01:00
quirks.c x86: force enable HPET on (some?) ICH9 boards 2008-01-30 13:33:39 +01:00
reboot_fixups_32.c x86: add the RDC machine specific reboot fixup 2008-01-30 13:33:36 +01:00
reboot.c x86: reboot: remove inb_p usage 2008-01-30 13:33:25 +01:00
relocate_kernel_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
relocate_kernel_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
rtc.c x86: fix sched_clock() 2008-01-30 13:32:40 +01:00
scx200_32.c x86: fix sparse warning in kernel/scx200_32.c 2008-01-31 22:05:45 +01:00
setup64.c x86: export __supported_pte_mask 2008-01-30 13:33:24 +01:00
setup_32.c x86: early boot debugging via FireWire (ohci1394_dma=early) 2008-01-30 13:34:11 +01:00
setup_64.c x86_64: make bootmap_start page align v6 2008-02-01 17:49:41 +01:00
sigframe_32.h i386: move kernel 2007-10-11 11:17:01 +02:00
signal_32.c x86: remove unneded casts 2008-01-30 13:33:23 +01:00
signal_64.c x86: print which shared library/executable faulted in segfault etc. messages v3 2008-01-30 13:33:18 +01:00
smp_32.c x86: voluntary leave_mm before entering ACPI C3 2008-01-30 13:32:01 +01:00
smp_64.c x86: voluntary leave_mm before entering ACPI C3 2008-01-30 13:32:01 +01:00
smpboot_32.c x86: remove set_kernel_exec() 2008-01-30 13:33:53 +01:00
smpboot_64.c x86: silence section mismatch warning in smpboot_64.c 2008-02-01 17:49:41 +01:00
smpcommon_32.c x86: change write_gdt_entry signature. 2008-01-30 13:31:13 +01:00
srat_32.c x86 32-bit boot: rename bt_ioremap() to early_ioremap() 2008-01-30 13:33:44 +01:00
stacktrace.c x86: remove unneded casts 2008-01-30 13:33:23 +01:00
step.c x86: remove last user of get_segment_eip 2008-01-30 13:33:12 +01:00
summit_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
suspend_64.c x86: make __{save,restore}_processor_state static 2008-01-30 13:31:23 +01:00
suspend_asm_64.S x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
sys_i386_32.c remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
sys_x86_64.c x86: PIE executable randomization, checkpatch fixes 2008-01-30 13:31:07 +01:00
syscall_64.c i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
syscall_table_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
tce_64.c x86: Create clflush() inline, remove hardcoded wbinvd 2007-10-17 20:16:12 +02:00
test_nx.c x86: fix arch/x86/kernel/test_nx.c modular build bug 2008-01-30 23:27:58 +01:00
test_rodata.c x86: add testcases for RODATA and NX protections/attributes 2008-01-30 13:34:08 +01:00
time_32.c x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
time_64.c x86: fix cpu MHz reporting for AMD family 0x11 2008-01-30 13:33:35 +01:00
tls.c x86: x86 user_regset TLS 2008-01-30 13:31:52 +01:00
tls.h x86: x86 user_regset TLS 2008-01-30 13:31:52 +01:00
topology.c x86: fix section mismatch warning in topology.c 2008-01-30 13:33:37 +01:00
trampoline_32.S x86: misc. constifications 2007-10-17 20:16:08 +02:00
trampoline_64.S x86: misc. constifications 2007-10-17 20:16:08 +02:00
traps_32.c x86: fix EISA ioremap 2008-01-30 13:33:49 +01:00
traps_64.c x86: use KSYM_NAME_LEN 2008-01-30 13:33:33 +01:00
tsc_32.c x86: convert TSC disabling to generic cpuid disable bitmap 2008-01-30 13:33:20 +01:00
tsc_64.c x86: export check_tsc_unstable 2008-01-30 13:33:24 +01:00
tsc_sync.c x86: add warning to check_tsc_warp() 2008-01-30 13:33:24 +01:00
verify_cpu_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
vm86_32.c arch/x86/: spelling fixes 2008-01-30 13:31:42 +01:00
vmi_32.c x86: add mm parameter to paravirt_alloc_pd 2008-01-30 13:33:39 +01:00
vmiclock_32.c x86: isolate PIC/PIT in/out calls 2008-01-30 13:33:14 +01:00
vmlinux_32.lds.S x86: make arch/x86/kernel/acpi/wakeup_32.S use a separate 2008-01-30 13:32:50 +01:00
vmlinux_64.lds.S x86: provide __parainstructions section 2008-01-30 13:33:19 +01:00
vmlinux.lds.S i386: move kernel 2007-10-11 11:17:01 +02:00
vsmp_64.c x86: clean up arch/x86/kernel/vsmp_64.c 2008-01-30 13:30:24 +01:00
vsyscall_64.c x86: map vsyscalls early enough 2008-01-30 13:32:39 +01:00
x8664_ksyms_64.c x86: export cpu_gdt_descr 2008-01-30 13:31:10 +01:00