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