]> xenbits.xensource.com Git - people/royger/xen.git/commit
x86: split boot trampoline into permanent and temporary part
authorJuergen Gross <jgross@suse.com>
Fri, 24 Mar 2017 13:18:54 +0000 (14:18 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 24 Mar 2017 13:18:54 +0000 (14:18 +0100)
commitc0655e492e6b33e26ec9cd33f59725d0db89cdd0
treebee1a621243b317300c230eeb1dd67dbefd103e5
parent0e7ffe9604ecd3bf534e0d224025e516f2cbd209
x86: split boot trampoline into permanent and temporary part

The hypervisor needs a trampoline in low memory for early boot and
later for bringing up cpus and during wakeup from suspend. Today this
trampoline is kept completely even if most of it isn't needed later.

Split the trampoline into a permanent part and a temporary part needed
at early boot only. Introduce a new entry at the boundary.

Reduce the stack for wakeup code in order for the permanent
trampoline to fit in a single page. 4k of stack seems excessive, about
3k should be more than enough.

Add an ASSERT() to the linker script to ensure the wakeup stack is
always at least 3k.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/boot/trampoline.S
xen/arch/x86/boot/wakeup.S
xen/arch/x86/xen.lds.S
xen/include/asm-x86/config.h