[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 07/18] efi: run EFI specific code on EFI platform only
Signed-off-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- xen/arch/x86/shutdown.c | 3 ++- xen/common/efi/boot.c | 5 +++++ xen/common/efi/runtime.c | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/shutdown.c b/xen/arch/x86/shutdown.c index 21f6cf5..1c8336f 100644 --- a/xen/arch/x86/shutdown.c +++ b/xen/arch/x86/shutdown.c @@ -504,7 +504,8 @@ void machine_restart(unsigned int delay_millisecs) tboot_shutdown(TB_SHUTDOWN_REBOOT); } - efi_reset_system(reboot_mode != 0); + if ( efi_platform ) + efi_reset_system(reboot_mode != 0); /* Rebooting needs to touch the page at absolute address 0. */ *((unsigned short *)__va(0x472)) = reboot_mode; diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c index 8aafcfd..89d081d 100644 --- a/xen/common/efi/boot.c +++ b/xen/common/efi/boot.c @@ -1154,6 +1154,11 @@ void __init efi_init_memory(void) } *extra, *extra_head = NULL; #endif +#ifndef CONFIG_ARM /* TODO - disabled until implemented on ARM */ + if ( !efi_platform ) + return; +#endif + printk(XENLOG_INFO "EFI memory map:\n"); for ( i = 0; i < efi_memmap_size; i += efi_mdesc_size ) { diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c index b229c69..7c767e4 100644 --- a/xen/common/efi/runtime.c +++ b/xen/common/efi/runtime.c @@ -164,6 +164,9 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info) { unsigned int i, n; + if ( !efi_platform ) + return -ENOSYS; + switch ( idx ) { case XEN_FW_EFI_VERSION: @@ -298,6 +301,9 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op) EFI_STATUS status = EFI_NOT_STARTED; int rc = 0; + if ( !efi_platform ) + return -ENOSYS; + switch ( op->function ) { case XEN_EFI_get_time: -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |