Re: BIOS overwritten during resume (was: Re: Asus L5D resume on battery power)

From: Pavel Machek
Date: Fri Mar 04 2005 - 15:42:00 EST


Hi!

> > > > IIRC kernel code/data is marked as PageReserved(), that's why we need
> > > > to save that :(. Not sure what to do with data e820 marked as
> > > > reserved...
> > >
> > > Perhaps we need another page flag, like PG_readonly, and mark the pages
> > > reserved by the e820 as PG_reserved | PG_readonly (the same for the areas
> > > that are not returned by e820 at all). Would that be acceptable?
> >
> > This flags are little in the short supply, but being able to tell
> > kernel code from memory hole seems like "must have", so yes, that
> > looks ok.
> >
> > You could get subtle and reuse some other pageflag. I do not think
> > PG_reserved can have PG_locked... So using for example PG_locked for
> > this purpose should be okay.
>
> The following patch does this. It is only for x86-64 without
> CONFIG_DISCONTIGMEM, but it has no effect in other cases.

Actually, take a look at Nigel's patch. He simply uses PageNosave
instead of PageLocked -- that is cleaner. He also found a few places
where reserved page becomes un-reserved, and you probably need to fix
those, too.
Pavel
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/