Unverified Commit f41a9126 authored by Antonio Niño Díaz's avatar Antonio Niño Díaz Committed by GitHub
Browse files

Merge pull request #1759 from vwadekar/armlink-support

Armlink support
parents 30490b15 a1d00bb3
...@@ -224,9 +224,11 @@ SECTIONS ...@@ -224,9 +224,11 @@ SECTIONS
*/ */
. = ALIGN(CACHE_WRITEBACK_GRANULE); . = ALIGN(CACHE_WRITEBACK_GRANULE);
__BAKERY_LOCK_START__ = .; __BAKERY_LOCK_START__ = .;
__PERCPU_BAKERY_LOCK_START__ = .;
*(bakery_lock) *(bakery_lock)
. = ALIGN(CACHE_WRITEBACK_GRANULE); . = ALIGN(CACHE_WRITEBACK_GRANULE);
__PERCPU_BAKERY_LOCK_SIZE__ = ABSOLUTE(. - __BAKERY_LOCK_START__); __PERCPU_BAKERY_LOCK_END__ = .;
__PERCPU_BAKERY_LOCK_SIZE__ = ABSOLUTE(__PERCPU_BAKERY_LOCK_END__ - __PERCPU_BAKERY_LOCK_START__);
. = . + (__PERCPU_BAKERY_LOCK_SIZE__ * (PLATFORM_CORE_COUNT - 1)); . = . + (__PERCPU_BAKERY_LOCK_SIZE__ * (PLATFORM_CORE_COUNT - 1));
__BAKERY_LOCK_END__ = .; __BAKERY_LOCK_END__ = .;
......
...@@ -151,9 +151,11 @@ SECTIONS ...@@ -151,9 +151,11 @@ SECTIONS
*/ */
. = ALIGN(CACHE_WRITEBACK_GRANULE); . = ALIGN(CACHE_WRITEBACK_GRANULE);
__BAKERY_LOCK_START__ = .; __BAKERY_LOCK_START__ = .;
__PERCPU_BAKERY_LOCK_START__ = .;
*(bakery_lock) *(bakery_lock)
. = ALIGN(CACHE_WRITEBACK_GRANULE); . = ALIGN(CACHE_WRITEBACK_GRANULE);
__PERCPU_BAKERY_LOCK_SIZE__ = ABSOLUTE(. - __BAKERY_LOCK_START__); __PERCPU_BAKERY_LOCK_END__ = .;
__PERCPU_BAKERY_LOCK_SIZE__ = ABSOLUTE(__PERCPU_BAKERY_LOCK_END__ - __PERCPU_BAKERY_LOCK_START__);
. = . + (__PERCPU_BAKERY_LOCK_SIZE__ * (PLATFORM_CORE_COUNT - 1)); . = . + (__PERCPU_BAKERY_LOCK_SIZE__ * (PLATFORM_CORE_COUNT - 1));
__BAKERY_LOCK_END__ = .; __BAKERY_LOCK_END__ = .;
#ifdef PLAT_PERCPU_BAKERY_LOCK_SIZE #ifdef PLAT_PERCPU_BAKERY_LOCK_SIZE
......
/* /*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -13,7 +13,13 @@ ...@@ -13,7 +13,13 @@
.globl __2printf .globl __2printf
func __0printf func __0printf
__1printf: b printf
__2printf:
b printf
endfunc __0printf endfunc __0printf
func __1printf
b printf
endfunc __1printf
func __2printf
b printf
endfunc __2printf
/* /*
* Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <arch.h> #include <arch.h>
#include <asm_macros.S> #include <asm_macros.S>
#include <assert_macros.S> #include <assert_macros.S>
#include <common/bl_common.h>
#include <lib/xlat_tables/xlat_tables_defs.h> #include <lib/xlat_tables/xlat_tables_defs.h>
#if !ERROR_DEPRECATED #if !ERROR_DEPRECATED
...@@ -18,16 +19,13 @@ ...@@ -18,16 +19,13 @@
.globl zero_normalmem .globl zero_normalmem
.globl zeromem .globl zeromem
.globl zeromem16
.globl memcpy16 .globl memcpy16
.globl disable_mmu_el1 .globl disable_mmu_el1
.globl disable_mmu_el3 .globl disable_mmu_el3
.globl disable_mmu_icache_el1 .globl disable_mmu_icache_el1
.globl disable_mmu_icache_el3 .globl disable_mmu_icache_el3
.globl fixup_gdt_reloc .globl fixup_gdt_reloc
#if SUPPORT_VFP #if SUPPORT_VFP
.globl enable_vfp .globl enable_vfp
#endif #endif
......
...@@ -51,7 +51,9 @@ CASSERT((PLAT_PERCPU_BAKERY_LOCK_SIZE & (CACHE_WRITEBACK_GRANULE - 1)) == 0, \ ...@@ -51,7 +51,9 @@ CASSERT((PLAT_PERCPU_BAKERY_LOCK_SIZE & (CACHE_WRITEBACK_GRANULE - 1)) == 0, \
* Use the linker defined symbol which has evaluated the size reqiurement. * Use the linker defined symbol which has evaluated the size reqiurement.
* This is not as efficient as using a platform defined constant * This is not as efficient as using a platform defined constant
*/ */
IMPORT_SYM(uintptr_t, __PERCPU_BAKERY_LOCK_SIZE__, PERCPU_BAKERY_LOCK_SIZE); IMPORT_SYM(uintptr_t, __PERCPU_BAKERY_LOCK_START__, BAKERY_LOCK_START);
IMPORT_SYM(uintptr_t, __PERCPU_BAKERY_LOCK_END__, BAKERY_LOCK_END);
#define PERCPU_BAKERY_LOCK_SIZE (BAKERY_LOCK_END - BAKERY_LOCK_START)
#endif #endif
static inline bakery_lock_t *get_bakery_info(unsigned int cpu_ix, static inline bakery_lock_t *get_bakery_info(unsigned int cpu_ix,
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#include "xlat_tables_private.h" #include "xlat_tables_private.h"
/* Helper function that cleans the data cache only if it is enabled. */ /* Helper function that cleans the data cache only if it is enabled. */
static inline void xlat_clean_dcache_range(uintptr_t addr, size_t size) static inline __attribute__((unused)) void xlat_clean_dcache_range(uintptr_t addr, size_t size)
{ {
if (is_dcache_enabled()) if (is_dcache_enabled())
clean_dcache_range(addr, size); clean_dcache_range(addr, size);
......
/* /*
* Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -26,8 +26,6 @@ ...@@ -26,8 +26,6 @@
.weak plat_handle_double_fault .weak plat_handle_double_fault
.weak plat_handle_el3_ea .weak plat_handle_el3_ea
.globl platform_get_core_pos
#define MPIDR_RES_BIT_MASK 0xff000000 #define MPIDR_RES_BIT_MASK 0xff000000
/* ----------------------------------------------------- /* -----------------------------------------------------
......
/* /*
* Copyright (c) 2014-2017, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2014-2019, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
.local platform_normal_stacks .local platform_normal_stacks
.weak plat_get_my_stack .weak plat_get_my_stack
.weak plat_set_my_stack .weak plat_set_my_stack
.globl platform_get_stack
.globl platform_set_stack
/* --------------------------------------------------------------------- /* ---------------------------------------------------------------------
* When the compatility layer is disabled, the new platform APIs * When the compatility layer is disabled, the new platform APIs
......
/* /*
* Copyright (c) 2014-2017, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2014-2019, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
.local platform_normal_stacks .local platform_normal_stacks
.weak plat_set_my_stack .weak plat_set_my_stack
.weak plat_get_my_stack .weak plat_get_my_stack
.weak platform_set_stack
.weak platform_get_stack
/* ----------------------------------------------------- /* -----------------------------------------------------
* uintptr_t plat_get_my_stack () * uintptr_t plat_get_my_stack ()
......
...@@ -113,9 +113,11 @@ SECTIONS ...@@ -113,9 +113,11 @@ SECTIONS
*/ */
. = ALIGN(CACHE_WRITEBACK_GRANULE); . = ALIGN(CACHE_WRITEBACK_GRANULE);
__BAKERY_LOCK_START__ = .; __BAKERY_LOCK_START__ = .;
__PERCPU_BAKERY_LOCK_START__ = .;
*(bakery_lock) *(bakery_lock)
. = ALIGN(CACHE_WRITEBACK_GRANULE); . = ALIGN(CACHE_WRITEBACK_GRANULE);
__PERCPU_BAKERY_LOCK_SIZE__ = ABSOLUTE(. - __BAKERY_LOCK_START__); __PERCPU_BAKERY_LOCK_END__ = .;
__PERCPU_BAKERY_LOCK_SIZE__ = ABSOLUTE(__PERCPU_BAKERY_LOCK_END__ - __PERCPU_BAKERY_LOCK_START__);
. = . + (__PERCPU_BAKERY_LOCK_SIZE__ * (PLATFORM_CORE_COUNT - 1)); . = . + (__PERCPU_BAKERY_LOCK_SIZE__ * (PLATFORM_CORE_COUNT - 1));
__BAKERY_LOCK_END__ = .; __BAKERY_LOCK_END__ = .;
#ifdef PLAT_PERCPU_BAKERY_LOCK_SIZE #ifdef PLAT_PERCPU_BAKERY_LOCK_SIZE
......
...@@ -9,10 +9,15 @@ ...@@ -9,10 +9,15 @@
#include <arch.h> #include <arch.h>
#include <lib/utils_def.h> #include <lib/utils_def.h>
#include <plat/common/common_def.h>
#include <tegra_def.h> #include <tegra_def.h>
/*
* Platform binary types for linking
*/
#define PLATFORM_LINKER_FORMAT "elf64-littleaarch64"
#define PLATFORM_LINKER_ARCH aarch64
/******************************************************************************* /*******************************************************************************
* Generic platform constants * Generic platform constants
******************************************************************************/ ******************************************************************************/
...@@ -59,6 +64,6 @@ ...@@ -59,6 +64,6 @@
* integrated and external caches. * integrated and external caches.
******************************************************************************/ ******************************************************************************/
#define CACHE_WRITEBACK_SHIFT 6 #define CACHE_WRITEBACK_SHIFT 6
#define CACHE_WRITEBACK_GRANULE (U(1) << CACHE_WRITEBACK_SHIFT) #define CACHE_WRITEBACK_GRANULE (0x40) /* (U(1) << CACHE_WRITEBACK_SHIFT) */
#endif /* PLATFORM_DEF_H */ #endif /* PLATFORM_DEF_H */
...@@ -283,7 +283,7 @@ int32_t tegra_soc_pwr_domain_power_down_wfi(const psci_power_state_t *target_sta ...@@ -283,7 +283,7 @@ int32_t tegra_soc_pwr_domain_power_down_wfi(const psci_power_state_t *target_sta
val = params_from_bl2->tzdram_base + val = params_from_bl2->tzdram_base +
tegra186_get_cpu_reset_handler_size(); tegra186_get_cpu_reset_handler_size();
memcpy16((void *)(uintptr_t)val, (void *)(uintptr_t)BL31_BASE, memcpy16((void *)(uintptr_t)val, (void *)(uintptr_t)BL31_BASE,
(uintptr_t)&__BL31_END__ - (uintptr_t)BL31_BASE); (uintptr_t)BL31_END - (uintptr_t)BL31_BASE);
} }
return PSCI_E_SUCCESS; return PSCI_E_SUCCESS;
......
/* /*
* Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2016-2019, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include <arch.h> #include <arch.h>
#include <asm_macros.S> #include <asm_macros.S>
#include <common/bl_common.h>
#include <memctrl_v2.h> #include <memctrl_v2.h>
#include <plat/common/common_def.h> #include <plat/common/common_def.h>
#include <tegra_def.h> #include <tegra_def.h>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment