Re: [PATCH 12/20] x86_64: 64bit ACPI wakeup trampoline

From: Pavel Machek
Date: Wed Mar 07 2007 - 17:45:54 EST


Hi!

> o Moved wakeup_level4_pgt into the wakeup routine so we can
> run the kernel above 4G.
>
> o Now we first go to 64bit mode and continue to run from trampoline and
> then then start accessing kernel symbols and restore processor context.
> This enables us to resume even in relocatable kernel context when
> kernel might not be loaded at physical addr it has been compiled for.
>
> o Removed the need for modifying any existing kernel page table.
>
> o Increased the size of the wakeup routine to 8K. This is required as
> wake page tables are on trampoline itself and they got to be at 4K
> boundary, hence one page is not sufficient.
>
> Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
> Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>

> + if ((&wakeup_end - &wakeup_start) > (PAGE_SIZE*2))
> printk(KERN_CRIT
> - "ACPI: Wakeup code way too big, will crash on attempt to suspend\n");
> + "ACPI: Wakeup code way too big, will crash on attempt"
> + " to suspend\n");

Hmm, if you split it like
printk(KERN_CRIT "ACPI: Wakeup code way too big, will crash"
"on attempt to suspend\n");

...you'll still keep 80-column rule while keeping it readable.

> @@ -159,11 +159,11 @@ wakeup_32:
> */
>
> /* Finally jump in 64bit mode */
> - ljmp *(wakeup_long64_vector - __START_KERNEL_map)
> + ljmp *(wakeup_long64_vector - wakeup_code)(%esi)

spaces vs. tabs problem.

Otherwise looks good. ACK if it was tested.
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
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/