On 06/09/2015 01:53 PM, Ian Campbell wrote:
On Tue, 2015-06-09 at 12:51 +0100, Jan Beulich wrote:
On 09.06.15 at 12:36, <ross.lagerw...@citrix.com> wrote:
ping

I'm still waiting for the ARM maintainers to ack ...

--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -522,6 +522,11 @@ static void __init efi_arch_blexit(void)
           efi_bs->FreePool(memmap);
   }

+static void __init efi_arch_halt(void)
+{
+    stop_cpu();
+}
+
   static void __init efi_arch_load_addr_check(EFI_LOADED_IMAGE *loaded_image)
   {
       if ( (unsigned long)loaded_image->ImageBase & ((1 << 12) - 1) )

... this.

I think it is ok, it does a bit more than the x86 variant, which is that
it would interlock correctly with __cpu_die, where the open coded on x86
wouldn't (assuming you have any interlock anyway.

In terms of the rest of the patch, are those two places changed to use
SystemTable->BootServices instead of efi_bs, if the point of the patch
is to not use BootServices after exit is called?


GetMemoryMap() and ExitBootServices() are the only functions explicitly allowed after the first call to ExitBootServices() so they are called via SystemTable->BootServices. efi_bs is set to NULL to ensure that no other bootservices are called.

Cheers,
--
Ross Lagerwall

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

Reply via email to