From: Mark Brown Date: Thu, 24 Jul 2014 22:03:21 +0000 (+0100) Subject: Merge remote-tracking branch 'lsk/v3.10/topic/arm64-efi' into linux-linaro-lsk X-Git-Tag: firefly_0821_release~3680^2~36^2~41 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c69294e957dd173809ec7815231e6aff6d5c2d83;p=firefly-linux-kernel-4.4.55.git Merge remote-tracking branch 'lsk/v3.10/topic/arm64-efi' into linux-linaro-lsk Conflicts: arch/arm64/kernel/Makefile arch/arm64/kernel/head.S --- c69294e957dd173809ec7815231e6aff6d5c2d83 diff --cc arch/arm64/kernel/Makefile index 6a81721f3382,ee742dfa8a70..ac389d32ccde --- a/arch/arm64/kernel/Makefile +++ b/arch/arm64/kernel/Makefile @@@ -4,11 -4,9 +4,13 @@@ CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(TEXT_OFFSET) AFLAGS_head.o := -DTEXT_OFFSET=$(TEXT_OFFSET) + CFLAGS_efi-stub.o := -DTEXT_OFFSET=$(TEXT_OFFSET) \ + -I$(src)/../../../scripts/dtc/libfdt +CFLAGS_REMOVE_ftrace.o = -pg +CFLAGS_REMOVE_insn.o = -pg +CFLAGS_REMOVE_return_address.o = -pg + # Object file lists. arm64-obj-y := cputable.o debug-monitors.o entry.o irq.o fpsimd.o \ entry-fpsimd.o process.o ptrace.o setup.o signal.o \ @@@ -17,18 -15,12 +19,19 @@@ arm64-obj-$(CONFIG_COMPAT) += sys32.o kuser32.o signal32.o \ sys_compat.o +arm64-obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o arm64-obj-$(CONFIG_MODULES) += arm64ksyms.o module.o -arm64-obj-$(CONFIG_SMP) += smp.o smp_spin_table.o smp_psci.o +arm64-obj-$(CONFIG_SMP) += smp.o smp_spin_table.o +arm64-obj-$(CONFIG_SMP) += topology.o +arm64-obj-$(CONFIG_PERF_EVENTS) += perf_regs.o arm64-obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o -arm64-obj-$(CONFIG_HAVE_HW_BREAKPOINT)+= hw_breakpoint.o +arm64-obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o arm64-obj-$(CONFIG_EARLY_PRINTK) += early_printk.o +arm64-obj-$(CONFIG_ARM_CPU_TOPOLOGY) += topology.o +arm64-obj-$(CONFIG_ARM64_CPU_SUSPEND) += sleep.o suspend.o +arm64-obj-$(CONFIG_JUMP_LABEL) += jump_label.o +arm64-obj-$(CONFIG_KGDB) += kgdb.o + arm64-obj-$(CONFIG_EFI) += efi.o efi-stub.o efi-entry.o obj-y += $(arm64-obj-y) vdso/ obj-m += $(arm64-obj-m) diff --cc arch/arm64/kernel/setup.c index 9bafffe12689,c6c57fa79424..e87b5fd07b8c --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c @@@ -41,8 -41,8 +41,9 @@@ #include #include #include + #include +#include #include #include #include @@@ -413,10 -259,9 +415,11 @@@ void __init setup_arch(char **cmdline_p *cmdline_p = boot_command_line; + early_ioremap_init(); + parse_early_param(); + efi_init(); arm64_memblock_init(); paging_init(); diff --cc arch/x86/boot/compressed/eboot.c index 1308beed7abe,851fd4249603..17177e80d466 --- a/arch/x86/boot/compressed/eboot.c +++ b/arch/x86/boot/compressed/eboot.c @@@ -1000,9 -974,9 +976,9 @@@ static efi_status_t exit_boot(struct bo size = sizeof(*mem_map) * 32; again: - size += sizeof(*mem_map); + size += sizeof(*mem_map) * 2; _size = size; - status = low_alloc(size, 1, (unsigned long *)&mem_map); + status = efi_low_alloc(sys_table, size, 1, (unsigned long *)&mem_map); if (status != EFI_SUCCESS) return status; diff --cc arch/x86/platform/efi/efi.c index 6033be9ff81a,0f17a1d23c0a..816e940b3998 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c @@@ -764,8 -681,15 +681,8 @@@ void __init efi_init(void if (efi_memmap_init()) return; - set_bit(EFI_MEMMAP, &x86_efi_facility); + set_bit(EFI_MEMMAP, &efi.flags); -#ifdef CONFIG_X86_32 - if (efi_is_native()) { - x86_platform.get_wallclock = efi_get_time; - x86_platform.set_wallclock = efi_set_rtc_mmss; - } -#endif - #if EFI_DEBUG print_efi_memmap(); #endif