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

H. Peter Anvin
2008-02-07T22:34:26Z

Sam Ravnborg wrote:
>> +
>> + . = 0;
>> + .text : { *(.text*) }
>> +
>> + . = ALIGN(16);
> Why?

It's good practice to have at least paragraph (segment boundary)
alignment between different types of data. In the case of the .bss, it
also allows cleaning with rep;movsl.

It's technically not all that necessary (except for 4-byte alignment for
the .bss), but it makes things easier to debug on the assembly level.

>> + /* Adjust this as appropriate */
>> + /* This allows 4 pages (16K) */
>> + . = ASSERT(_end <= 0x4000, "Wakeup too big!");
> PAGE_SIZE * 4?

Not really, because it's not at all related to the kernel page size; the
reference to pages there is informal. If we go to a larger virtual page
size we do NOT want this to change.

-hpa