Commit 2edf6482 authored by davidcunado-arm's avatar davidcunado-arm Committed by GitHub
Browse files

Merge pull request #906 from antonio-nino-diaz-arm/an/asserts-release

Add `ENABLE_ASSERTIONS` build option
parents 85aa186b aa61368e
Showing with 22 additions and 19 deletions
+22 -19
...@@ -32,15 +32,18 @@ ...@@ -32,15 +32,18 @@
#include <debug.h> #include <debug.h>
#include <platform.h> #include <platform.h>
/* void __assert(const char *function, const char *file, unsigned int line,
* This is a basic implementation. This could be improved.
*/
void __assert (const char *function, const char *file, unsigned int line,
const char *assertion) const char *assertion)
{ {
#if LOG_LEVEL >= LOG_LEVEL_INFO
/*
* Only print the output if LOG_LEVEL is higher or equal to
* LOG_LEVEL_INFO, which is the default value for builds with DEBUG=1.
*/
tf_printf("ASSERT: %s <%d> : %s\n", function, line, assertion); tf_printf("ASSERT: %s <%d> : %s\n", function, line, assertion);
console_flush(); console_flush();
#endif
plat_panic_handler(); plat_panic_handler();
} }
/* /*
* Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -85,13 +85,13 @@ ...@@ -85,13 +85,13 @@
static uint64_t base_xlation_table[NUM_BASE_LEVEL_ENTRIES] static uint64_t base_xlation_table[NUM_BASE_LEVEL_ENTRIES]
__aligned(NUM_BASE_LEVEL_ENTRIES * sizeof(uint64_t)); __aligned(NUM_BASE_LEVEL_ENTRIES * sizeof(uint64_t));
#if DEBUG #if ENABLE_ASSERTIONS
static unsigned long long get_max_supported_pa(void) static unsigned long long get_max_supported_pa(void)
{ {
/* Physical address space size for long descriptor format. */ /* Physical address space size for long descriptor format. */
return (1ULL << 40) - 1ULL; return (1ULL << 40) - 1ULL;
} }
#endif #endif /* ENABLE_ASSERTIONS */
void init_xlat_tables(void) void init_xlat_tables(void)
{ {
......
...@@ -127,7 +127,7 @@ static unsigned long long calc_physical_addr_size_bits( ...@@ -127,7 +127,7 @@ static unsigned long long calc_physical_addr_size_bits(
return TCR_PS_BITS_4GB; return TCR_PS_BITS_4GB;
} }
#if DEBUG #if ENABLE_ASSERTIONS
/* Physical Address ranges supported in the AArch64 Memory Model */ /* Physical Address ranges supported in the AArch64 Memory Model */
static const unsigned int pa_range_bits_arr[] = { static const unsigned int pa_range_bits_arr[] = {
PARANGE_0000, PARANGE_0001, PARANGE_0010, PARANGE_0011, PARANGE_0100, PARANGE_0000, PARANGE_0001, PARANGE_0010, PARANGE_0011, PARANGE_0100,
...@@ -144,7 +144,7 @@ static unsigned long long get_max_supported_pa(void) ...@@ -144,7 +144,7 @@ static unsigned long long get_max_supported_pa(void)
return (1ULL << pa_range_bits_arr[pa_range]) - 1ULL; return (1ULL << pa_range_bits_arr[pa_range]) - 1ULL;
} }
#endif #endif /* ENABLE_ASSERTIONS */
void init_xlat_tables(void) void init_xlat_tables(void)
{ {
......
/* /*
* Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -109,7 +109,7 @@ void mmap_add_region(unsigned long long base_pa, uintptr_t base_va, ...@@ -109,7 +109,7 @@ void mmap_add_region(unsigned long long base_pa, uintptr_t base_va,
assert((base_pa + (unsigned long long)size - 1ULL) <= assert((base_pa + (unsigned long long)size - 1ULL) <=
(PLAT_PHY_ADDR_SPACE_SIZE - 1)); (PLAT_PHY_ADDR_SPACE_SIZE - 1));
#if DEBUG #if ENABLE_ASSERTIONS
/* Check for PAs and VAs overlaps with all other regions */ /* Check for PAs and VAs overlaps with all other regions */
for (mm = mmap; mm->size; ++mm) { for (mm = mmap; mm->size; ++mm) {
...@@ -154,7 +154,7 @@ void mmap_add_region(unsigned long long base_pa, uintptr_t base_va, ...@@ -154,7 +154,7 @@ void mmap_add_region(unsigned long long base_pa, uintptr_t base_va,
mm = mmap; /* Restore pointer to the start of the array */ mm = mmap; /* Restore pointer to the start of the array */
#endif /* DEBUG */ #endif /* ENABLE_ASSERTIONS */
/* Find correct place in mmap to insert new region */ /* Find correct place in mmap to insert new region */
while (mm->base_va < base_va && mm->size) while (mm->base_va < base_va && mm->size)
......
...@@ -37,13 +37,13 @@ ...@@ -37,13 +37,13 @@
#include <xlat_tables_v2.h> #include <xlat_tables_v2.h>
#include "../xlat_tables_private.h" #include "../xlat_tables_private.h"
#if DEBUG #if ENABLE_ASSERTIONS
static unsigned long long xlat_arch_get_max_supported_pa(void) static unsigned long long xlat_arch_get_max_supported_pa(void)
{ {
/* Physical address space size for long descriptor format. */ /* Physical address space size for long descriptor format. */
return (1ull << 40) - 1ull; return (1ull << 40) - 1ull;
} }
#endif /* DEBUG*/ #endif /* ENABLE_ASSERTIONS*/
int is_mmu_enabled(void) int is_mmu_enabled(void)
{ {
......
...@@ -77,7 +77,7 @@ static unsigned long long calc_physical_addr_size_bits( ...@@ -77,7 +77,7 @@ static unsigned long long calc_physical_addr_size_bits(
return TCR_PS_BITS_4GB; return TCR_PS_BITS_4GB;
} }
#if DEBUG #if ENABLE_ASSERTIONS
/* Physical Address ranges supported in the AArch64 Memory Model */ /* Physical Address ranges supported in the AArch64 Memory Model */
static const unsigned int pa_range_bits_arr[] = { static const unsigned int pa_range_bits_arr[] = {
PARANGE_0000, PARANGE_0001, PARANGE_0010, PARANGE_0011, PARANGE_0100, PARANGE_0000, PARANGE_0001, PARANGE_0010, PARANGE_0011, PARANGE_0100,
...@@ -94,7 +94,7 @@ unsigned long long xlat_arch_get_max_supported_pa(void) ...@@ -94,7 +94,7 @@ unsigned long long xlat_arch_get_max_supported_pa(void)
return (1ull << pa_range_bits_arr[pa_range]) - 1ull; return (1ull << pa_range_bits_arr[pa_range]) - 1ull;
} }
#endif /* DEBUG*/ #endif /* ENABLE_ASSERTIONS*/
int is_mmu_enabled(void) int is_mmu_enabled(void)
{ {
......
/* /*
* Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2014-2017, ARM Limited and Contributors. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -131,7 +131,7 @@ endfunc platform_set_stack ...@@ -131,7 +131,7 @@ endfunc platform_set_stack
* ------------------------------------------------------- * -------------------------------------------------------
*/ */
func_deprecated platform_get_stack func_deprecated platform_get_stack
#if ASM_ASSERTION #if ENABLE_ASSERTIONS
mrs x1, mpidr_el1 mrs x1, mpidr_el1
cmp x0, x1 cmp x0, x1
ASM_ASSERT(eq) ASM_ASSERT(eq)
...@@ -150,7 +150,7 @@ endfunc_deprecated platform_get_stack ...@@ -150,7 +150,7 @@ endfunc_deprecated platform_get_stack
* ----------------------------------------------------- * -----------------------------------------------------
*/ */
func_deprecated platform_set_stack func_deprecated platform_set_stack
#if ASM_ASSERTION #if ENABLE_ASSERTIONS
mrs x1, mpidr_el1 mrs x1, mpidr_el1
cmp x0, x1 cmp x0, x1
ASM_ASSERT(eq) ASM_ASSERT(eq)
......
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