source: rtems/c/src/lib/libbsp/arm/lpc32xx/include/mmu.h @ f437107

4.115
Last change on this file since f437107 was f437107, checked in by Sebastian Huber <sebastian.huber@…>, on Mar 28, 2011 at 9:00:01 AM

2011-03-29 Sebastian Huber <sebastian.huber@…>

  • configure.ac, include/bspopts.h.in: New BSP option LPC32XX_SCRATCH_AREA_SIZE. Disable BSP option LPC32XX_DISABLE_READ_ONLY_PROTECTION for all BSPs.
  • include/boot.h: Removed application specific defines.
  • include/nand-mlc.h, misc/nand-mlc.c: Changed configuration layout.
  • include/mmu.h, misc/mmu.c: Documentation. Bugfix.
  • include/bsp.h, startup/bspstarthooks.c, misc/restart.c, startup/linkcmds.lpc32xx_mzx, startup/linkcmds.lpc32xx_mzx_stage_1, startup/linkcmds.lpc32xx_mzx_stage_2, startup/linkcmds.lpc32xx_phycore: Support for scratch area. Moved code into macros for reusability.
  • Property mode set to 100644
File size: 1.5 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup lpc32xx_mmu
5 *
6 * @brief MMU support API.
7 */
8
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.com/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
29extern "C" {
30#endif /* __cplusplus */
31
32/**
33 * @defgroup lpc32xx_mmu MMU Support
34 *
35 * @ingroup lpc32xx
36 *
37 * @brief MMU support.
38 *
39 * @{
40 */
41
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
59/**
60 * @brief Sets the @a section_flags for the address range [@a begin, @a end).
61 *
62 * @return Previous section flags of the first modified entry.
63 */
64uint32_t lpc32xx_set_translation_table_entries(
65  const void *begin,
66  const void *end,
67  uint32_t section_flags
68);
69
70/** @} */
71
72#ifdef __cplusplus
73}
74#endif /* __cplusplus */
75
76#endif /* LIBBSP_ARM_LPC32XX_MMU_H */
Note: See TracBrowser for help on using the repository browser.