2016-07-05 09:55:03 +01:00
|
|
|
/*
|
2017-01-19 10:26:16 +00:00
|
|
|
* Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
|
2016-07-05 09:55:03 +01:00
|
|
|
*
|
2017-05-03 09:38:09 +01:00
|
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
2016-07-05 09:55:03 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __UTILS_H__
|
|
|
|
#define __UTILS_H__
|
|
|
|
|
2017-04-10 19:45:52 +01:00
|
|
|
#if !ERROR_DEPRECATED
|
|
|
|
#include <utils_def.h>
|
2017-01-19 10:26:16 +00:00
|
|
|
#endif
|
|
|
|
|
2016-12-02 13:51:54 +00:00
|
|
|
/*
|
|
|
|
* C code should be put in this part of the header to avoid breaking ASM files
|
|
|
|
* or linker scripts including it.
|
|
|
|
*/
|
|
|
|
#if !(defined(__LINKER__) || defined(__ASSEMBLY__))
|
|
|
|
|
|
|
|
#include <types.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Fill a region of normal memory of size "length" in bytes with zero bytes.
|
|
|
|
*
|
|
|
|
* WARNING: This function can only operate on normal memory. This means that
|
|
|
|
* the MMU must be enabled when using this function. Otherwise, use
|
|
|
|
* zeromem.
|
|
|
|
*/
|
|
|
|
void zero_normalmem(void *mem, u_register_t length);
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Fill a region of memory of size "length" in bytes with null bytes.
|
|
|
|
*
|
|
|
|
* Unlike zero_normalmem, this function has no restriction on the type of
|
|
|
|
* memory targeted and can be used for any device memory as well as normal
|
|
|
|
* memory. This function must be used instead of zero_normalmem when MMU is
|
|
|
|
* disabled.
|
|
|
|
*
|
|
|
|
* NOTE: When data cache and MMU are enabled, prefer zero_normalmem for faster
|
|
|
|
* zeroing.
|
|
|
|
*/
|
|
|
|
void zeromem(void *mem, u_register_t length);
|
|
|
|
#endif /* !(defined(__LINKER__) || defined(__ASSEMBLY__)) */
|
|
|
|
|
2016-07-05 09:55:03 +01:00
|
|
|
#endif /* __UTILS_H__ */
|