[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 5/5] fix: add multiboot2 protocol support for EFI platforms
>>> On 16.01.17 at 15:15, <cardoe@xxxxxxxxxx> wrote: > Doug v2 - new in this version to help show what's changed Thanks for providing this. > --- a/xen/arch/x86/boot/head.S > +++ b/xen/arch/x86/boot/head.S > @@ -519,6 +519,7 @@ trampoline_setup: > 1: > /* Switch to low-memory stack. */ > mov sym_phys(trampoline_phys),%edi > + /* The stack starts 64kb after the location of trampoline_phys */ "The stack ends ..." (as it grows downwards). > --- a/xen/arch/x86/efi/efi-boot.h > +++ b/xen/arch/x86/efi/efi-boot.h > @@ -170,9 +170,10 @@ static void __init > efi_arch_process_memory_map(EFI_SYSTEM_TABLE *SystemTable, > /* fall through */ > case EfiConventionalMemory: > if ( !trampoline_phys && desc->PhysicalStart + len <= 0x100000 && > - len >= cfg.size + extra_mem && > - desc->PhysicalStart + len > cfg.addr ) > + len >= cfg.size && desc->PhysicalStart + len > cfg.addr ) { > + ASSERT(cfg.size > 0); > cfg.addr = (desc->PhysicalStart + len - cfg.size) & > PAGE_MASK; > + } You leave the "extra_mem" variable unused afaict. > @@ -686,6 +687,10 @@ paddr_t __init efi_multiboot2(EFI_HANDLE ImageHandle, > EFI_SYSTEM_TABLE *SystemTa > setup_efi_pci(); > efi_variables(); > > + /* This is the maximum size of our trampoline + our low memory stack */ > + cfg.size = 64 << 10; > + ASSERT(cfg.size >= ((trampoline_end - trampoline_start) + 4096)); If this assertion triggers, what would the user see? Namely - anything other than a hang or instant reboot? Such checks really need to be build time ones. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |