>>> On 23.03.17 at 07:25, <jgr...@suse.com> wrote: > @@ -131,6 +151,14 @@ start64: > movabs $__high_start,%rax > jmpq *%rax > > +#include "wakeup.S" > + > +/* The first page of trampoline is permanent, the rest boot-time only. */ > + .equ trampoline_boot_start, trampoline_start + PAGE_SIZE > + .global trampoline_boot_start
The name is at least ambiguous - boot only code starts right here, not at the next page boundary. Would it not work to use wakeup_stack here, ... > --- a/xen/arch/x86/boot/wakeup.S > +++ b/xen/arch/x86/boot/wakeup.S > @@ -1,6 +1,7 @@ > .code16 > > #define wakesym(sym) (sym - wakeup_start) > +#define wakeup_stack trampoline_start + PAGE_SIZE ... omit this #define, and ... > --- a/xen/arch/x86/xen.lds.S > +++ b/xen/arch/x86/xen.lds.S > @@ -335,3 +335,5 @@ ASSERT(IS_ALIGNED(__bss_end, 8), "__bss_end > misaligned") > > ASSERT((trampoline_end - trampoline_start) < TRAMPOLINE_SPACE - > MBI_SPACE_MIN, > "not enough room for trampoline and mbi data") > +ASSERT((trampoline_boot_start - wakeup_stack_start) >= WAKEUP_STACK_MIN, > + "wakeup stack too small") ... use wakeup_stack here too? Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel