diff options
Diffstat (limited to 'arch/arm64/kernel/setup.c')
-rw-r--r-- | arch/arm64/kernel/setup.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c index 4bc5bc9463b8..01f259ec5700 100644 --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c @@ -44,6 +44,7 @@ #include <linux/of_platform.h> #include <linux/efi.h> #include <linux/psci.h> +#include <linux/dma-mapping.h> #include <linux/mm.h> #include <asm/acpi.h> @@ -65,8 +66,15 @@ #include <asm/xen/hypervisor.h> #include <asm/mmu_context.h> +unsigned int boot_reason; +EXPORT_SYMBOL(boot_reason); + +unsigned int cold_boot; +EXPORT_SYMBOL(cold_boot); + phys_addr_t __fdt_pointer __initdata; +const char *machine_name; /* * Standard memory resources */ @@ -176,7 +184,6 @@ static void __init smp_build_mpidr_hash(void) */ if (mpidr_hash_size() > 4 * num_possible_cpus()) pr_warn("Large number of MPIDR hash buckets detected\n"); - __flush_dcache_area(&mpidr_hash, sizeof(struct mpidr_hash)); } static void __init setup_machine_fdt(phys_addr_t dt_phys) @@ -194,7 +201,11 @@ static void __init setup_machine_fdt(phys_addr_t dt_phys) cpu_relax(); } - dump_stack_set_arch_desc("%s (DT)", of_flat_dt_get_machine_name()); + machine_name = of_flat_dt_get_machine_name(); + if (machine_name) { + dump_stack_set_arch_desc("%s (DT)", machine_name); + pr_info("Machine: %s\n", machine_name); + } } static void __init request_standard_resources(void) @@ -290,6 +301,8 @@ static inline void __init relocate_initrd(void) u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID }; +void __init __weak init_random_pool(void) { } + void __init setup_arch(char **cmdline_p) { pr_info("Boot CPU: AArch64 Processor [%08x]\n", read_cpuid_id()); @@ -368,6 +381,7 @@ void __init setup_arch(char **cmdline_p) conswitchp = &dummy_con; #endif #endif + init_random_pool(); if (boot_args[1] || boot_args[2] || boot_args[3]) { pr_err("WARNING: x1-x3 nonzero in violation of boot protocol:\n" "\tx1: %016llx\n\tx2: %016llx\n\tx3: %016llx\n" @@ -401,7 +415,13 @@ static int __init topology_init(void) return 0; } -subsys_initcall(topology_init); +postcore_initcall(topology_init); + +void arch_setup_pdev_archdata(struct platform_device *pdev) +{ + pdev->archdata.dma_mask = DMA_BIT_MASK(32); + pdev->dev.dma_mask = &pdev->archdata.dma_mask; +} /* * Dump out kernel offset information on panic. |