14f6ad66aSAchin Gupta# 2e83b0cadSDan Handley# Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved. 34f6ad66aSAchin Gupta# 44f6ad66aSAchin Gupta# Redistribution and use in source and binary forms, with or without 54f6ad66aSAchin Gupta# modification, are permitted provided that the following conditions are met: 64f6ad66aSAchin Gupta# 74f6ad66aSAchin Gupta# Redistributions of source code must retain the above copyright notice, this 84f6ad66aSAchin Gupta# list of conditions and the following disclaimer. 94f6ad66aSAchin Gupta# 104f6ad66aSAchin Gupta# Redistributions in binary form must reproduce the above copyright notice, 114f6ad66aSAchin Gupta# this list of conditions and the following disclaimer in the documentation 124f6ad66aSAchin Gupta# and/or other materials provided with the distribution. 134f6ad66aSAchin Gupta# 144f6ad66aSAchin Gupta# Neither the name of ARM nor the names of its contributors may be used 154f6ad66aSAchin Gupta# to endorse or promote products derived from this software without specific 164f6ad66aSAchin Gupta# prior written permission. 174f6ad66aSAchin Gupta# 184f6ad66aSAchin Gupta# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 194f6ad66aSAchin Gupta# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 204f6ad66aSAchin Gupta# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 214f6ad66aSAchin Gupta# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 224f6ad66aSAchin Gupta# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 234f6ad66aSAchin Gupta# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 244f6ad66aSAchin Gupta# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 254f6ad66aSAchin Gupta# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 264f6ad66aSAchin Gupta# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 274f6ad66aSAchin Gupta# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 284f6ad66aSAchin Gupta# POSSIBILITY OF SUCH DAMAGE. 294f6ad66aSAchin Gupta# 304f6ad66aSAchin Gupta 31bee82417SDan HandleyBL31_SOURCES += bl31/bl31_main.c \ 32bee82417SDan Handley bl31/context_mgmt.c \ 335e910074SAndrew Thoelke bl31/cpu_data_array.c \ 34bee82417SDan Handley bl31/runtime_svc.c \ 35e1333f75SAchin Gupta bl31/interrupt_mgmt.c \ 36bee82417SDan Handley bl31/aarch64/bl31_arch_setup.c \ 37bee82417SDan Handley bl31/aarch64/bl31_entrypoint.S \ 38bee82417SDan Handley bl31/aarch64/context.S \ 395e910074SAndrew Thoelke bl31/aarch64/cpu_data.S \ 40bee82417SDan Handley bl31/aarch64/runtime_exceptions.S \ 41a43d431bSSoby Mathew bl31/aarch64/crash_reporting.S \ 429b476841SSoby Mathew lib/cpus/aarch64/cpu_helpers.S \ 43bee82417SDan Handley lib/locks/exclusive/spinlock.S \ 44bee82417SDan Handley services/std_svc/std_svc_setup.c \ 45bee82417SDan Handley services/std_svc/psci/psci_afflvl_off.c \ 46bee82417SDan Handley services/std_svc/psci/psci_afflvl_on.c \ 47bee82417SDan Handley services/std_svc/psci/psci_afflvl_suspend.c \ 48bee82417SDan Handley services/std_svc/psci/psci_common.c \ 49bee82417SDan Handley services/std_svc/psci/psci_entry.S \ 50b51da821SAchin Gupta services/std_svc/psci/psci_helpers.S \ 51bee82417SDan Handley services/std_svc/psci/psci_main.c \ 52d5f13093SJuan Castillo services/std_svc/psci/psci_setup.c \ 53d5f13093SJuan Castillo services/std_svc/psci/psci_system_off.c 544f6ad66aSAchin Gupta 55*8c5fe0b5SSoby Mathewifeq (${USE_COHERENT_MEM}, 1) 56*8c5fe0b5SSoby MathewBL31_SOURCES += lib/locks/bakery/bakery_lock_coherent.c 57*8c5fe0b5SSoby Mathewelse 58*8c5fe0b5SSoby MathewBL31_SOURCES += lib/locks/bakery/bakery_lock_normal.c 59*8c5fe0b5SSoby Mathewendif 60*8c5fe0b5SSoby Mathew 61bee82417SDan HandleyBL31_LINKERFILE := bl31/bl31.ld.S 62dce74b89SAchin Gupta 63dce74b89SAchin Gupta# Flag used by the generic interrupt management framework to determine if 64dce74b89SAchin Gupta# upon the assertion of an interrupt, it should pass the interrupt id or not 65dce74b89SAchin GuptaIMF_READ_INTERRUPT_ID := 0 66dce74b89SAchin Gupta 67dce74b89SAchin Gupta$(eval $(call assert_boolean,IMF_READ_INTERRUPT_ID)) 68dce74b89SAchin Gupta$(eval $(call add_define,IMF_READ_INTERRUPT_ID)) 69dce74b89SAchin Gupta 709c22b323SAndrew Thoelke# Flag used to inidicate if Crash reporting via console should be included 719c22b323SAndrew Thoelke# in BL3-1. This defaults to being present in DEBUG builds only 729c22b323SAndrew Thoelkeifndef CRASH_REPORTING 739c22b323SAndrew ThoelkeCRASH_REPORTING := $(DEBUG) 749c22b323SAndrew Thoelkeendif 759c22b323SAndrew Thoelke 769c22b323SAndrew Thoelke$(eval $(call assert_boolean,CRASH_REPORTING)) 779c22b323SAndrew Thoelke$(eval $(call add_define,CRASH_REPORTING)) 78