Re: [rft] s2ram wakeup moves to .c, could fix few machines

Rafael J. Wysocki
2008-02-07T23:36:42Z

On Friday, 8 of February 2008, Pavel Machek wrote:
> Hi!

Hi,

> > > > - memcpy((void *)acpi_wakeup_address, &wakeup_start,
> > > > - &wakeup_end - &wakeup_start);
> > > > - acpi_copy_wakeup_routine(acpi_wakeup_address);
> > > > + memcpy((void *)acpi_realmode, &wakeup_code_start, 4*PAGE_SIZE);
> > >
> > > Using a PAGE_SIZE multiplier here isn't a good thing...
> >
> > Yes, I'll fix that in one of the next iterations.
>
> Agreed.
>
> > > > + header = (struct wakeup_header *)(acpi_realmode + 0x3f00);
> > >
> > > ... especially not with magic constants like this.
> >
> > Yeah. Pavel, what's at 0x3f00, btw?
>
> struct wakeup_header.
>
> I really need the entry point to be at offset 0, so that I can get
> pointers to my data. I could not figure out how to do it any other
> way. And if 0 is taken, I thought I'd put header at the end.

What does the number 0x3f00 follow from?

Rafael