linux/arch/x86/kernel
Pavel Machek e44b7b7525 x86: move suspend wakeup code to C
Move wakeup code to .c, so that video mode setting code can be shared
between boot and wakeup. Remove nasty assembly code in 64-bit case by
re-using trampoline code. Stack setup was fixed to clear high 16bits
of %esp, maybe that fixes some machines.

.c code sharing and morse code was done H. Peter Anvin, Sam Ravnborg
reviewed kbuild related stuff, and it seems okay to him. Rafael did
some cleanups.

[rjw:
* Made the patch stop breaking compilation on x86-32
* Added arch/x86/kernel/acpi/sleep.h
* Got rid of compiler warnings in arch/x86/kernel/acpi/sleep.c
* Fixed 32-bit compilation on x86-64 systems
* Added include/asm-x86/trampoline.h and fixed the non-SMP
  compilation on 64-bit x86
* Removed arch/x86/kernel/acpi/sleep_32.c which was not used
* Fixed some breakage caused by the integration of smpboot.c done
  under us in the meantime]

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-04-17 17:41:37 +02:00
..
acpi x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
cpu x86: move apic declarations to mach_apic.h 2008-04-17 17:41:30 +02:00
.gitignore .gitignore update for x86 arch 2007-10-17 21:19:04 +02:00
alternative.c x86: fix test_poke for vmalloced pages 2008-04-17 17:41:29 +02:00
aperture_64.c x86: clean up aperture_64.c 2008-04-17 17:41:19 +02:00
apic_32.c x86: move up & smp variables to setup.c 2008-04-17 17:41:35 +02:00
apic_64.c x86: move up & smp variables to setup.c 2008-04-17 17:41:35 +02:00
apm_32.c x86: switch to proc_create() 2008-04-17 17:40:51 +02:00
asm-offsets_32.c x86: move struct definitions to unifed sigframe.h 2008-04-17 17:40:46 +02: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: don't use large pages to map the first 2/4MB of memory 2008-04-17 17:41:30 +02:00
cpuid.c x86: cpuid, msr: use inode mutex instead of big kernel lock 2008-02-04 16:47:59 +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: move ipi definitions to mach_ipi.h 2008-04-17 17:41:30 +02:00
doublefault_32.c x86: unify tss_struct 2008-01-30 13:31:31 +01:00
ds.c x86: debug Store - call kfree if only we really need it 2008-04-17 17:41:34 +02:00
e820_32.c x86: reserve end-of-conventional-memory to 1MB on 32-bit 2008-04-17 17:40:51 +02:00
e820_64.c x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
early_printk.c x86: coding style fixes to x86/kernel/early_printk.c 2008-04-17 17:40:51 +02: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: sparse error in efi_32.c 2008-02-19 16:18:28 +01:00
efi_64.c x86: EFI runtime code mapping enhancement 2008-02-13 16:20:35 +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: sparse warning in efi.c 2008-02-19 16:18:28 +01:00
entry_32.S x86: entry_32.S - use flags from processor-flags.h 2008-04-17 17:41:30 +02:00
entry_64.S x86: ptrace vs -ENOSYS 2008-04-17 17:41:13 +02:00
genapic_64.c x86: move x86_cpu_to_apicid_init to smpboot.c 2008-04-17 17:41:34 +02:00
genapic_flat_64.c x86: use cpumask_of_cpu() 2008-04-17 17:41:36 +02:00
genx2apic_uv_x.c x86: support for new UV apic 2008-04-17 17:41:33 +02:00
geode_32.c x86: GEODE: MFGPT: Use "just-in-time" detection for the MFGPT timers 2008-02-09 23:24:08 +01:00
head32.c x86: introduce kernel/head32.c 2008-04-17 17:40:49 +02:00
head64.c x86: don't set up early exception handlers for external interrupts 2008-04-17 17:41:29 +02:00
head_32.S x86: introduce kernel/head32.c 2008-04-17 17:40:49 +02:00
head_64.S x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
hpet.c x86: revert assign IRQs to hpet timer 2008-04-04 18:36:49 +02:00
i386_ksyms_32.c x86: unexport __{read,write}_lock_failed 2008-01-30 13:30:29 +01:00
i387.c x86: clean up i387.c 2008-04-17 17:40:57 +02:00
i8237.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
i8253.c x86: pit_clockevent can be static 2008-02-13 16:20:35 +01:00
i8259_32.c x86: i8259A: remove redundant irq_descinitialization 2008-02-19 16:18:34 +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: delay the export removal of init_mm 2008-02-29 18:55:42 +01:00
io_apic_32.c x86: remove unnecessary tmp local variable 2008-04-17 17:41:36 +02:00
io_apic_64.c x86: use cpumask_of_cpu() 2008-04-17 17:41:36 +02:00
io_delay.c x86: add dmi quirk for io_delay 2008-03-26 22:23:40 +01:00
ioport.c x86: refactor ioport unification 2008-01-30 13:33:10 +01:00
ipi.c x86: create ipi.c 2008-04-17 17:40:56 +02:00
irq_32.c x86: replace remaining __FUNCTION__ occurances 2008-04-17 17:40:57 +02: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: replace most VM86 flags with flags from processor-flags.h 2008-04-17 17:41:33 +02:00
ldt.c x86: cleanup - eliminate numbers in LDT allocation code 2008-02-04 16:48:03 +01:00
machine_kexec_32.c vmcoreinfo: fix the configuration dependencies 2008-02-07 08:42:25 -08:00
machine_kexec_64.c vmcoreinfo: add the symbol "phys_base" 2008-04-02 15:28:19 -07:00
Makefile x86: merge mpparse_{32,64}.c 2008-04-17 17:41:36 +02:00
mca_32.c x86: coding style fixes to arch/x86/kernel/mca_32.c 2008-04-17 17:40:49 +02:00
mfgpt_32.c x86: GEODE: add missing module.h include 2008-03-26 22:23:40 +01:00
microcode.c x86: microcode: show results on success too 2008-04-17 17:41:32 +02: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.c x86: print out buggy mptable 2008-04-17 17:41:36 +02:00
msr.c x86: coding style fixes to arch/x86/kernel/msr.c 2008-04-17 17:40:50 +02:00
nmi_32.c x86: fix ioapic bug again 2008-04-17 17:41:21 +02:00
nmi_64.c x86: wipe get_nmi_reason out of nmi_64.h 2008-04-17 17:41:01 +02: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: paravirt_ops: don't steal memory resources in paravirt_disable_iospace 2008-04-17 17:41:33 +02:00
pci-calgary_64.c iommu sg: x86: convert calgary IOMMU to use the IOMMU helper 2008-02-05 09:44:11 -08: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 iommu: add more documentation 2008-04-17 17:40:59 +02:00
pci-gart_64.c x86, agpgart: scary messages are fortunately obsolete 2008-04-04 18:36:46 +02: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: improve default idle 2008-04-17 17:41:34 +02:00
process_64.c x86: improve default idle 2008-04-17 17:41:34 +02:00
ptrace.c x86: regparm(3) is mandatory, no need to annotate 2008-04-17 17:40:45 +02:00
quirks.c x86: hpet clock enable quirk on nVidia nForce 430 2008-03-21 17:06:15 +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: use cpu_online() 2008-04-17 17:41:36 +02:00
relocate_kernel_32.S x86: relocate_kernel - use predefined macroses for page attributes 2008-04-17 17:41:29 +02:00
relocate_kernel_64.S x86: relocate_kernel - use predefined macroses for page attributes 2008-04-17 17:41:29 +02:00
rtc.c x86: fix cmos read and write to not use inb_p and outb_p 2008-04-17 17:40:47 +02:00
scx200_32.c x86: fix sparse warning in kernel/scx200_32.c 2008-01-31 22:05:45 +01:00
setup64.c x86: support for new UV apic 2008-04-17 17:41:33 +02:00
setup_32.c x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
setup_64.c x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
setup.c x86: move up & smp variables to setup.c 2008-04-17 17:41:35 +02:00
sigframe.h x86: move struct definitions to unifed sigframe.h 2008-04-17 17:40:46 +02:00
signal_32.c x86: replace most VM86 flags with flags from processor-flags.h 2008-04-17 17:41:33 +02:00
signal_64.c x86: remove DEBUG_SIG 2008-04-17 17:40:57 +02:00
smp.c x86: move ipi definitions to mach_ipi.h 2008-04-17 17:41:30 +02:00
smpboot.c x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
smpcommon_32.c x86: create smpcommon.c 2008-04-17 17:40:55 +02:00
smpcommon.c x86: create smpcommon.c 2008-04-17 17:40:55 +02:00
srat_32.c x86: replace remaining __FUNCTION__ occurances 2008-04-17 17:40:57 +02:00
stacktrace.c x86: don't save unreliable stack trace entries 2008-02-26 12:55:58 +01:00
step.c x86: prevent unconditional writes to DebugCtl MSR 2008-04-17 17:40:58 +02:00
summit_32.c x86: move mp_bus_id_to_node to numa.c 2008-04-17 17:40:59 +02: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 x86: coding style fixes to arch/x86/kernel/syscall_64.c 2008-04-17 17:40:48 +02:00
syscall_table_32.S timerfd: wire the new timerfd API to the x86 family 2008-02-05 09:44:07 -08:00
tce_64.c x86: Create clflush() inline, remove hardcoded wbinvd 2007-10-17 20:16:12 +02:00
test_nx.c x86: Explicitly include required header files. 2008-04-17 17:41:15 +02:00
test_rodata.c x86: include proper prototypes for rodata_test 2008-02-14 23:30:20 +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 time: fix typo in comments 2008-02-08 09:22:29 -08:00
tlb_32.c x86: create tlb files 2008-04-17 17:40:56 +02:00
tlb_64.c x86: move ipi definitions to mach_ipi.h 2008-04-17 17:41:30 +02:00
tls.c asmlinkage_protect replaces prevent_tail_call 2008-04-10 17:28:26 -07: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:arch_register_cpu 2008-02-19 16:18:30 +01:00
trampoline_32.S x86: remove misleading comments in trampoline_*.S 2008-02-04 16:48:01 +01:00
trampoline_64.S x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
traps_32.c x86: cleanup - rename VM_MASK to X86_VM_MASK 2008-04-17 17:41:33 +02:00
traps_64.c x86: wipe get_nmi_reason out of nmi_64.h 2008-04-17 17:41:01 +02:00
tsc_32.c x86: set_cyc2ns_scale() remove prev scale 2008-04-17 17:41:34 +02:00
tsc_64.c x86: set_cyc2ns_scale() remove prev scale 2008-04-17 17:41:34 +02: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 x86: replace most VM86 flags with flags from processor-flags.h 2008-04-17 17:41:33 +02:00
vmi_32.c x86: VMI fix 2008-02-04 16:47:54 +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: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
vmlinux_64.lds.S x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
vmlinux.lds.S i386: move kernel 2007-10-11 11:17:01 +02:00
vsmp_64.c x86: clean up vSMP detection 2008-04-17 17:41:29 +02:00
vsyscall_64.c x86: restore vsyscall64 prochandler 2008-02-29 18:55:39 +01:00
x8664_ksyms_64.c x86: coding style fixes to arch/x86/kernel/x8664_ksyms_64.c 2008-04-17 17:40:48 +02:00