RTEMS  5.1
mmu.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (c) 2009-2011 embedded brains GmbH. All rights reserved.
11  *
12  * embedded brains GmbH
13  * Obere Lagerstr. 30
14  * 82178 Puchheim
15  * Germany
16  * <rtems@embedded-brains.de>
17  *
18  * The license and distribution terms for this file may be
19  * found in the file LICENSE in this distribution or at
20  * http://www.rtems.org/license/LICENSE.
21  */
22 
23 #ifndef LIBBSP_ARM_LPC32XX_MMU_H
24 #define LIBBSP_ARM_LPC32XX_MMU_H
25 
26 #include <libcpu/arm-cp15.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif /* __cplusplus */
31 
42 #define LPC32XX_MMU_CLIENT_DOMAIN 15U
43 
44 #define LPC32XX_MMU_READ_ONLY \
45  ((LPC32XX_MMU_CLIENT_DOMAIN << ARM_MMU_SECT_DOMAIN_SHIFT) \
46  | ARM_MMU_SECT_DEFAULT)
47 
48 #define LPC32XX_MMU_READ_ONLY_CACHED \
49  (LPC32XX_MMU_READ_ONLY | ARM_MMU_SECT_C | ARM_MMU_SECT_B)
50 
51 #define LPC32XX_MMU_READ_WRITE \
52  ((LPC32XX_MMU_CLIENT_DOMAIN << ARM_MMU_SECT_DOMAIN_SHIFT) \
53  | ARM_MMU_SECT_AP_0 \
54  | ARM_MMU_SECT_DEFAULT)
55 
56 #define LPC32XX_MMU_READ_WRITE_CACHED \
57  (LPC32XX_MMU_READ_WRITE | ARM_MMU_SECT_C | ARM_MMU_SECT_B)
58 
64 static inline uint32_t lpc32xx_set_translation_table_entries(
65  const void *begin,
66  const void *end,
67  uint32_t section_flags
68 )
69 {
70  return arm_cp15_set_translation_table_entries(begin, end, section_flags);
71 }
72 
75 #ifdef __cplusplus
76 }
77 #endif /* __cplusplus */
78 
79 #endif /* LIBBSP_ARM_LPC32XX_MMU_H */
ARM co-processor 15 (CP15) API.
uint32_t arm_cp15_set_translation_table_entries(const void *begin, const void *end, uint32_t section_flags)
Sets the section_flags for the address range [begin, end).
Definition: arm-cp15-set-ttb-entries.c:126