Re: [RFC] [PATCH 10/16] x86_64: 64bit PIC ACPI wakeup

From: Andi Kleen
Date: Mon Nov 13 2006 - 12:23:40 EST


On Monday 13 November 2006 17:43, Vivek Goyal wrote:
>
> - Killed lots of dead code
> - Improve the cpu sanity checks to verify long mode
> is enabled when we wake up.
> - Removed the need for modifying any existing kernel page table.
> - Moved wakeup_level4_pgt into the wakeup routine so we can
> run the kernel above 4G.
> - Increased the size of the wakeup routine to 8K.
> - Renamed the variables to use the 64bit register names.
> - Lots of misc cleanups to match trampoline.S
>
> I don't have a configuration I can test this but it compiles cleanly
> and it should work, the code is very similar to the SMP trampoline,
> which I have tested. At least now the comments about still running in
> low memory are actually correct.
>
> Vivek has tested this patch for suspend to memory and it works fine.

Suspend is unfortunately quite fragile.

pavel, rafael can you please test and review this patch?

(full patch is on l-k)

> +verify_cpu:
> + pushl $0 # Kill any dangerous flags
> + popfl
> +
> + /* minimum CPUID flags for x86-64 */
> + /* see http://www.x86-64.org/lists/discuss/msg02971.html */
> +#define REQUIRED_MASK1 ((1<<0)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<8)|\
> + (1<<13)|(1<<15)|(1<<24)|(1<<25)|(1<<26))
> +#define REQUIRED_MASK2 (1<<29)

It would be much better if this least this CPUID code was in a common shared
file with head.S

-Andi

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