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

From: H. Peter Anvin
Date: Thu Feb 07 2008 - 17:35:47 EST


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
--
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/