aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/setup.c
diff options
context:
space:
mode:
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>2015-05-06 10:13:31 -0400
committerDavid Vrabel <david.vrabel@citrix.com>2015-05-28 07:23:11 -0400
commit5882bfef6327093bff63569be19795170ff71e5f (patch)
tree11aa43fab514a95bc53dd063f3f02bee90d7ff17 /arch/arm64/kernel/setup.c
parent81e863c3a28e69fd60411bde9f779b0f8ad0212a (diff)
arm,arm64/xen: move Xen initialization earlier
Currently, Xen is initialized/discovered in an initcall. This doesn't allow us to support earlyprintk or choosing the preferred console when running on Xen. The current function xen_guest_init is now split in 2 parts: - xen_early_init: Check if there is a Xen node in the device tree and setup domain type - xen_guest_init: Retrieve the information from the device node and initialize Xen (grant table, shared page...) The former is called in setup_arch, while the latter is an initcall. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/kernel/setup.c')
-rw-r--r--arch/arm64/kernel/setup.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index 74753132c3ac..1b36ba9b73ac 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -64,6 +64,7 @@
64#include <asm/psci.h> 64#include <asm/psci.h>
65#include <asm/efi.h> 65#include <asm/efi.h>
66#include <asm/virt.h> 66#include <asm/virt.h>
67#include <asm/xen/hypervisor.h>
67 68
68unsigned long elf_hwcap __read_mostly; 69unsigned long elf_hwcap __read_mostly;
69EXPORT_SYMBOL_GPL(elf_hwcap); 70EXPORT_SYMBOL_GPL(elf_hwcap);
@@ -416,6 +417,7 @@ void __init setup_arch(char **cmdline_p)
416 psci_acpi_init(); 417 psci_acpi_init();
417 acpi_init_cpus(); 418 acpi_init_cpus();
418 } 419 }
420 xen_early_init();
419 421
420#ifdef CONFIG_SMP 422#ifdef CONFIG_SMP
421 smp_build_mpidr_hash(); 423 smp_build_mpidr_hash();