Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Michael Zimmermann b20085454e ArmPkg/ArmDisassemblerLib: fix check for MSR instruction
GCC8 reported it with the following warning:
ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c: In function 'DisassembleArmInstruction':
ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c:397:30: error: bitwise
comparison always evaluates to false [-Werror=tautological-compare]
if ((OpCode  & 0x0db00000) == 0x03200000) {

This condition tries to be true for both the immediate and the register
version of the MSR instruction. They get identified inside the if-block
using the variable I, which contains the value of bit 25.

The problem with the comparison reported by GCC is that the
bitmask excludes bit 25, while the value requires it to be set to one:
0x0db00000: 0000 11011 0 11 00 00 0000 000000000000
0x03200000: 0000 00110 0 10 00 00 0000 000000000000
                   ^
So the solution is to just don't require that bit to be set, because
it gets checked later using 'I', which results in the following value:
0x01200000: 0000 00010 0 10 00 00 0000 000000000000

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2018-06-07 09:09:07 +02:00
AppPkg
ArmPkg ArmPkg/ArmDisassemblerLib: fix check for MSR instruction 2018-06-07 09:09:07 +02:00
ArmPlatformPkg
ArmVirtPkg
BaseTools BaseTools/VolInfo: Update EFI FV FILETYPES for new MM types. 2018-06-06 15:59:30 +08:00
BeagleBoardPkg
Conf
CorebootModulePkg
CorebootPayloadPkg
CryptoPkg
DuetPkg DuetPkg: Add SafeIntLib and BmpSupportLib to DSC files 2018-02-11 16:06:31 -08:00
EdkCompatibilityPkg
EdkShellBinPkg
EdkShellPkg
EmbeddedPkg EmbeddedPkg/TimeBaseLib: Add function to get Week day. 2018-06-05 16:18:21 +01:00
EmulatorPkg
FatBinPkg
FatPkg
IntelFrameworkModulePkg
IntelFrameworkPkg
IntelFsp2Pkg
IntelFsp2WrapperPkg IntelFsp2WrapperPkg: Update BaseFspWrapperApiLib to pass XCODE5 build 2018-01-18 15:39:54 +08:00
IntelFspPkg
IntelFspWrapperPkg
IntelSiliconPkg IntelSiliconPkg IntelVTdDxe: Fix incorrect code to clear VTd error 2018-06-06 12:46:43 +08:00
MdeModulePkg MdeModulePkg/DisplayUpdateProgressLib: Fix ECC issues 2018-06-07 10:55:38 +08:00
MdePkg
NetworkPkg
Nt32Pkg
Omap35xxPkg
OptionRomPkg
OvmfPkg OvmfPkg/PlatformBootManagerLib: add missing report status code call 2018-05-29 10:43:42 +02:00
PcAtChipsetPkg
QuarkPlatformPkg
QuarkSocPkg
SecurityPkg
ShellBinPkg
ShellPkg
SignedCapsulePkg
SourceLevelDebugPkg
StdLib
StdLibPrivateInternalFiles
UefiCpuPkg
UnixPkg
Vlv2DeviceRefCodePkg
Vlv2TbltDevicePkg
.gitignore
.gitmodules
BuildNotes2.txt
Contributions.txt
License.txt
Maintainers.txt
Readme.md
StandaloneMmPkg
edksetup.bat
edksetup.sh

Readme.md

EDK II Project

A modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications from www.uefi.org.

Contributions to the EDK II open source project are covered by the TianoCore Contribution Agreement 1.1

The majority of the content in the EDK II open source project uses a BSD 2-Clause License. The EDK II open source project contains the following components that are covered by additional licenses:

The EDK II Project is composed of packages. The maintainers for each package are listed in Maintainers.txt.

Resources