kernel-ark/arch/i386/kernel
Rafael J. Wysocki 1c10070a55 i386: do not restore reserved memory after hibernation
On some systems the ACPI NVS area is located in the first 1 MB of RAM and
it is overwritten by the i386 code during the restore after hibernation.
This confuses the ACPI platform firmware that doesn't update the AC adapter
status appropriately as a result
(http://bugzilla.kernel.org/show_bug.cgi?id=7995).

The solution is to register the reserved memory in the first 1 MB as
'nosave', so that swsusp doesn't touch it during the restore.  Also, this
has been done on x86_64 for a long time now, so this patch makes the i386
restore code behave like the x86_64 one.

[akpm@linux-foundation.org: build fix]
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-21 18:37:12 -07:00
..
acpi PM: Integrate beeping flag with existing acpi_sleep flags 2007-07-19 10:04:43 -07:00
cpu i386: fix section mismatch warning in intel_cacheinfo 2007-07-21 18:37:12 -07:00
.gitignore [PATCH] x86: gitignore some autogenerated files for i386 2006-02-14 16:09:35 -08:00
alternative.c i386: smp-alt-once option is only useful with HOTPLUG_CPU 2007-07-21 18:37:09 -07:00
apic.c highres: improve debug output 2007-07-21 17:49:15 -07:00
apm.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
asm-offsets.c lguest: the asm offsets 2007-07-19 10:04:52 -07:00
bootflag.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cpuid.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
crash_dump.c [PATCH] kdump: read previous kernel's memory 2006-01-10 08:01:28 -08:00
crash.c move die notifier handling to common code 2007-05-08 11:15:04 -07:00
doublefault.c [PATCH] i386: i386 separate hardware-defined TSS from Linux additions 2007-05-02 19:27:13 +02:00
e820.c i386: do not restore reserved memory after hibernation 2007-07-21 18:37:12 -07:00
early_printk.c
efi_stub.S [PATCH] x86: remove unused include from efi_stub.S 2006-09-26 08:48:56 -07:00
efi.c arch/i386/* fs/* ipc/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
entry.S i386: fixup TRACE_IRQ breakage 2007-07-18 12:09:01 -07:00
head.S xen: Core Xen implementation 2007-07-18 08:47:42 -07:00
hpet.c x86: share hpet.h with i386 2007-07-21 18:37:09 -07:00
i386_ksyms.c [PATCH] i386: Convert PDA into the percpu section 2007-05-02 19:27:16 +02:00
i387.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i8237.c [PATCH] mmc (mainly): add "or later" clause to licence statement. 2006-10-01 00:39:23 -07:00
i8253.c i386: arch/i386/kernel/i8253.c should #include <asm/timer.h> 2007-07-21 18:37:09 -07:00
i8259.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
init_task.c use the new percpu interface for shared data 2007-07-19 10:04:45 -07:00
io_apic.c i386: timer_irq_works() static again 2007-07-21 18:37:09 -07:00
ioport.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
irq.c use the new percpu interface for shared data 2007-07-19 10:04:45 -07:00
kprobes.c Kprobes: The ON/OFF knob thru debugfs 2007-05-08 11:15:19 -07:00
ldt.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
legacy_serial.c x86, serial: convert legacy COM ports to platform devices 2007-05-08 11:15:23 -07:00
machine_kexec.c [PATCH] i386: Avoid overwriting the current pgd (V4, i386) 2006-09-26 10:52:38 +02:00
Makefile i386: move common parts of smp into their own file 2007-05-15 08:54:00 -07:00
mca.c [PATCH] i386: replace kmalloc+memset with kzalloc 2006-12-07 02:14:19 +01:00
microcode.c microcode: fix section mismatch warning 2007-06-01 08:18:30 -07:00
module.c [PATCH] Generic BUG for i386 2006-12-08 08:28:39 -08:00
mpparse.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
msr.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
nmi.c i386: speedup touch_nmi_watchdog 2007-07-17 10:23:04 -07:00
numaq.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
paravirt.c Add a sched_clock paravirt_op 2007-07-18 08:47:42 -07:00
pci-dma.c x86: Disable DAC on VIA bridges 2007-06-20 14:27:25 -07:00
pcspeaker.c [PATCH] x86: Unify pcspeaker platform device code between i386/x86-64 2007-02-13 13:26:26 +01:00
process.c x86: Make Alt-SysRq-p display the debug register contents 2007-07-21 18:37:10 -07:00
ptrace.c Handle bogus %cs selector in single-step instruction decoding 2007-07-18 12:09:01 -07:00
quirks.c Clean up E7520/7320/7525 quirk printk. 2007-07-07 13:53:13 -07:00
reboot_fixups.c GEODE: reboot fixup for geode machines with CS5536 boards 2007-07-06 11:45:11 -07:00
reboot.c Work around Dell E520 BIOS reboot bug 2007-06-01 08:18:28 -07:00
relocate_kernel.S [PATCH] i386: Avoid overwriting the current pgd (V4, i386) 2006-09-26 10:52:38 +02:00
scx200.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
setup.c i386: do not restore reserved memory after hibernation 2007-07-21 18:37:12 -07:00
sigframe.h [PATCH] __user annotations for pointers in i386 sigframe 2005-09-09 10:31:59 -07:00
signal.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
smp.c paravirt: unstatic leave_mm 2007-07-18 08:47:41 -07:00
smpboot.c paravirt: make siblingmap functions visible 2007-07-18 08:47:41 -07:00
smpcommon.c i386: Allow smp_call_function_single() to current cpu 2007-07-16 12:05:50 +03:00
srat.c ACPI: build fix for IBM x440 - CONFIG_X86_SUMMIT 2007-02-02 21:47:33 -05:00
summit.c
sys_i386.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
syscall_table.S sys_fallocate() implementation on i386, x86_64 and powerpc 2007-07-17 21:42:44 -04:00
sysenter.c i386: allow debuggers to access the vsyscall page with compat vDSO 2007-07-21 18:37:09 -07:00
time.c NTP: move the cmos update code into ntp.c 2007-07-21 17:49:15 -07:00
topology.c Replace remaining references to "driverfs" with "sysfs". 2007-02-17 19:13:42 +01:00
trampoline.S [PATCH] i386: Rename boot_gdt_table to boot_gdt 2007-05-02 19:27:10 +02:00
traps.c i386: touch_nmi_watchdog() in print_trace_address() 2007-07-21 17:49:14 -07:00
tsc_sync.c [PATCH] x86: rewrite SMP TSC sync code 2007-02-16 08:13:57 -08:00
tsc.c lguest: the host code 2007-07-19 10:04:52 -07:00
vm86.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
vmi.c Add a sched_clock paravirt_op 2007-07-18 08:47:42 -07:00
vmiclock.c clockevents: fix resume logic 2007-07-21 17:49:15 -07:00
vmlinux.lds.S i386: Put allocated ELF notes in read-only data segment 2007-07-19 10:04:47 -07:00
vsyscall-int80.S
vsyscall-note.S xen: disable vdso "nosegneg" on native boot 2007-07-20 08:44:19 -07:00
vsyscall-sigreturn.S [PATCH] Mark unwind info for signal trampolines in vDSOs 2006-03-31 12:18:52 -08:00
vsyscall-sysenter.S [PATCH] vdso: randomize the i386 vDSO by moving it into a vma 2006-06-27 17:32:38 -07:00
vsyscall.lds.S [PATCH] i386: VDSO_PRELINK warning fix 2007-05-02 19:27:09 +02:00
vsyscall.S