/*
 * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 *
 */

//This file holds description for the current directory. This documentation
//will be included in the Doxygen output.

/*!
\dir
\brief Source code defining secure domain entry points for the non-secure
domain.
\details

*/