1 /** @file
2 *  File managing the MMU for ARMv7 architecture
3 *
4 *  Copyright (c) 2011-2016, ARM Limited. All rights reserved.
5 *
6 *  SPDX-License-Identifier: BSD-2-Clause-Patent
7 *
8 **/
9 
10 #include <Uefi.h>
11 
12 #include <Library/ArmLib.h>
13 
14 #include <Chipset/ArmV7.h>
15 
16 UINT32
17 ConvertSectionAttributesToPageAttributes (
18   IN UINT32   SectionAttributes,
19   IN BOOLEAN  IsLargePage
20   )
21 {
22   UINT32 PageAttributes;
23 
24   PageAttributes = 0;
25   PageAttributes |= TT_DESCRIPTOR_CONVERT_TO_PAGE_CACHE_POLICY (SectionAttributes, IsLargePage);
26   PageAttributes |= TT_DESCRIPTOR_CONVERT_TO_PAGE_AP (SectionAttributes);
27   PageAttributes |= TT_DESCRIPTOR_CONVERT_TO_PAGE_XN (SectionAttributes, IsLargePage);
28   PageAttributes |= TT_DESCRIPTOR_CONVERT_TO_PAGE_NG (SectionAttributes);
29   PageAttributes |= TT_DESCRIPTOR_CONVERT_TO_PAGE_S (SectionAttributes);
30 
31   return PageAttributes;
32 }
33