Messages in this thread | | | Date | Thu, 13 Mar 2008 23:38:45 +0100 | From | Pavel Machek <> | Subject | Re: fix aperture vs. suspend problem |
| |
On Thu 2008-03-13 15:32:48, Andrew Morton wrote: > On Thu, 13 Mar 2008 11:05:31 +0100 > Pavel Machek <pavel@ucw.cz> wrote: > > > > > aperture_64.c takes a piece of memory and makes it into iommu > > window... but such window may not be saved by swsusp -- that leads to > > oops during suspend. > > > > Signed-off-by: Pavel Machek <pavel@suse.cz> > > > > diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c > > index 608152a..88747f3 100644 > > --- a/arch/x86/kernel/aperture_64.c > > +++ b/arch/x86/kernel/aperture_64.c > > @@ -18,6 +18,7 @@ #include <linux/pci_ids.h> > > #include <linux/pci.h> > > #include <linux/bitops.h> > > #include <linux/ioport.h> > > +#include <linux/suspend.h> > > #include <asm/e820.h> > > #include <asm/io.h> > > #include <asm/gart.h> > > @@ -76,6 +77,7 @@ static u32 __init allocate_aperture(void > > printk(KERN_INFO "Mapping aperture over %d KB of RAM @ %lx\n", > > aper_size >> 10, __pa(p)); > > insert_aperture_resource((u32)__pa(p), aper_size); > > + register_nosave_region((u32)__pa(p) >> PAGE_SHIFT, (u32)__pa(p+aper_size) >> PAGE_SHIFT); > > > > return (u32)__pa(p); > > } > > > > This is also needed in 2.6.24, perhaps earlier?
It seems to only trigger on >3GB boxes, during swsusp. People are not normally suspending those big boxes. I do not think this is worth backporting.
Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html pomozte zachranit klanovicky les: http://www.ujezdskystrom.info/
| |