Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:04

0001 /**
0002  * @file
0003  *
0004  * @ingroup rapberrypi_mmu
0005  *
0006  * @brief MMU API.
0007  */
0008 
0009 /*
0010  * Copyright (c) 2013 Alan Cudmore.
0011  * based on work by:
0012  * Copyright (c) 2009 embedded brains GmbH & Co. KG
0013  *
0014  *  The license and distribution terms for this file may be
0015  *  found in the file LICENSE in this distribution or at
0016  *
0017  *  http://www.rtems.org/license/LICENSE
0018  *
0019  */
0020 
0021 #ifndef LIBBSP_ARM_RASPBERRYPI_MMU_H
0022 #define LIBBSP_ARM_RASPBERRYPI_MMU_H
0023 
0024 #include <libcpu/arm-cp15.h>
0025 
0026 #ifdef __cplusplus
0027 extern "C" {
0028 #endif /* __cplusplus */
0029 
0030 /**
0031  * @defgroup raspberrypi_mmu MMU Support
0032  *
0033  * @ingroup RTEMSBSPsARMRaspberryPi
0034  *
0035  * @brief MMU support.
0036  *
0037  * @{
0038  */
0039 
0040 #define RASPBERRYPI_MMU_CLIENT_DOMAIN 15U
0041 
0042 #define RASPBERRYPI_MMU_READ_ONLY \
0043   ((RASPBERRYPI_MMU_CLIENT_DOMAIN << ARM_MMU_SECT_DOMAIN_SHIFT) \
0044     | ARM_MMU_SECT_DEFAULT)
0045 
0046 #define RASPBERRYPI_MMU_READ_ONLY_CACHED \
0047   (RASPBERRYPI_MMU_READ_ONLY | ARM_MMU_SECT_C | ARM_MMU_SECT_B)
0048 
0049 #define RASPBERRYPI_MMU_READ_WRITE \
0050   ((RASPBERRYPI_MMU_CLIENT_DOMAIN << ARM_MMU_SECT_DOMAIN_SHIFT) \
0051     | ARM_MMU_SECT_AP_0 \
0052     | ARM_MMU_SECT_DEFAULT)
0053 
0054 #define RASPBERRYPI_MMU_READ_WRITE_CACHED \
0055   (RASPBERRYPI_MMU_READ_WRITE | ARM_MMU_SECT_C | ARM_MMU_SECT_B)
0056 
0057 /** @} */
0058 
0059 #ifdef __cplusplus
0060 }
0061 #endif /* __cplusplus */
0062 
0063 #endif /* LIBBSP_ARM_RASPBERRYPI_MMU_H */