• D
    arch/x86/xen: Silence compiler warnings · c7341d6a
    Daniel Kiper 提交于
    Compiler complains in the following way when x86 32-bit kernel
    with Xen support is build:
    
      CC      arch/x86/xen/enlighten.o
    arch/x86/xen/enlighten.c: In function ‘xen_start_kernel’:
    arch/x86/xen/enlighten.c:1726:3: warning: right shift count >= width of type [enabled by default]
    
    Such line contains following EFI initialization code:
    
    boot_params.efi_info.efi_systab_hi = (__u32)(__pa(efi_systab_xen) >> 32);
    
    There is no issue if x86 64-bit kernel is build. However, 32-bit case
    generate warning (even if that code will not be executed because Xen
    does not work on 32-bit EFI platforms) due to __pa() returning unsigned long
    type which has 32-bits width. So move whole EFI initialization stuff
    to separate function and build it conditionally to avoid above mentioned
    warning on x86 32-bit architecture.
    Signed-off-by: NDaniel Kiper <daniel.kiper@oracle.com>
    Reviewed-by: NKonrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Signed-off-by: NMatt Fleming <matt.fleming@intel.com>
    c7341d6a
enlighten.c 44.5 KB