mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-31 01:24:12 +02:00
For the bitfield access, MSVC apparently uses a right shift of the base type of the bitfield member. In our case, is is cased by IA32_PTE_4K and IA32_PAGE_LEAF_ENTRY_BIG_PAGESIZE and other structures which uses uint64 bitfields and 32-bit x86 doesn't have a 64-bit integer shift (except using MMX or SSE2). With -Od (NOOPT) even for constant counts it puts the data in EDX:EAX, the shift count in cl and calls __aullshr. Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
37 lines
896 B
INI
37 lines
896 B
INI
## @file
|
|
# This library implements CpuPageTableLib that are generic for IA32 family CPU.
|
|
#
|
|
# Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = CpuPageTableLib
|
|
FILE_GUID = 524ed6a1-f661-451b-929b-b54d755c914a
|
|
MODULE_TYPE = BASE
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = CpuPageTableLib
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64
|
|
#
|
|
|
|
[Sources]
|
|
CpuPageTableMap.c
|
|
CpuPageTableParse.c
|
|
CpuPageTable.h
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
UefiCpuPkg/UefiCpuPkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseLib
|
|
BaseMemoryLib
|
|
DebugLib
|
|
IntrinsicLib
|