[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86: get rid of BOOT_TRAMPOLINE




----- Messaggio originale -----
> Da: "Jan Beulich" <JBeulich@xxxxxxxx>
> A: "xen-devel" <xen-devel@xxxxxxxxxxxxx>
> Cc: "Paolo Bonzini" <pbonzini@xxxxxxxxxx>
> Inviato: LunedÃ, 11 giugno 2012 10:41:46
> Oggetto: [PATCH] x86: get rid of BOOT_TRAMPOLINE
> 
> We recently saw a machine that has the EBDA extending as low as
> 0x7c000,
> so that Xen fails to boot after relocating the trampoline.  To fix
> this,
> I removed BOOT_TRAMPOLINE and bootsym_phys completely.
> 
> Here are the parts:
> 
> 1) the trampoline segment is set to 64k below the EBDA.  head.S grows
> the ability to relocate the trampoline segment
> 
> 2) reloc.c is made position-independent.  It allocates data below the
> trampoline, whose address is passed in _eax.
> 
> 3) cmdline.S is called before relocating, so all bootsym_phys there
> become sym_phys.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> 
> jb: - fall back to low memory size (instead of segment 0x7c00) if
> EBDA
>       value is out of range
>     - also add upper limit check on EBDA value
>     - fix and simplify inline assembly operands in reloc_mbi_struct()
>     - use lret instead of retf
>     - renamed early_stack to wakeup_stack, defined and used now only
>       in wakeup.S
>     - aligned reloc.bin's end of .text to 16 bytes, so that checking
>       __bss_start == end works reliably
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

Thanks for picking up the work and sending the patch upstream.

Paolo

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.