[Bug 292515] Re: x86 ACPI: Fix breakage of resume on 64-bit UP systems with SMP kernel
Mike Homer
homerhomer at gmail.com
Mon Nov 10 23:37:17 UTC 2008
Here is some more info from 2.6.27.4 change log
http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.27.4
-----------------------------------------------------------------
commit bc79810633524ea09b77e3de3ba3f4a97f2152b7
Author: Rafael J. Wysocki <rjw at sisk.pl>
Date: Mon Oct 20 21:30:19 2008 +0000
x86 ACPI: Fix breakage of resume on 64-bit UP systems with SMP kernel
We are now using per CPU GDT tables in head_64.S and the original
early_gdt_descr.address is invalidated after boot by
setup_per_cpu_areas(). This breaks resume from suspend to RAM on
x86_64 UP systems using SMP kernels, because this part of head_64.S
is also executed during the resume and the invalid GDT address
causes the system to crash. It doesn't break on 'true' SMP systems,
because early_gdt_descr.address is modified every time
native_cpu_up() runs. However, during resume it should point to the
GDT of the boot CPU rather than to another CPU's GDT.
For this reason, during suspend to RAM always make
early_gdt_descr.address point to the boot CPU's GDT.
--
x86 ACPI: Fix breakage of resume on 64-bit UP systems with SMP kernel
https://bugs.launchpad.net/bugs/292515
You received this bug notification because you are a member of Kernel
Bugs, which is subscribed to linux-meta in ubuntu.
More information about the kernel-bugs
mailing list