Laszlo Ersek [Thu, 6 Jun 2019 11:50:56 +0000 (13:50 +0200)]
roms/Makefile.edk2: remove edk2-stable201903 network feature test macros
At tag "edk2-stable201905", the build flags HTTP_BOOT_ENABLE and
TLS_ENABLE have become useless. Their roles have been taken by
NETWORK_HTTP_BOOT_ENABLE and NETWORK_TLS_ENABLE, respectively. Remove the
old build flags.
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/
1831477
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Laszlo Ersek [Thu, 6 Jun 2019 11:32:56 +0000 (13:32 +0200)]
roms/edk2: update submodule from edk2-stable201903 to edk2-stable201905
Update the edk2 submodule from release edk2-stable201903 to
edk2-stable201905. The release notes can be read at
https://github.com/tianocore/edk2/releases/tag/edk2-stable201905
Below is a list of commits in the new release:
1
c9e1e28b6195 Maintainers.txt: clarify Reviewer requirements and responsibilities
2
a24a37dba42c StdLib: Update resolv.conf to use Google's DNS servers
3
690d60c0ada5 MdeModulePkg/SdMmcPciHcDxe: Add V3 64b DMA Support
4
326598e9b759 StandaloneMmPkg/Library: Install Variable Arch Protocol
5
56edfb174ad6 StandaloneMmPkg: drop redundant definition of gEfiMmConfigurationProtocolGuid
6
8edde27a3835 StandaloneMmPkg: switch to NULL DebugLib resolution
7
4b771927c801 StandaloneMmPkg/StandaloneMmCoreEntryPoint: drop explicit SerialPortLib call
8
d65e0e4881b7 StandaloneMmPkg/Core: permit encapsulated firmware volumes
9
84249babd703 StandaloneMmPkg/Core: dispatch all drivers at init time
10
094c0bc7d7a5 StandaloneMmPkg/Core: drop support for dispatching FVs into MM
11
b2877855c7ec StandaloneMmPkg/Core: remove legacy boot support
12
4d275961d8d6 StandaloneMmPkg: drop unused PCD PcdStandaloneMmEnable
13
d6253d2f9a33 StandaloneMmPkg: remove redundant StandaloneMmDriverEntryPoint driver
14
fb94f83131f0 BaseTools: Enable compiler cache support in edk2 build
15
c8eada5ca07b SecurityPkg: Remove duplicated BSD license
16
5835c054f4ce Vlv2TbltDevicePkg: Remove duplicated BSD license
17
b2a0a4ffd4d6 ShellPkg/UefiShellAcpiViewCommandLib: Change the note in uni
18
d868846a4ecc BaseTool/Build: Add --disable-include-path-check.
19
dbe05cb1c038 BaseTools: Fixed the issue of BaseTools Make cleanall failed.
20
b0189eac00a5 BaseTools: Explicitly close files after readlines
21
c49f298d28cb EmbeddedPkg/MmcDxe: Enable 4-bit mode even if SD_HIGH_SPEED is not supported
22
34b162d078aa UefiCpuPkg/CpuCommonFeaturesLib: Aesni.c uses BIT0 and BIT1 reversedly
23
d0abf8bb3e09 MdePkg/MdePkg.uni: Add the prompt and help information
24
6ef95e4da714 SecurityPkg/SecurityPkg.uni: Add the prompt and help information
25
792396bec919 UefiCpuPkg/UefiCpuPkg.uni: Add the prompt and help information
26
43b1be74a8f6 ShellPkg: Correct a parameter's name
27
2ac896a67b8e MdePkg/PciSegmentLibSegmentInfo: Change parameters type
28
7681a891cec6 BaseTools: Add missing license and copyright info
29
432a2ba1a0d7 DynamicTablesPkg: correct LibraryClass dependencies for Arm/DBG2
30
fbdfef35cb82 DynamicTablesPkg: add package .dsc file
31
a4712bea79a7 Vlv2TbltDevicePkg: ECP Cleanup.
32
46002a4a379b Vlv2TbltDevicePkg: Fix build failure issue after ECP cleanup
33
2cb2b6d6fa9c Vlv2TbltDevicePkg: Fix 32bit BIOS build failure issue
34
4f93ff22b983 DynamicTablesPkg: Fix protocol section
35
98a4a7a99bf5 DynamicTablesPkg: Rename enum used for ID Mapping
36
e12bdeb1c2ad DynamicTablesPkg: Add OEM Info
37
1018bd4c79a6 DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI
38
24534823b281 DynamicTablesPkg: Remove GIC Distributor Id field
39
c606f47291e4 DynamicTablesPkg: Minor updates and fix typos
40
6c27a4d337d0 MdeModulePkg/UefiBootManangerLib: Fix exception issue
41
bb2c9ccb3388 MdeModulePkg/PiSmmCore: Control S3 related functionality through flag.
42
f4c5200926df SecurityPkg/OpalPassword: Fix incorrect line ending issue.
43
210bd16aff81 Document: Remove obsolete user manuals
44
f293841f9335 BaseTools: Remove EDKI related logic from Trim tool
45
2f2c51acfb70 BaseTools: Remove the logic SourceOverridePath
46
b669adebd01d Fix links in Maintainers.txt and remove slow outdated sourceforge git mirror
47
cf85ba23d58c OvmfPkg: retire "create-release.py"
48
4da419e2deb9 IntelSiliconPkg/IntelSiliconPkg.dsc: Add a driver to build
49
fa888c7ee9ba PcAtChipsetPkg/PcatChipsetPkg.dsc: Add a driver to build
50
4a1f6b85c184 MdeModulePkg: add LockBoxNullLib for !IA32/X64 in .dsc
51
a004d17d01a9 BaseTool: Fixed an issue of Structure PCD
52
fdebdc961bfd Nt32Pkg/Nt32Pkg.dsc: Remove EdkCompatibilityPkg information
53
5bca07268aca Maintainers.txt: Remove EdkCompatibilityPkg information
54
c455bc8c8d78 EdkCompatibilityPkg: Remove EdkCompatibilityPkg
55
e259ad9b6452 OvmfPkg: Drop the ISA Floppy device support
56
a5cc178aeb1a OvmfPkg: Add an Super IO bus driver
57
a06810229618 OvmfPkg: Add a build flag to select ISA driver stack
58
f67786e38171 BaseTools/TianoCompress: Improve performance of boundary validation
59
55756c88aec9 BaseTools/C/Common: Improve performance of boundary validation
60
8028f0303218 MdePkg/BaseUefiDecompressLib: Improve performance of boundary validation
61
58742d79457e BaseTools:Trim will trig exception when input asl UTF8 format file
62
1c27ec423635 BaseTools:Coding problems caused by special characters
63
b02873340b2d Vlv2TbltDevicePkg: Remove PACKAGES_PATH
64
a89fd3a359b8 MdeModulePkg/CapsuleRuntimeDxe: Add cache flush for IA32 and X64
65
9338e2301785 MdeModulePkg/ResetSystemRuntimeDxe: Remove DoS3 in warm reset
66
b87a9a76ebc3 MdePkg/DebugLib.h: Add new APIs for DebugLib
67
b04bdd154add MdePkg/BaseDebugLibNull: Add new APIs for DebugLib
68
f13202874c9c MdePkg/BaseDebugLibSerialPort: Add new APIs
69
ec81dba51f0b MdePkg/UefidebugLibConOut: Add new APIs
70
8055c3d5ee3f MdePkg/UefiDebugLibStdErr: Add new APIs
71
b22b4f5aeed9 MdePkg/DxeRuntimeDebugLibSerialPort: Add new APIs
72
27d86bc12b1d MdePkg/UefiDebuglibDebugPortProtocol: Add new APIs
73
92c0bbd18b8b ArmPkg/SemiHostingDebugLib: Add new APIs
74
2fe5f2f52918 OvmfPkg/PlatformDebugLibIoPort: Add new APIs
75
446be24d0bd2 IntelFsp2Pkg/BaseFspDebugLibSerialPort: Add new APIs
76
0bb4eff6a0bb IntelFspPkg/BaseFspDebugLibSerialPort: Add new APIs
77
9fb1f7efc90a IntelFramworkModulePkg/PeiDxeDebugLibReportStatusCode: Add new APIs
78
bd68cddc6b5f MdeModulePkg/PeiDxeDebugLibReportStatusCode: Add new APIs
79
52e22c60eab7 MdeModulePkg: Add definitions for EDKII DEBUG PPI
80
2bc82244638a MdeModulePkg: Add a PEIM to install Debug PPI
81
66f50a4b0d49 MdeModulePkg/PeiDebugLibDebugPpi: Add PEI debug lib
82
a8ac75b8eeb8 MdeModulePkg: Add PEIM and lib to dsc file
83
475a4317c037 UefiCpuPkg/SmmCpuFeaturesLib: Remove .S files for IA32 and X64 arch
84
b2d13be506fb UefiCpuPkg/BaseUefiCpuLib: Remove .S files for IA32 and X64 arch
85
df6c5f01e182 UefiCpuPkg/CpuExceptionHandlerLib:Remove.S files for IA32 and X64 arch
86
4eea7627ef0d MdePkg/BaseCpuLib: Remove .S files for IA32 and X64 arch
87
1ee58b7103f3 MdePkg/BaseLib: Remove .S files for IA32 and X64 arch
88
f578386cc49d MdePkg/BaseMemoryLibMmx: Remove .S files for IA32 and X64 arch
89
fbce3e064cdd MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch
90
ef008cd706b8 MdePkg/BaseMemoryLibOptPei: Remove .S files for IA32 and X64 arch
91
42b7b15d2798 MdePkg/BaseMemoryLibRepStr: Remove .S files for IA32 and X64 arch
92
94cf7d235a48 MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch
93
fcc61ca4b122 CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch
94
c7d22535f7dc SourceLevelDebugPkg/DebugAgentCommon: Remove .S files
95
fb5c9ed8439b SourceLevelDebugPkg/PeCoffExtraActionLibDebug: Remove .S files
96
57b6844503e7 CorebootModulePkg/SecCore: Remove .S files for IA32 arch
97
7ed72121b753 SourceLevelDebugPkg/DebugAgent: Remove AsmFuncs.S in INF
98
e4ff6349bf9e UefiCpuPkg/MpInitLib: Fix MemTest86 failure.
99
37f9fea5b88d UefiCpuPkg\CpuSmm: Save & restore CR2 on-demand paging in SMM
100
79be3d27517c UefiCpuPkg/RegisterCpuFeaturesLib: Remove useless functions.
101
6214ffb41079 UefiCpuPkg/RegisterCpuFeaturesLib: Optimize PCD PcdCpuFeaturesUserConfiguration.
102
001c2c80333f UefiCpuPkg/RegisterCpuFeaturesLib: Simplify PcdCpuFeaturesSupport.
103
f664032e063b UefiCpuPkg/RegisterCpuFeaturesLib: Correct comments.
104
516e33972f0a UefiCpuPkg/Cpuid.h: Remove duplicated struct definition for leaf 1FH
105
079141ebe7f1 UefiCpuPkg/Cpuid: Dump leaf 1FH information correctly
106
7f33d4f22836 UefiCpuPkg/LocalApicLib: Add GetProcessorLocation2ByApicId() API
107
f8113e25001e UefiCpuPkg/Cpuid.h: Update CPUID.7H.ECX structure for 5-level paging
108
f53de8aecb12 edk2: Add License-History.txt
109
304bff7223a8 edk2: Change License.txt from 2-Clause BSD to BSD+Patent
110
9ca2b9b9abef edk2: Replace BSD License with BSD+Patent License
111
2e351cbe8e19 BaseTools: Replace BSD License with BSD+Patent License
112
4059386c7080 ArmPkg: Replace BSD License with BSD+Patent License
113
f4dfad05dda2 ArmPlatformPkg: Replace BSD License with BSD+Patent License
114
9792fb0e65ff ArmVirtPkg: Replace BSD License with BSD+Patent License
115
a1594be9c788 BeagleBoardPkg: Replace BSD License with BSD+Patent License
116
f3342b7a69bd CorebootModulePkg: Replace BSD License with BSD+Patent License
117
d2e8b7e1462f CorebootPayloadPkg: Replace BSD License with BSD+Patent License
118
2009f6b4c5cb CryptoPkg: Replace BSD License with BSD+Patent License
119
9cd9bdc620b4 DynamicTablesPkg: Replace BSD License with BSD+Patent License
120
878b807a435e EmbeddedPkg: Replace BSD License with BSD+Patent License
121
e3ba31da1cd1 EmulatorPkg: Replace BSD License with BSD+Patent License
122
eb6cb4ce755f FatPkg: Replace BSD License with BSD+Patent License
123
bcef758cbac5 FmpDevicePkg: Replace BSD License with BSD+Patent License
124
c0a00b143853 IntelFrameworkModulePkg: Replace BSD License with BSD+Patent License
125
22a69a5efe1d IntelFrameworkPkg: Replace BSD License with BSD+Patent License
126
9672cd30563b IntelFsp2Pkg: Replace BSD License with BSD+Patent License
127
512e23a3339d IntelFsp2WrapperPkg: Replace BSD License with BSD+Patent License
128
16a16ea6e39a IntelFspPkg: Replace BSD License with BSD+Patent License
129
194863604898 IntelFspWrapperPkg: Replace BSD License with BSD+Patent License
130
8f7a05e13966 IntelSiliconPkg: Replace BSD License with BSD+Patent License
131
9d510e61fcee MdeModulePkg: Replace BSD License with BSD+Patent License
132
9344f0921518 MdePkg: Replace BSD License with BSD+Patent License
133
ecf98fbcf858 NetworkPkg: Replace BSD License with BSD+Patent License
134
9d2eedba985b Nt32Pkg: Replace BSD License with BSD+Patent License
135
538311f7d3f6 Omap35xxPkg: Replace BSD License with BSD+Patent License
136
96ae5934cfc3 OptionRomPkg: Replace BSD License with BSD+Patent License
137
b26f0cf9ee09 OvmfPkg: Replace BSD License with BSD+Patent License
138
e1d302e55472 PcAtChipsetPkg: Replace BSD License with BSD+Patent License
139
0eb3de2edc2a QuarkPlatformPkg: Replace BSD License with BSD+Patent License
140
c9f231d08bdb QuarkSocPkg: Replace BSD License with BSD+Patent License
141
289b714b7700 SecurityPkg: Replace BSD License with BSD+Patent License
142
616bb7577171 ShellBinPkg: Replace BSD License with BSD+Patent License
143
56ba37463a5f ShellPkg: Replace BSD License with BSD+Patent License
144
fbf06957b9fd SignedCapsulePkg: Replace BSD License with BSD+Patent License
145
85f7e11021b3 SourceLevelDebugPkg: Replace BSD License with BSD+Patent License
146
86094561f674 StandaloneMmPkg: Replace BSD License with BSD+Patent License
147
0acd869796de UefiCpuPkg: Replace BSD License with BSD+Patent License
148
7ede80607b3f Vlv2DeviceRefCodePkg: Replace BSD License with BSD+Patent License
149
9dc8036ddf6f Vlv2TbltDevicePkg: Replace BSD License with BSD+Patent License
150
bcb966958adc AppPkg: Replace BSD License with BSD+Patent License
151
0a2530ea7f53 StdLib: Replace BSD License with BSD+Patent License
152
be41238497e9 StdLibPrivateInternalFiles: Replace BSD License with BSD+Patent License
153
75fae505b735 OvmfPkg: Change License.txt from 2-Clause BSD to BSD+Patent
154
3806e1fd1397 edk2: Remove Contributions.txt and update Readme.md
155
a281361014de BaseTools/PatchCheck: Generate error if Contributed-under found
156
ae2fb9ead47b CorebootPayloadPkg/FbGop: Locate correct framebuffer device
157
b1e27d175abb BaseTools: Fixed issue in MultiThread Genfds function
158
2914e8153dd3 BaseTools: Fix corner-cases of --hash feature
159
1b8caf0d87ea BaseTools: Fix corner-cases of --hash feature
160
f2b5e04acad2 BaseTools: Fix corner-cases of --hash feature
161
db4d47fd3ae9 BaseTools: Fix corner-cases of --hash feature
162
746c5b6238f1 ArmVirtPkg: Update UefiDecompressLib instance
163
4ffc5aa1d14f BeagleBoardPkg: Update UefiDecompressLib instance
164
0108a91c5526 EmulatorPkg: Update UefiDecompressLib instance
165
58e8a1d8044f MdeModulePkg: Move BaseUefiTianoCustomDecompressLib to
166
9c0f90ffe163 Nt32Pkg: Update to use UefiDecompressLib in MdeModulePkg
167
8c3677c33f59 Quark: Update to use UefiDecompressLib in MdeModulePkg
168
f9f757fd098a Vlv2TbltDevicePkg: Update to use UefiDecompressLib in MdeModulePkg
169
ddb8cedce7e0 IntelFrameworkModulePkg: Fix comments and improve E820 debug output
170
9a86fd33e941 OvmfPkg: Copy 8259InterruptControllerDxe driver from PcAtChipsetPkg
171
10fa47e53829 OvmfPkg: Copy Legacy8259 protocol definitions from IntelFrameworkPkg
172
460ffed242af OvmfPkg/OvmfPkg.dec: Add 8259-related PCDs in OVMF DEC file
173
c01852433f37 OvmfPkg/8259InterruptControllerDxe: Update to make it build for OVMF
174
682888a6d236 OvmfPkg/AcpiPlatformDxe: Consume the 8259 PCD defined in OvmfPkg
175
1a3ffdff82e6 OvmfPkg: Copy 8254TimerDxe driver from PcAtChipsetPkg
176
e3c787af8c04 OvmfPkg/8254TimerDxe: Update to make it build for OVMF
177
6d70ade90cab OvmfPkg: Update DSC/FDF files to consume 8259/8254 drivers in OvmfPkg
178
e0fd9ece26c9 ShellPkg: Clarify the description of acpiview option '-s'
179
cff96d43730c OvmfPkg/License.txt: remove XenPvBlkDxe from the MIT licensed dir list
180
07a0f27b0e00 OvmfPkg/License.txt: refresh the MIT license text and include the SPDX ID
181
6f21d772aa6b OvmfPkg/IndustryStandard/Xen: replace MIT license text with SPDX ID
182
34131e1b5c09 OvmfPkg/XenBusDxe: replace MIT license text with SPDX ID
183
174232fa9a90 MdePkg/BaseLib: Remove LongJump.c and SetJump.c
184
f72f81777b39 MdeModulePkg: introduce PE/COFF image emulator protocol
185
57df17fe26cd MdeModulePkg/DxeCore: invoke the emulator protocol for foreign images
186
615a72400bca MdeModulePkg/PciBusDxe: dispatch option ROMs for foreign architectures
187
26d60374b87d MdeModulePkg/UefiBootManagerLib: allow foreign Driver#### images
188
095fcfc606bd MdeModulePkg/EbcDxe: implement the PE/COFF emulator protocol
189
431390dc1f7d MdePkg/UefiBaseType.h: treat EBC as a non-native machine type
190
2e21e8c4b896 MdeModulePkg/DxeCore: remove explicit EBC handling
191
87fcc6e8634e CorebootPayloadPkg: Remove the dependency of ShellBinPkg
192
04af8bf262f1 UefiPayloadPkg: Enhance UEFI payload for coreboot and Slim Bootloader
193
eb33b3994d06 EmulatorPkg/Unix: Rename GdbRun to GdbRun.sh
194
68d47eea422d IntelFsp2WrapperPkg: Perform post FSP-S process.
195
85b01932765d MdeModulePkg/CapsulePei: Change debug MACRO
196
42d8be0eaac5 MdeModulePkg/CapsulePei: Update the debug code to print 64bit data
197
05217d210e8d BaseTools:Enable the /MP option of MSVC compiler
198
87bfb9bcb744 BaseTools:Coding problems cause can not encode FMP Auth Header
199
0eccea3fbe2f BaseTools: Hash false success with back to back builds
200
cfb29d2bda57 BaseTools:update ConvertFceToStructurePcd.py with the char order PCD name.
201
d43056888790 MdeModulePkg/UefiBootManagerLib: fix crash on uninitialized ExitData
202
2980988575c9 Vlv2TbltDevicePkg: Remove ResetSystem declaration
203
07accfe398a2 Vlv2TbltDevicePkg: Retire 8254 timer and 8259 module
204
e2a673b85336 CryptoPkg/BaseCryptLib.h: Add new API to get organization name
205
912e1e1ee27e CryptoPkg/BaseCryptLib: Add new API to get organization name
206
1796a39493b2 CryptoPkg/BaseCryptLib.h: Add new API VerifyEKUsInPkcs7Signature
207
23c3178c4d45 CryptoPkg/BaseCryptLib: Add new API VerifyEKUsInPkcs7Signature
208
aed90beee510 CryptoPkg/BaseCryptLib.h: Add PKCS1v2 (RSAES-OAEP) support.
209
933f1990f583 CryptoPkg/BaseCryptLib: Add PKCS1v2 (RSAES-OAEP) support.
210
52d229238b2d OvmfPkg/QemuVideoDxe: avoid arithmetic on null pointer
211
dc5bbf10741c OvmfPkg/AcpiPlatformDxe: suppress invalid "deref of undef pointer" warning
212
e30991740d18 OvmfPkg/AcpiPlatformDxe: catch theoretical nullptr deref in Xen code
213
c2f643479eb3 OvmfPkg/BasePciCapLib: suppress invalid "nullptr deref" warning
214
b29e6365c37f NetworkPkg/UefiPxeBcDxe:Add two PCD to control PXE.
215
1dc1da58306f MdeModulePkg: Change the SMM debug lib instance
216
c0b2816d69a2 SignedCapsulePkg: Change the SMM debug lib instance
217
2b5778c68b63 MdePkg/UefiDebugLibDebugPortProtocol: Make it runtime safe
218
452702d0bc51 MdePkg/UefidebugLibConOut: Make it runtime safe
219
e72920ec617b MdePkg/UefiDebugLibStdErr: Make it runtime safe
220
0b836855fb4d BaseTools: Sometime write file not immediate to disk
221
452b5ad61ddd BaseTools: Enhance Bin Cache database to support save the cache
222
35c2af00d8c3 BaseTools:fixed the incorrect autogen makefile which cause build failure.
223
56008eb7f68c BaseTools: Hash false success.. minor change in hash invalidation
224
00e3e4801467 IntelFsp2WrapperPkg/FspsWrapperPeim: Fix coding style.
225
40ffb6dc635d Change package maintainer and reviewer of CryptoPkg.
226
2c0d39ac4704 MdeModulePkg/DxeCapsuleLibFmp: clone ESRT for runtime access
227
ab7e02a4f86a MdeModulePkg/HiiDatabaseDxe: Release lock on all error return path
228
81a8a52a6bb2 ShellBinPkg: Remove ShellBinPkg
229
e7ee4e0da153 MdePkg/BaseIoLibIntrinsic: Remove IoLibIcc.c
230
5b7255e3d909 MdePkg/BaseLib: Remove support of INTEL tool chain
231
36082dffd48d BaseTools: Remove ICC tool chain in tools_def.template
232
04c7a5febd82 MdeModulePkg/AhciPei: Limit max transfer blocknum for 48-bit address
233
b2b8e872fd1b MdeModulePkg/AhciPei: Add PEI BlockIO support
234
1a734ed85fda CryptoPkg: add issetugid declaration to fix openssl build on FreeBSD
235
d976f09d99b7 MdePkg/PiFirmwareFile: express IS_SECTION2 in terms of SECTION_SIZE
236
fc76bbd94df7 MdePkg/PiFirmwareFile: fix undefined behavior in SECTION_SIZE
237
d3b3ee09a675 BaseTools/PiFirmwareFile: fix undefined behavior in SECTION_SIZE
238
1fd227dd2607 MdePkg/PiFirmwareFile: fix undefined behavior in FFS_FILE_SIZE
239
b9d4847ec258 OvmfPkg/Sec: fix out-of-bounds reads
240
20029ca22baa EmbeddedPkg: Allow DXE_DRIVER to depend on NvVarStoreFormattedLib
241
dfaa565559ba MdeModulePkg/DxeCore: Please static checker for false report
242
c9b3fe1586eb BaseTools: Support customized compiling command
243
00d2aef80c9a MdeModulePkg/BMMUiLib: Set Handle to NULL after uninstall protocol
244
5a4f3a3453e7 MdeModulePkg/FileExplorer: Set Handle to NULL after uninstall protocol
245
60a86abf95aa MdeModulePkg/HiiDB: Minimize memory allocation times after ReadyToBoot
246
ec4e1af5b94f BaseTools/tools_def.template: Remove tools chain with ASL tool
247
228a9c2999bd MdePkg/UefiSpec.h: Change comments of EFI_RESET_SYSTEM
248
efaed0ab678a MdePkg/PiPeiCis.h: Change comments of EFI_PEI_RESET2_SYSTEM
249
1abe0959f0ea MdePkg/PeiServicesLib.h: Change comments of PeiServicesResetSystem2
250
d821151e814f MdePkg/PeiServicesLib.c: Change comments of PeiServicesResetSystem2
251
930fcd9f3acf SecurityPkg/Tcg2Dxe: Change comments of ShutdownTpmOnReset
252
173cd4723444 MdeModulePkg/ResetSystemLib.h: Change comments of ResetSystem
253
2662528d9695 MdeModulePkg/DxeResetSystemLib.c: Change comments of ResetSystem
254
1cff74bb0f2e MdeModulePkg/BaseResetSystemLibNull.c: Change comments of ResetSystem
255
32f555385fc8 MdeModulePkg/RuntimeResetSystemLib.c: Change comments
256
99d7570a7a7f MdeModulePkg/PeiResetSystemlib.c: Change comments of ResetSystem
257
f69cb1082831 MdeModulePkg/ResetSystemRuntimeDxe: Change comments
258
3bb9b1fad3c6 MdeModulePkg/ResetSystemPei: Change comments of ResetSystem2
259
eac49c837b32 MdeModulePkg/PeiMain: Change comments of PeiResetSystem2
260
c676cf740256 MdeModulePkg/NvmExpressHci.c: Change comments
261
7701cd048712 BeagleBoardPkg/ResetSystemLib: Add new API ResetSystem
262
446bb6516e94 CorebootPayloadPkg/ResetSystemLib: Add new API ResetSystem
263
96ed5b28f9ab Nt32Pkg/ResetSystemLib: Add new API ResetSystem
264
84c0b80de716 OvmfPkg/ResetSystemLib: Add new API ResetSystem
265
b700a8271912 PcAtChipsetPkg/ResetSystemLib: Add new API ResetSystem
266
c35bbeebbed2 QuarkSocPkg/ResetSystemLib: Add new API ResetSystem
267
b5fddfaf477a Vlv2TbltdevicePkg/ResetSystemLib: Add new API ResetSystem
268
bda4d5be7c97 ArmPkg/ArmSmcPsciResetSystemLib: Add a new API ResetSystem
269
d943e5ad3b2b ArmVirtPkg/ArmVirtPsciResetSystemLib: Add a new API ResetSystem
270
06aaf2f82cd1 MdeModulePkg/ResetUtilityLib: Add a new API ResetSystemWithSubtype
271
0851d7a53a1d MdeModulePkg/ResetUtilityLib: Add a new API ResetSystemWithSubtype
272
a8a8b408b7de OvmfPkg/PlatformBootManagerLib: Remove dependency on Mps.h
273
f4c874c45dbc ShellPkg/UefiShellDebug1CommandsLib
274
5a1ca93a1fa1 ShellPkg/UefiHandleParsingLib: Remove some unused Guids
275
4e1daa60f537 MdePkg: Removed IPF related code
276
c17e4a2f5371 MdePkg/UefiDebugLibConOut: make global variable static
277
7eef381378b7 MdePkg/UefiDebugLibDebugPortProtocol: make global variable static
278
ffe48f4b6c65 MdePkg/UefiDebugLibStdErr: make global variable static
279
ea305ce3f8b5 IntelFrameworkModulePkg: make global variable static
280
2410ac023016 MdeModulePkg/FirmwarePerformanceDxe: make global variable static
281
9ed8c3a8068a IntelFsp2WrapperPkg/FspWrapperNotifyDxe: make global variable static
282
4e4b23040786 IntelFrameworkModulePkg: make global variable static
283
af51cb48a22d MdeModulePkg/StatusCodeHandlerRuntimeDxe: make global variable static
284
d55d9d066436 NetworkPkg: Remove IpSec driver and application
285
679906d9bd41 NetworkPkg: Add missing string token in NetworkPkg.uni
286
8a472b1915fb MdeModulePkg: BaseSerialPortLib16550: Add Mmio32 support
287
038f929c921c CryptoPkg/BaseCryptLib: Remove the blank line in the comments
288
e2d3a25f1a31 EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
289
964f432b9b0a edk2: Remove AppPkg, StdLib, StdLibPrivateInternalFiles
290
5c5d8d0b2086 edk2: Update ReadMe.md and Maintainer.txt for edk2-libc repo
291
137cbff041fc QuarkPlatformPkg/AcpiTables: Resolve iASL warnings
292
b11636239f84 OvmfPkg: introduce EnrollDefaultKeys application
293
3defea06b2b7 OvmfPkg/EnrollDefaultKeys: update @file comment blocks
294
05d7f3c3fce5 OvmfPkg/EnrollDefaultKeys: refresh INF file
295
034dec6ca19d ArmVirtPkg: build EnrollDefaultKeys.efi
296
85d96998a470 OvmfPkg/EnrollDefaultKeys: clean up minor whitespace wart
297
32d1440aaddd OvmfPkg/EnrollDefaultKeys: clean up global variable name prefixes
298
e0d612356e84 OvmfPkg/EnrollDefaultKeys: clean up acronym capitalization in identifiers
299
a2491a6c82e4 OvmfPkg/EnrollDefaultKeys: remove unneeded EFIAPI call. conv. specifiers
300
1c9418fcafe3 OvmfPkg/EnrollDefaultKeys: extract typedefs to a header file
301
a79b115adeab OvmfPkg/EnrollDefaultKeys: split out certificate and signature constants
302
7eeaa7585a98 OvmfPkg/EnrollDefaultKeys: extract MICROSOFT_VENDOR_GUID
303
86bf2672a35a OvmfPkg/EnrollDefaultKeys: describe functions with leading comment blocks
304
c9727ff1df0d OvmfPkg/EnrollDefaultKeys: document the steps of the entry point function
305
392404167fb1 OvmfPkg: introduce OVMF_PK_KEK1_APP_PREFIX_GUID
306
be9470b3c91f OvmfPkg/EnrollDefaultKeys: enroll PK/KEK1 from the Type 11 SMBIOS table
307
9fb2ce2f465d OvmfPkg/EnrollDefaultKeys: remove Red Hat's hard-coded PK/KEK1
308
27e4d6ae25a0 OvmfPkg/XenSupport: remove usage of prefetchable PCI host bridge aperture
309
d63610df60f7 OvmfPkg/XenSupport: use a correct PCI host bridge aperture for BAR64
310
0c40c9c925ca OvmfPkg/XenSupport: turn off address decoding before BAR sizing
311
a41b12574ee1 MdePkg: Add PcdSpeculationBarrierType
312
aec74656893a MdePkg/BaseLib: Use PcdSpeculationBarrierType
313
24f4547c5c12 QuarkPlatformPkg: Set PcdSpeculationBarrierType to CPUID
314
6dd88437b1d9 UefiCpuPkg/MpInitLibUp: Add uniprocessor MpInitLib
315
ba1362d882e9 UefiCpuPkg/CpuMpPei: Add missing CpuLib class
316
c793d24b0103 QuarkPlatformPkg: Use uniprocessor MpInitLibUp
317
0edaa8c16204 QuarkSocPkg/SmmAccessDxe: Set region to UC on SMRAM close
318
80d28ddeb2ce QuarkPlatformPkg/PlatformInit: Resolve ResetSystemLib name collision
319
0d6de095a5ae BaseTools: split long line into multiple short lines.
320
c4c8c340ef01 BaseTools: Add GCC flags to Basetool build.
321
273190e18975 BaseTools:Fixed an issue where the order of GuidS changed in guid.xref
322
727d7ebaa9f3 OvmfPkg/EnrollDefaultKeys: suppress incorrect compiler warning
323
d02741225887 Vlv2TbltDevicePkg: Remove NetworkPkg/IpSecDxe module
324
fbb0ec7ea4c0 BaseTools: support arm64 as a platform name in addition to aarch64
325
f5245a1db144 SecurityPkg/OpalPassword: Add warning message for Secure Erase
326
8b4b2fb9a183 BaseTools:corrected error message for the DatumType error
327
0cb3f77153b7 BaseTools:ECC report errors on account of analyze special characters
328
26e2b295ec7a BaseTools:Remove unused BaseTools\Source\Python\UPT\Dll
329
df7c81b5b219 BaseTools:The code used to test python module is moved to edksetup
330
a642e2b42ed5 MdeModulePkg/DumpDynPcd: Add application to dump dynamic PCD settings
331
da815cf390cc NetworkPkg DSC: Add the required ARM library to pass ARM build
332
1e948802e755 NetworkPkg: Add DSC/FDF include segment files to NetworkPkg.
333
23ea5bfea2a2 NetworkPkg: Add package level include DSC file
334
792f0d4f12ad EmulatorPkg: Support a second GOP window
335
1b72fd5121b5 BaseTools/VfrCompile: Remove framework VFR support
336
8dc1f4ec0f54 FatPkg/FatPei: Remove PcdFrameworkCompatibilitySupport usage
337
9feffce9c6b5 IntelFrameworkModulePkg: Remove PcdFrameworkCompatibilitySupport usage
338
728c7ffac317 MdeModulePkg/Core: Remove PcdFrameworkCompatibilitySupport usage
339
2e217e402215 MdeModulePkg/CdExpress: Remove PcdFrameworkCompatibilitySupport usage
340
059cf575eb6c MdeModulePkg/Setup: Remove PcdFrameworkCompatibilitySupport usage
341
1df91bb772a1 QuarkPlatformPkg: Remove PcdFrameworkCompatibilitySupport usage
342
868f139b086a SignedCapsulePkg: Remove PcdFrameworkCompatibilitySupport usage
343
3e2ec1891f98 UefiCpuPkg: Remove PcdFrameworkCompatibilitySupport usage
344
2c835dee82a4 Vlv2TbltDevicePkg: Remove PcdFrameworkCompatibilitySupport usage
345
4acc5750f055 MdeModulePkg: Remove PcdFrameworkCompatibilitySupport
346
e0972cfc7df1 SecurityPkg/SecurityPkg.dec: Change BlockSID default policy
347
539a6c931884 SecurityPkg/OpalPassword: Change send BlockSID policy
348
46e696088a0a SecurityPkg/OpalPassword: Fix "Enable Feature" Menu disappear issue
349
7d83e9e84793 BaseTools:Delete FrameworkDatabase from BaseTools/Conf
350
c648e9058717 BaseTools: Fix the issue that build report missing Module Size
351
51e9be0cc3d1 Vlv2TbltDevicePkg:Delete FrameworkDatabase from Vlv2TbltDevicePkg
352
49693202ec9c Revert "BaseTools:code of test python module is moved to edksetup"
353
20af3a7a3ec4 FatPkg/FatPei: Remove BootInRecoveryMode PPI DEPEX.
354
0a506fc7ab8b MdeModulePkg: Remove BootInRecoveryMode PPI
355
30a888b5a0a0 IntelSiliconPkg/IntelVTdDxe: Do global invalidation before boot
356
8522ce2c9f88 Maintainers.txt: Update the name of 'Hao Wu' to 'Hao A Wu'
357
ad9df9377028 EmulatorPkg: Change the cpu frequency to a non-zero value
358
0e92957eaa50 EmulatorPkg: Make the shell be the first boot option
359
68cafc7bf057 EmulatorPkg: Save the modified order after rebooting
360
21d5bf86b223 EmulatorPkg: Remove framework pkgs dependency from EmulatorPkg
361
3eac7496bef1 Vlv2TbltDevicePkg/PlatformFlashAccessLib: Add error return
362
f635a42e14f4 Vlv2TbltDevicePkg/AcpiPlatform: Change Size type to UINTN
363
24990e84d323 Vlv2TbltDevicePkg/AcpiPlatform: Add variable protocols to depex
364
e5a0cf912531 Vlv2TbltDevicePkg/PpmPolicy: Fix call to MP Services Protocol
365
f4aa56e7cc38 Vlv2TbltDevicePkg/SmBiosMiscDxe: Fix GCC build issue
366
927926f45485 Vlv2TbltDevicePkg: Find UEFI Shell using gUefiShellFileGuid
367
5cf0cb1582af Vlv2TbltDevicePkg: Build full UEFI Shell from sources
368
86be1a2eaa8a Vlv2TbltDevicePkg: Use CpuDxe from UefiCpuPkg
369
76386f4292c3 Vlv2TbltDevicePkg: Add PchInitSmm module
370
a4390a28b8ac Vlv2TbltDevicePkg: Always enable QuietBoot to produce BGRT
371
ef81f9f12af4 Vlv2TbltDevicePkg/Stitch/Gcc: Update default setting binary
372
9d87197edadc Vlv2TbltDevicePkg: Remove directory assumptions from build scripts
373
447597f123c0 Vlv2TbltDevicePkg/Capsule: Do not clear UEFI varstore
374
f2197f0d0c3d Vlv2TbltDevicePkg/Capsule: Remove path to openssl tools
375
1bb262ea0440 Vlv2TbltDevicePkg/Capsule: Add Linux/LVFS generation scripts
376
62fdb9bbc505 Vlv2TbltDevicePkg: Update Readme.md
377
cd5147734cbe OvmfPkg/QemuVideoDxe: Remove dependency on OptionRomPkg
378
70023bab7efe MdeModulePkg: BaseSerialPortLib16550: Add missing Pcd to UNI
379
afe8c4110c07 BaseTools: Correct the value assignment for StructurePcd
380
6b74ccf0f8b5 BaseTools:Enables FFS to support the GUID value format
381
ae3c247dbc94 BaseTools: Check the fread function and avoid dead loop
382
f684c3f5eef4 Coreboot*Pkg: Retire CorebootPayloadPkg and CorebootModulePkg
383
e2aaec4b080c UefiCpuPkg: Remove double \r
384
4ff689d98277 BaseTools/VfrCompile: clean Framework Vfr support
385
c4521157bf57 ArmPkg/CompilerIntrinsicsLib: Remove unused sources and clean up .inf
386
482704df27cc ArmPkg/CompilerIntrinsicsLib: Add memcmp, memmove intrinsics for MSFT
387
d039044be43d ArmPkg/CompilerIntrinsicsLib: Add lasr ARM assembly source for GCC
388
96ef5a8e30a8 ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources
389
5347c48016f2 edk2: Remove packages moved to edk2-platforms
390
83f997e58dca edk2: Update Maintainers.txt for packages moved to edk2-platforms
391
cf574f0a1838 UefiCpuPkg PiSmmCpuDxeSmm: Only support IN/OUT IO save state read (CVE-2018-12182)
392
4000f249ba5c SecurityPkg: Remove double \r
393
e90ea9470a88 SecurityPkg/AuthSeriableLib: Always delete variable in certdb
394
f0b8166505d2 EmbeddedPkg DSC: Use ReportStatusCodeLib (DXE) in MdeModulePkg
395
32f345eba719 EmbeddedPkg/PrePiLib: Drop dependency on IntelFramework[Module]Pkg
396
a11d371ef660 OvmfPkg: Remove duplicated library classes in dxe drivers section in DSC
397
a40f30398ab0 MdePkg: Add ACPI 6.3 header file
398
3f0055c8de8a MdePkg: Merge TianoCustomDecompress algorithm into
399
805313dbac3a Nt32Pkg: Update UefiDecompressLib instance path
400
bf502ae44919 MdeModulePkg/Library: Remove BaseUefiTianoCustomDecompressLib
401
89d7c543cf71 OvmfPkg/EnrollDefaultKeys: import the non-default key into db
402
631195044ff0 OvmfPkg: Update DSC/FDF to use NetworkPkg's include fragment file.
403
bc01f4971d63 Nt32Pkg: Update DSC/FDF to use NetworkPkg's include fragment file.
404
157a3b1aa50f ArmVirtPkg: Update DSC/FDF to use NetworkPkg's include fragment file.
405
3b7a897cd8e3 EmulatorPkg: Update DSC/FDF to use NetworkPkg's include fragment file.
406
60e95bf5094f OvmfPkg/PlatformPei: assign PciSize on both i440fx/q35 branches explicitly
407
9a2e8d7c65ef OvmfPkg/PlatformPei: hoist PciBase assignment above the i440fx/q35 branching
408
75136b29541b OvmfPkg/PlatformPei: reorder the 32-bit PCI window vs. the PCIEXBAR on q35
409
39b9a5ffe661 OvmfPkg/PlatformPei: fix MTRR for low-RAM sizes that have many bits clear
410
4d5d7812786d UefiCpuPkg: Remove double \r
411
7afa0cea8f2c Nt32Pkg: Remove it
412
147e6e70f2be Maintainers.txt: Remove Nt32Pkg reference after Nt32Pkg is removed
413
c2eab535c679 CryptoPkg/BaseCryptLib: remove unused code for IPF
414
fb5573b83007 Maintainers.txt: Add 'Zhichao Gao' for ShellPkg review
415
8da8daafc905 ShellPkg: acpiview: Add GT Frame Number validation to GTDT parser
416
1887b995a359 ShellPkg/UefiShellAcpiViewCommandLib: Fix PPTT cache attributes validation
417
41ac2076a7c6 UefiCpuPkg CpuCommonFeaturesLib: Remove CPU generation check
418
59f20e8d7100 ShellPkg: Update DSC to use NetworkPkg's include fragment file
419
48f43c2c56ee EmbeddedPkg: Update DSC to use NetworkPkg's include fragment file
420
7b84de939489 ShellPkg: Display VENDOR_ID in ASCII when parsing PPTT
421
911efe279ec3 ShellPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency
422
110d4729b58e EmulatorPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency
423
cc99ea9422be Maintainers.txt: remove UTF-8 BOM wrongly added in commit
147e6e70
424
66b845ae06f1 BaseTools: Fix private includes for FILE_GUID override
425
a7ef158b0752 BaseTools: Library hashing fix and optimization for --hash feature
426
c1387446edbb BaseTools:Update mailing list address in BaseTools error messages
427
9ca1f1446a5a BaseTools: Remove './SecMain' from 'run' target
428
3604174718e2 IntelFrameworkModulePkg/DebugLib: Fix string copy issue
429
4718129bf94e BaseTools: Update Conf/target.template with the default EmulatorPkg.dsc
430
01e074bfbcf0 MdeModulePkg: Update MdeModulePkg.dsc to remove Network related modules
431
e812a812c1a0 BaseTools: Remove './SecMain' from 'run' target
432
c0fd7f734e2d BaseTools:Change the path of the file that Binary Cache
433
4542f8b8135f NetworkPkg: Move Network library and drivers from MdeModulePkg to NetworkPkg
434
07135c122058 NetworkPkg: Move Network library header file from MdeModulePkg to NetworkPkg
435
ec56fa278428 MdeModulePkg: Remove network library header file from package DEC file
436
005a5f2dea5c UefiPayloadPkg: Update Package DSC files to refer to NetworkLibs.dsc.inc
437
da82eb1c93b4 ArmPkg: Update Package DSC to remove unused NetLib
438
21d9dc21f818 SignedCapsulePkg: Update Package DSC to remove unused network libs
439
5a9e23ceb991 Maintainers.txt: update mailing list information
440
4abfc66db088 Maintainers.txt: update UEFI payload information
441
591b8cb7f3d0 IntelFsp2Pkg/SplitFspBin.py: Support rebasing 1.x binary.
442
9d73c5608d22 IntelFsp2Pkg/SplitFspBin.py: Revert FSP 1.x support.
443
e2afc8ab59c3 MdeModulePkg/AhciPei: Fix device cannot be found in non-S3 path
444
3a0b998bf3b5 BaseTools:Extend the binary cache to support library cache
445
b6cfa686e42d BaseTools:Update binary cache restore time to current time
446
85af0b8116f3 ArmPkg: import Berkeley Softfloat library as git submodule
447
3cc57695df5a ArmPkg/ArmSoftFloatLib: switch to new version of softfloat library
448
99243102b467 ArmPkg/ArmSoftFloatLib: remove source files that are no longer used
449
8594c2073cdb ArmPkg/ArmLib ARM: set .fpu to let Clang 7 assemble ArmV7Support.S
450
371e7001e8d5 ArmPkg/ArmSoftFloatLib GCC4x: fix build failure
451
6fcc3d68eb02 CryptoPkg/OpensslLib: Modify process_files.pl for upgrading OpenSSL
452
7eee0488944f CryptoPkg/OpensslLib: Exclude unnecessary files in process_files.pl
453
96dbfad9b00b CryptoPkg/IntrinsicLib: Fix possible unresolved external symbol issue
454
5db2fbff23ae CryptoPkg/OpensslLib: Prepare for upgrading OpenSSL
455
9c3c5c91ce6d CryptoPkg/OpensslLib: Fix cross-build problem for AARCH64
456
c51f8bae7cab CryptoPkg: Fix possible build problem with Clang
457
b73967891824 CryptoPkg/OpensslLib: Add functions for upgrading OpenSSL1_1_1b
458
456dd8b99f00 CryptoPkg: Upgrade OpenSSL to 1.1.1b
459
acfb90911840 CryptoPkg/BaseCryptLib: Make HMAC_CTX size backward compatible
460
f03859ea6c8f CryptoPkg CLANG35: add -std=c99 to dodge OpenSSL C atomics issue
461
305cd4f783fe Revert "OvmfPkg/PlatformPei: fix MTRR for low-RAM sizes that have many bits clear"
462
eb4d62b0779c Revert "OvmfPkg/PlatformPei: reorder the 32-bit PCI window vs. the PCIEXBAR on q35"
463
753d3d6f43b2 Revert "OvmfPkg/PlatformPei: hoist PciBase assignment above the i440fx/q35 branching"
464
d45349841113 Revert "OvmfPkg/PlatformPei: assign PciSize on both i440fx/q35 branches explicitly"
465
b07de0974b65 OvmfPkg: raise the PCIEXBAR base to 2816 MB on Q35
466
49edde15230a OvmfPkg/PlatformPei: set 32-bit UC area at PciBase / PciExBarBase (pc/q35)
467
466c66341a99 CryptoPkg: Fix build problem with XCODE
468
4ff8b6b1d8b7 FmpDevicePkg: Add TimerLib to DSC file
469
7cea4d71a8a8 EmulatorPkg: don't display the cpu current speed
470
a1539c46958f UefiPayloadPkg: Remove legacy PIC 8259 driver
471
be689ecc93e5 Revert "EmulatorPkg: don't display the cpu current speed"
472
cbfdc1b2df65 Maintainers.txt: Remove Network maintainers for MdeModulePkg/Universal/Network
473
0a1b13fd4d22 CryptoPkg/OpensslLib: fix VS2017 build failure
474
b8993a34ae00 edk2: Update additional licenses in Readme.md
475
98d8f194e5a6 CryptoPkg/IntrinsicLib: Fix CLANG38 IA32 build problem
476
b66c4c4ff918 Revert "UefiPayloadPkg: Remove legacy PIC 8259 driver"
477
20d2e5a125e3 CryptoPkg/OpensslLib: fix build break caused by missing library
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/
1831477
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Laszlo Ersek [Thu, 6 Jun 2019 09:59:09 +0000 (11:59 +0200)]
roms/Makefile.edk2: define edk2-stable201905 network feature test macros
Due to edk2 commits
631195044ff0 ("OvmfPkg: Update DSC/FDF to use
NetworkPkg's include fragment file.", 2019-05-16) and
157a3b1aa50f
("ArmVirtPkg: Update DSC/FDF to use NetworkPkg's include fragment file.",
2019-05-16), we'll have to pefix the HTTP_BOOT_ENABLE and TLS_ENABLE build
flags with "NETWORK_", for building edk2 at tag "edk2-stable201905".
Right now the new flags are no-ops, so we can insert them separately,
before advancing our edk2 submodule reference. We will remove the old
flags afterwards.
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/
1831477
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Peter Maydell [Fri, 14 Jun 2019 13:46:13 +0000 (14:46 +0100)]
Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2019-06-14' into staging
Block patches:
- Allow blockdev-backup from nodes that are not in qemu's main AIO
context to newly added nodes
- Add salvaging mode to qemu-img convert
- Minor fixes to tests, documentation, and for less Valgrind annoyance
# gpg: Signature made Fri 14 Jun 2019 14:38:11 BST
# gpg: using RSA key
91BEB60A30DB3E8857D11829F407DB0061D5CF40
# gpg: issuer "mreitz@redhat.com"
# gpg: Good signature from "Max Reitz <mreitz@redhat.com>" [full]
# Primary key fingerprint: 91BE B60A 30DB 3E88 57D1 1829 F407 DB00 61D5 CF40
* remotes/maxreitz/tags/pull-block-2019-06-14:
iotests: Test qemu-img convert -C --salvage
iotests: Test qemu-img convert --salvage
blkdebug: Inject errors on .bdrv_co_block_status()
blkdebug: Add "none" event
blkdebug: Add @iotype error option
qemu-img: Add salvaging mode to convert
qemu-img: Move quiet into ImgConvertState
blockdev: Overlays are not snapshots
qapi/block-core: Overlays are not snapshots
qemu-img: Fix options leakage in img_rebase()
iotests: restrict 254 to support only qcow2
hw/block/fdc: floppy command FIFO memory initialization
iotests: Fix intermittent failure in 219
iotests: Filter 175's allocation information
event_match: always match on None value
iotests: add iotest 256 for testing blockdev-backup across iothread contexts
iotests.py: rewrite run_job to be pickier
QEMUMachine: add events_wait method
iotests.py: do not use infinite waits
blockdev-backup: don't check aio_context too early
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Max Reitz [Tue, 7 May 2019 20:35:08 +0000 (22:35 +0200)]
iotests: Test qemu-img convert -C --salvage
We do not support this combination (yet), so this should yield an error
message.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Tested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id:
20190507203508.18026-8-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Tue, 7 May 2019 20:35:07 +0000 (22:35 +0200)]
iotests: Test qemu-img convert --salvage
This test converts a simple image to another, but blkdebug injects
block_status and read faults at some offsets. The resulting image
should be the same as the input image, except that sectors that could
not be read have to be 0.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-id:
20190507203508.18026-7-mreitz@redhat.com
Tested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
[mreitz: Dropped superfluous printf from _filter_offsets, as suggested
by Vladimir; disable test for VDI and IMGOPTSSYNTAX]
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Tue, 7 May 2019 20:35:06 +0000 (22:35 +0200)]
blkdebug: Inject errors on .bdrv_co_block_status()
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id:
20190507203508.18026-6-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Tue, 7 May 2019 20:35:05 +0000 (22:35 +0200)]
blkdebug: Add "none" event
Together with @iotypes and @sector, this can be used to trap e.g. the
first read or write access to a certain sector without having to know
what happens internally in the block layer, i.e. which "real" events
happen right before such an access.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id:
20190507203508.18026-5-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Tue, 7 May 2019 20:35:04 +0000 (22:35 +0200)]
blkdebug: Add @iotype error option
This new error option allows users of blkdebug to inject errors only on
certain kinds of I/O operations. Users usually want to make a very
specific operation fail, not just any; but right now they simply hope
that the event that triggers the error injection is followed up with
that very operation. That may not be true, however, because the block
layer is changing (including blkdebug, which may increase the number of
types of I/O operations on which to inject errors).
The new option's default has been chosen to keep backwards
compatibility.
Note that similar to the internal representation, we could choose to
expose this option as a list of I/O types. But there is no practical
use for this, because as described above, users usually know exactly
which kind of operation they want to make fail, so there is no need to
specify multiple I/O types at once. In addition, exposing this option
as a list would require non-trivial changes to qemu_opts_absorb_qdict().
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id:
20190507203508.18026-4-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Tue, 7 May 2019 20:35:03 +0000 (22:35 +0200)]
qemu-img: Add salvaging mode to convert
This adds a salvaging mode (--salvage) to qemu-img convert which ignores
read errors and treats the respective areas as containing only zeroes.
This can be used for instance to at least partially recover the data
from terminally corrupted qcow2 images.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id:
20190507203508.18026-3-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Tue, 7 May 2019 20:35:02 +0000 (22:35 +0200)]
qemu-img: Move quiet into ImgConvertState
Move img_convert()'s quiet flag into the ImgConvertState so it is
accessible by nested functions. -q dictates that it suppresses anything
but errors, so if those functions want to emit warnings, they need to
query this flag first. (There currently are no such warnings, but there
will be as of the next patch.)
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id:
20190507203508.18026-2-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Mon, 3 Jun 2019 20:22:36 +0000 (22:22 +0200)]
blockdev: Overlays are not snapshots
There are error messages which refer to an overlay node as the snapshot.
That is wrong, those are two different things.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id:
20190603202236.1342-3-mreitz@redhat.com
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Mon, 3 Jun 2019 20:22:35 +0000 (22:22 +0200)]
qapi/block-core: Overlays are not snapshots
A snapshot is something that reflects the state of something at a
certain point in time. It does not change.
The file our snapshot commands create (or the node they install) is not
a snapshot, as it does change over time. It is an overlay. We cannot
do anything about the parameter names, but we can at least adjust the
descriptions to reflect that fact.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id:
20190603202236.1342-2-mreitz@redhat.com
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Tue, 28 May 2019 19:53:38 +0000 (21:53 +0200)]
qemu-img: Fix options leakage in img_rebase()
img_rebase() can leak a QDict in two occasions. Fix it.
Coverity: CID
1401416
Fixes: d16699b64671466b42079c45b89127aeea1ca565
Fixes: 330c72957196e0ae382abcaa97ebf4eb9bc8574f
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-id:
20190528195338.12376-1-mreitz@redhat.com
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Vladimir Sementsov-Ogievskiy [Wed, 5 Jun 2019 15:54:05 +0000 (18:54 +0300)]
iotests: restrict 254 to support only qcow2
Test fails at least for qcow, because of different cluster sizes in
base and top (and therefore different granularities of bitmaps we are
trying to merge).
The test aim is to check block-dirty-bitmap-merge between different
nodes functionality, no needs to check all formats. So, let's just drop
support for anything except qcow2.
Reported-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id:
20190605155405.104384-1-vsementsov@virtuozzo.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Andrey Shinkevich [Wed, 29 May 2019 18:20:27 +0000 (21:20 +0300)]
hw/block/fdc: floppy command FIFO memory initialization
The uninitialized memory allocated for the command FIFO of the
floppy controller during the VM hardware initialization incurs
many unwanted reports by Valgrind when VM state is being saved.
That verbosity hardens a search for the real memory issues when
the iotests run. Particularly, the patch eliminates 20 unnecessary
reports of the Valgrind tool in the iotest #169.
Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Message-id:
1559154027-282547-1-git-send-email-andrey.shinkevich@virtuozzo.com
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Thu, 16 May 2019 16:11:14 +0000 (18:11 +0200)]
iotests: Fix intermittent failure in 219
In 219, we wait for the job to make progress before we emit its status.
This makes the output reliable. We do not wait for any more progress if
the job's current-progress already matches its total-progress.
Unfortunately, there is a bug: Right after the job has been started,
it's possible that total-progress is still 0. In that case, we may skip
the first progress-making step and keep ending up 64 kB short.
To fix that bug, we can simply wait for total-progress to reach 4 MB
(the image size) after starting the job.
Reported-by: Karen Mezick <kmezick@redhat.com>
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1686651
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-id:
20190516161114.27596-1-mreitz@redhat.com
Reviewed-by: John Snow <jsnow@redhat.com>
[mreitz: Adjusted commit message as per John's proposal]
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz [Thu, 16 May 2019 14:43:19 +0000 (16:43 +0200)]
iotests: Filter 175's allocation information
It is possible for an empty file to take up blocks on a filesystem, for
example:
$ qemu-img create -f raw test.img 1G
Formatting 'test.img', fmt=raw size=
1073741824
$ mkfs.ext4 -I 128 -q test.img
$ mkdir test-mount
$ sudo mount -o loop test.img test-mount
$ sudo touch test-mount/test-file
$ stat -c 'blocks=%b' test-mount/test-file
blocks=8
These extra blocks (one cluster) are apparently used for metadata,
because they are always there, on top of blocks used for data:
$ sudo dd if=/dev/zero of=test-mount/test-file bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.
00135339 s, 775 MB/s
$ stat -c 'blocks=%b' test-mount/test-file
blocks=2056
Make iotest 175 take this into account.
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Nir Soffer <nsoffer@redhat.com>
Message-id:
20190516144319.12570-1-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
John Snow [Tue, 28 May 2019 18:38:57 +0000 (14:38 -0400)]
event_match: always match on None value
Before, event_match didn't always recurse if the event value was not a
dictionary, and would instead check for equality immediately.
By delaying equality checking to post-recursion, we can allow leaf
values like "5" to match "None" and take advantage of the generic
None-returns-True clause.
This makes the matching a little more obviously consistent at the
expense of being able to check for explicit None values, which is
probably not that important given what this function is used for.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id:
20190528183857.26167-1-jsnow@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
John Snow [Thu, 23 May 2019 17:06:43 +0000 (13:06 -0400)]
iotests: add iotest 256 for testing blockdev-backup across iothread contexts
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id:
20190523170643.20794-6-jsnow@redhat.com
Reviewed-by: Max Reitz <mreitz@redhat.com>
[mreitz: Moved from 250 to 256]
Signed-off-by: Max Reitz <mreitz@redhat.com>
John Snow [Thu, 23 May 2019 17:06:42 +0000 (13:06 -0400)]
iotests.py: rewrite run_job to be pickier
Don't pull events out of the queue that don't belong to us;
be choosier so that we can use this method to drive jobs that
were launched by transactions that may have more jobs.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id:
20190523170643.20794-5-jsnow@redhat.com
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
John Snow [Thu, 23 May 2019 17:06:41 +0000 (13:06 -0400)]
QEMUMachine: add events_wait method
Instead of event_wait which looks for a single event, add an events_wait
which can look for any number of events simultaneously. However, it
will still only return one at a time, whichever happens first.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id:
20190523170643.20794-4-jsnow@redhat.com
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
John Snow [Thu, 23 May 2019 17:06:40 +0000 (13:06 -0400)]
iotests.py: do not use infinite waits
Cap waits to 60 seconds so that iotests can fail gracefully if something
goes wrong.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id:
20190523170643.20794-3-jsnow@redhat.com
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
John Snow [Thu, 23 May 2019 17:06:39 +0000 (13:06 -0400)]
blockdev-backup: don't check aio_context too early
in blockdev_backup_prepare, we check to make sure that the target is
associated with a compatible aio context. However, do_blockdev_backup is
called later and has some logic to move the target to a compatible
aio_context. The transaction version will fail certain commands
needlessly early as a result.
Allow blockdev_backup_prepare to simply call do_blockdev_backup, which
will ultimately decide if the contexts are compatible or not.
Note: the transaction version has always disallowed this operation since
its initial commit
bd8baecd (2014), whereas the version of
qmp_blockdev_backup at the time, from commit
c29c1dd312f, tried to
enforce the aio_context switch instead. It's not clear, and I can't see
from the mailing list archives at the time, why the two functions take a
different approach. It wasn't until later in
efd7556708b (2016) that the
standalone version tried to determine if it could set the context or
not.
Reported-by: aihua liang <aliang@redhat.com>
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1683498
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id:
20190523170643.20794-2-jsnow@redhat.com
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Peter Maydell [Fri, 14 Jun 2019 08:33:55 +0000 (09:33 +0100)]
Merge remote-tracking branch 'remotes/awilliam/tags/vfio-updates-
20190613.0' into staging
VFIO updates 2019-06-13
- Hide resizable BAR capability to prevent false guest resizing
(Alex Williamson)
- Allow relocation to fix bogus MSI-X hardware (Alex Williamson)
- Condense IRQ setup into a common helper (Eric Auger)
# gpg: Signature made Thu 13 Jun 2019 18:24:43 BST
# gpg: using RSA key
239B9B6E3BB08B22
# gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>" [full]
# gpg: aka "Alex Williamson <alex@shazbot.org>" [full]
# gpg: aka "Alex Williamson <alwillia@redhat.com>" [full]
# gpg: aka "Alex Williamson <alex.l.williamson@gmail.com>" [full]
# Primary key fingerprint: 42F6 C04E 540B D1A9 9E7B 8A90 239B 9B6E 3BB0 8B22
* remotes/awilliam/tags/vfio-updates-
20190613.0:
vfio/common: Introduce vfio_set_irq_signaling helper
vfio/pci: Allow MSI-X relocation to fixup bogus PBA
vfio/pci: Hide Resizable BAR capability
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Thu, 13 Jun 2019 17:17:32 +0000 (18:17 +0100)]
Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2019-06-13' into staging
nbd patches for 2019-06-13
- add 'qemu-nbd --pid-file'
- NBD-related iotest improvements
- NBD code refactoring in preparation for reconnect
# gpg: Signature made Thu 13 Jun 2019 16:37:58 BST
# gpg: using RSA key
A7A16B4A2527436A
# gpg: Good signature from "Eric Blake <eblake@redhat.com>" [full]
# gpg: aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>" [full]
# gpg: aka "[jpeg image of size 6874]" [full]
# Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2 F3AA A7A1 6B4A 2527 436A
* remotes/ericb/tags/pull-nbd-2019-06-13:
block/nbd: merge NBDClientSession struct back to BDRVNBDState
block/nbd: merge nbd-client.* to nbd.c
block/nbd-client: drop stale logout
nbd/server: Nicer spelling of max BLOCK_STATUS reply length
iotests: Let 233 run concurrently
iotests: Use qemu-nbd's --pid-file
qemu-nbd: Do not close stderr
iotests.py: Add qemu_nbd_early_pipe()
qemu-nbd: Add --pid-file option
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Eric Auger [Thu, 13 Jun 2019 15:57:37 +0000 (09:57 -0600)]
vfio/common: Introduce vfio_set_irq_signaling helper
The code used to assign an interrupt index/subindex to an
eventfd is duplicated many times. Let's introduce an helper that
allows to set/unset the signaling for an ACTION_TRIGGER,
ACTION_MASK or ACTION_UNMASK action.
In the error message, we now use errno in case of any
VFIO_DEVICE_SET_IRQS ioctl failure.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Alex Williamson [Thu, 13 Jun 2019 15:57:36 +0000 (09:57 -0600)]
vfio/pci: Allow MSI-X relocation to fixup bogus PBA
The MSI-X relocation code can sometimes be used to work around bogus
MSI-X capabilities, but this test for whether the PBA is outside of
the specified BAR causes the device to error before we can apply a
relocation. Let it proceed if we intend to relocate MSI-X anyway.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Alex Williamson [Thu, 13 Jun 2019 15:57:36 +0000 (09:57 -0600)]
vfio/pci: Hide Resizable BAR capability
The resizable BAR capability is currently exposed read-only from the
kernel and we don't yet implement a protocol for virtualizing it to
the VM. Exposing it to the guest read-only introduces poor behavior
as the guest has no reason to test that a control register write is
accepted by the hardware. This can lead to cases where the guest OS
assumes the BAR has been resized, but it hasn't. This has been
observed when assigning AMD Vega GPUs.
Note, this does not preclude future enablement of resizable BARs, but
it's currently incorrect to expose this capability as read-only, so
better to not expose it at all.
Reported-by: James Courtier-Dutton <james.dutton@gmail.com>
Tested-by: James Courtier-Dutton <james.dutton@gmail.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Vladimir Sementsov-Ogievskiy [Tue, 11 Jun 2019 10:27:20 +0000 (13:27 +0300)]
block/nbd: merge NBDClientSession struct back to BDRVNBDState
No reason to keep it separate, it differs from others block driver
behavior and therefore confuses. Instead of generic
'state = (State*)bs->opaque' we have to use special helper.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <
20190611102720.86114-4-vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Vladimir Sementsov-Ogievskiy [Tue, 11 Jun 2019 10:27:19 +0000 (13:27 +0300)]
block/nbd: merge nbd-client.* to nbd.c
No reason for keeping driver handlers realization separate from driver
structure. We can get rid of extra header file.
While being here, fix comments style, restore forgotten comments for
NBD_FOREACH_REPLY_CHUNK and nbd_reply_chunk_iter_receive, remove extra
includes.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <
20190611102720.86114-3-vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Vladimir Sementsov-Ogievskiy [Tue, 11 Jun 2019 10:27:18 +0000 (13:27 +0300)]
block/nbd-client: drop stale logout
Drop one on failure path (we have errp) and turn two others into trace
points.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <
20190611102720.86114-2-vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Peter Maydell [Thu, 13 Jun 2019 14:16:39 +0000 (15:16 +0100)]
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-
20190613-1' into staging
target-arm queue:
* convert aarch32 VFP decoder to decodetree
(includes tightening up decode in a few places)
* fix minor bugs in VFP short-vector handling
* hw/core/bus.c: Only the main system bus can have no parent
* smmuv3: Fix decoding of ID register range
* Implement NSACR gating of floating point
* Use tcg_gen_gvec_bitsel
# gpg: Signature made Thu 13 Jun 2019 15:15:39 BST
# gpg: using RSA key
E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg: issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg: aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE
* remotes/pmaydell/tags/pull-target-arm-
20190613-1: (47 commits)
target/arm: Fix short-vector increment behaviour
target/arm: Convert float-to-integer VCVT insns to decodetree
target/arm: Convert VCVT fp/fixed-point conversion insns to decodetree
target/arm: Convert VJCVT to decodetree
target/arm: Convert integer-to-float insns to decodetree
target/arm: Convert double-single precision conversion insns to decodetree
target/arm: Convert VFP round insns to decodetree
target/arm: Convert the VCVT-to-f16 insns to decodetree
target/arm: Convert the VCVT-from-f16 insns to decodetree
target/arm: Convert VFP comparison insns to decodetree
target/arm: Convert VMOV (register) to decodetree
target/arm: Convert VSQRT to decodetree
target/arm: Convert VNEG to decodetree
target/arm: Convert VABS to decodetree
target/arm: Convert VMOV (imm) to decodetree
target/arm: Convert VFP fused multiply-add insns to decodetree
target/arm: Convert VDIV to decodetree
target/arm: Convert VSUB to decodetree
target/arm: Convert VADD to decodetree
target/arm: Convert VNMUL to decodetree
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:53 +0000 (16:39 +0100)]
target/arm: Fix short-vector increment behaviour
For VFP short vectors, the VFP registers are divided into a
series of banks: for single-precision these are s0-s7, s8-s15,
s16-s23 and s24-s31; for double-precision they are d0-d3,
d4-d7, ... d28-d31. Some banks are "scalar" meaning that
use of a register within them triggers a pure-scalar or
mixed vector-scalar operation rather than a full vector
operation. The scalar banks are s0-s7, d0-d3 and d16-d19.
When using a bank as part of a vector operation, we
iterate through it, increasing the register number by
the specified stride each time, and wrapping around to
the beginning of the bank.
Unfortunately our calculation of the "increment" part of this
was incorrect:
vd = ((vd + delta_d) & (bank_mask - 1)) | (vd & bank_mask)
will only do the intended thing if bank_mask has exactly
one set high bit. For instance for doubles (bank_mask = 0xc),
if we start with vd = 6 and delta_d = 2 then vd is updated
to 12 rather than the intended 4.
This only causes problems in the unlikely case that the
starting register is not the first in its bank: if the
register number doesn't have to wrap around then the
expression happens to give the right answer.
Fix this bug by abstracting out the "check whether register
is in a scalar bank" and "advance register within bank"
operations to utility functions which use the right
bit masking operations.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:53 +0000 (16:39 +0100)]
target/arm: Convert float-to-integer VCVT insns to decodetree
Convert the float-to-integer VCVT instructions to decodetree.
Since these are the last unconverted instructions, we can
delete the old decoder structure entirely now.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:53 +0000 (16:39 +0100)]
target/arm: Convert VCVT fp/fixed-point conversion insns to decodetree
Convert the VCVT (between floating-point and fixed-point) instructions
to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:52 +0000 (16:39 +0100)]
target/arm: Convert VJCVT to decodetree
Convert the VJCVT instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:52 +0000 (16:39 +0100)]
target/arm: Convert integer-to-float insns to decodetree
Convert the VCVT integer-to-float instructions to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:52 +0000 (16:39 +0100)]
target/arm: Convert double-single precision conversion insns to decodetree
Convert the VCVT double/single precision conversion insns to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:51 +0000 (16:39 +0100)]
target/arm: Convert VFP round insns to decodetree
Convert the VFP round-to-integer instructions VRINTR, VRINTZ and
VRINTX to decodetree.
These instructions were only introduced as part of the "VFP misc"
additions in v8A, so we check this. The old decoder's implementation
was incorrectly providing them even for v7A CPUs.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:51 +0000 (16:39 +0100)]
target/arm: Convert the VCVT-to-f16 insns to decodetree
Convert the VCVTT and VCVTB instructions which convert from
f32 and f64 to f16 to decodetree.
Since we're no longer constrained to the old decoder's style
using cpu_F0s and cpu_F0d we can perform a direct 16 bit
store of the right half of the input single-precision register
rather than doing a load/modify/store sequence on the full
32 bits.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:51 +0000 (16:39 +0100)]
target/arm: Convert the VCVT-from-f16 insns to decodetree
Convert the VCVTT, VCVTB instructions that deal with conversion
from half-precision floats to f32 or 64 to decodetree.
Since we're no longer constrained to the old decoder's style
using cpu_F0s and cpu_F0d we can perform a direct 16 bit
load of the right half of the input single-precision register
rather than loading the full 32 bits and then doing a
separate shift or sign-extension.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:51 +0000 (16:39 +0100)]
target/arm: Convert VFP comparison insns to decodetree
Convert the VFP comparison instructions to decodetree.
Note that comparison instructions should not honour the VFP
short-vector length and stride information: they are scalar-only
operations. This applies to all the 2-operand instructions except
for VMOV, VABS, VNEG and VSQRT. (In the old decoder this is
implemented via the "if (op == 15 && rn > 3) { veclen = 0; }" check.)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:50 +0000 (16:39 +0100)]
target/arm: Convert VMOV (register) to decodetree
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:50 +0000 (16:39 +0100)]
target/arm: Convert VSQRT to decodetree
Convert the VSQRT instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:50 +0000 (16:39 +0100)]
target/arm: Convert VNEG to decodetree
Convert the VNEG instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:49 +0000 (16:39 +0100)]
target/arm: Convert VABS to decodetree
Convert the VFP VABS instruction to decodetree.
Unlike the 3-op versions, we don't pass fpst to the VFPGen2OpSPFn or
VFPGen2OpDPFn because none of the operations which use this format
and support short vectors will need it.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:49 +0000 (16:39 +0100)]
target/arm: Convert VMOV (imm) to decodetree
Convert the VFP VMOV (immediate) instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:49 +0000 (16:39 +0100)]
target/arm: Convert VFP fused multiply-add insns to decodetree
Convert the VFP fused multiply-add instructions (VFNMA, VFNMS,
VFMA, VFMS) to decodetree.
Note that in the old decode structure we were implementing
these to honour the VFP vector stride/length. These instructions
were introduced in VFPv4, and in the v7A architecture they
are UNPREDICTABLE if the vector stride or length are non-zero.
In v8A they must UNDEF if stride or length are non-zero, like
all VFP instructions; we choose to UNDEF always.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:48 +0000 (16:39 +0100)]
target/arm: Convert VDIV to decodetree
Convert the VDIV instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:48 +0000 (16:39 +0100)]
target/arm: Convert VSUB to decodetree
Convert the VSUB instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:48 +0000 (16:39 +0100)]
target/arm: Convert VADD to decodetree
Convert the VADD instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:47 +0000 (16:39 +0100)]
target/arm: Convert VNMUL to decodetree
Convert the VNMUL instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:47 +0000 (16:39 +0100)]
target/arm: Convert VMUL to decodetree
Convert the VMUL instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:47 +0000 (16:39 +0100)]
target/arm: Convert VFP VNMLA to decodetree
Convert the VFP VNMLA instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:46 +0000 (16:39 +0100)]
target/arm: Convert VFP VNMLS to decodetree
Convert the VFP VNMLS instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:46 +0000 (16:39 +0100)]
target/arm: Convert VFP VMLS to decodetree
Convert the VFP VMLS instruction to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:46 +0000 (16:39 +0100)]
target/arm: Convert VFP VMLA to decodetree
Convert the VFP VMLA instruction to decodetree.
This is the first of the VFP 3-operand data processing instructions,
so we include in this patch the code which loops over the elements
for an old-style VFP vector operation. The existing code to do this
looping uses the deprecated cpu_F0s/F0d/F1s/F1d TCG globals; since
we are going to be converting instructions one at a time anyway
we can take the opportunity to make the new loop use TCG temporaries,
which means we can do that conversion one operation at a time
rather than needing to do it all in one go.
We include an UNDEF check which was missing in the old code:
short-vector operations (with stride or length non-zero) were
deprecated in v7A and must UNDEF in v8A, so if the MVFR0 FPShVec
field does not indicate that support for short vectors is present
we UNDEF the operations that would use them. (This is a change
of behaviour for Cortex-A7, Cortex-A15 and the v8 CPUs, which
previously were all incorrectly allowing short-vector operations.)
Note that the conversion fixes a bug in the old code for the
case of VFP short-vector "mixed scalar/vector operations". These
happen where the destination register is in a vector bank but
but the second operand is in a scalar bank. For example
vmla.f64 d10, d1, d16 with length 2 stride 2
is equivalent to the pair of scalar operations
vmla.f64 d10, d1, d16
vmla.f64 d8, d3, d16
where the destination and first input register cycle through
their vector but the second input is scalar (d16). In the
old decoder the gen_vfp_F1_mul() operation uses cpu_F1{s,d}
as a temporary output for the multiply, which trashes the
second input operand. For the fully-scalar case (where we
never do a second iteration) and the fully-vector case
(where the loop loads the new second input operand) this
doesn't matter, but for the mixed scalar/vector case we
will end up using the wrong value for later loop iterations.
In the new code we use TCG temporaries and so avoid the bug.
This bug is present for all the multiply-accumulate insns
that operate on short vectors: VMLA, VMLS, VNMLA, VNMLS.
Note 2: the expression used to calculate the next register
number in the vector bank is not in fact correct; we leave
this behaviour unchanged from the old decoder and will
fix this bug later in the series.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:46 +0000 (16:39 +0100)]
target/arm: Remove VLDR/VSTR/VLDM/VSTM use of cpu_F0s and cpu_F0d
Expand out the sequences in the new decoder VLDR/VSTR/VLDM/VSTM trans
functions which perform the memory accesses by going via the TCG
globals cpu_F0s and cpu_F0d, to use local TCG temps instead.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:45 +0000 (16:39 +0100)]
target/arm: Convert the VFP load/store multiple insns to decodetree
Convert the VFP load/store multiple insns to decodetree.
This includes tightening up the UNDEF checking for pre-VFPv3
CPUs which only have D0-D15 : they now UNDEF for any access
to D16-D31, not merely when the smallest register in the
transfer list is in D16-D31.
This conversion does not try to share code between the single
precision and the double precision versions; this looks a bit
duplicative of code, but it leaves the door open for a future
refactoring which gets rid of the use of the "F0" registers
by inlining the various functions like gen_vfp_ld() and
gen_mov_F0_reg() which are hiding "if (dp) { ... } else { ... }"
conditionalisation.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:45 +0000 (16:39 +0100)]
target/arm: Convert VFP VLDR and VSTR to decodetree
Convert the VFP single load/store insns VLDR and VSTR to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:45 +0000 (16:39 +0100)]
target/arm: Convert VFP two-register transfer insns to decodetree
Convert the VFP two-register transfer instructions to decodetree
(in the v8 Arm ARM these are the "Advanced SIMD and floating-point
64-bit move" encoding group).
Again, we expand out the sequences involving gen_vfp_msr() and
gen_msr_vfp().
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:44 +0000 (16:39 +0100)]
target/arm: Convert "single-precision" register moves to decodetree
Convert the "single-precision" register moves to decodetree:
* VMSR
* VMRS
* VMOV between general purpose register and single precision
Note that the VMSR/VMRS conversions make our handling of
the "should this UNDEF?" checks consistent between the two
instructions:
* VMSR to MVFR0, MVFR1, MVFR2 now UNDEF from EL0
(previously was a nop)
* VMSR to FPSID now UNDEFs from EL0 or if VFPv3 or better
(previously was a nop)
* VMSR to FPINST and FPINST2 now UNDEF if VFPv3 or better
(previously would write to the register, which had no
guest-visible effect because we always UNDEF reads)
We also tighten up the decode: we were previously underdecoding
some SBZ or SBO bits.
The conversion of VMOV_single includes the expansion out of the
gen_mov_F0_vreg()/gen_vfp_mrs() and gen_mov_vreg_F0()/gen_vfp_msr()
sequences into the simpler direct load/store of the TCG temp via
neon_{load,store}_reg32(): we know in the new function that we're
always single-precision, we don't need to use the old-and-deprecated
cpu_F0* TCG globals, and we don't happen to have the declaration of
gen_vfp_msr() and gen_vfp_mrs() at the point in the file where the
new function is.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:44 +0000 (16:39 +0100)]
target/arm: Convert "double-precision" register moves to decodetree
Convert the "double-precision" register moves to decodetree:
this covers VMOV scalar-to-gpreg, VMOV gpreg-to-scalar and VDUP.
Note that the conversion process has tightened up a few of the
UNDEF encoding checks: we now correctly forbid:
* VMOV-to-gpr with U:opc1:opc2 == 10x00 or x0x10
* VMOV-from-gpr with opc1:opc2 == 0x10
* VDUP with B:E == 11
* VDUP with Q == 1 and Vn<0> == 1
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
The accesses of elements < 32 bits could be improved by doing
direct ld/st of the right size rather than 32-bit read-and-shift
or read-modify-write, but we leave this for later cleanup,
since this series is generally trying to stick to fixing
the decode.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:44 +0000 (16:39 +0100)]
target/arm: Add helpers for VFP register loads and stores
The current VFP code has two different idioms for
loading and storing from the VFP register file:
1 using the gen_mov_F0_vreg() and similar functions,
which load and store to a fixed set of TCG globals
cpu_F0s, CPU_F0d, etc
2 by direct calls to tcg_gen_ld_f64() and friends
We want to phase out idiom 1 (because the use of the
fixed globals is a relic of a much older version of TCG),
but idiom 2 is quite longwinded:
tcg_gen_ld_f64(tmp, cpu_env, vfp_reg_offset(true, reg))
requires us to specify the 64-bitness twice, once in
the function name and once by passing 'true' to
vfp_reg_offset(). There's no guard against accidentally
passing the wrong flag.
Instead, let's move to a convention of accessing 64-bit
registers via the existing neon_load_reg64() and
neon_store_reg64(), and provide new neon_load_reg32()
and neon_store_reg32() for the 32-bit equivalents.
Implement the new functions and use them in the code in
translate-vfp.inc.c. We will convert the rest of the VFP
code as we do the decodetree conversion in subsequent
commits.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:43 +0000 (16:39 +0100)]
target/arm: Move the VFP trans_* functions to translate-vfp.inc.c
Move the trans_*() functions we've just created from translate.c
to translate-vfp.inc.c. This is pure code motion with no textual
changes (this can be checked with 'git show --color-moved').
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:43 +0000 (16:39 +0100)]
target/arm: Convert VCVTA/VCVTN/VCVTP/VCVTM to decodetree
Convert the VCVTA/VCVTN/VCVTP/VCVTM instructions to decodetree.
trans_VCVT() is temporarily left in translate.c.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:43 +0000 (16:39 +0100)]
target/arm: Convert VRINTA/VRINTN/VRINTP/VRINTM to decodetree
Convert the VRINTA/VRINTN/VRINTP/VRINTM instructions to decodetree.
Again, trans_VRINT() is temporarily left in translate.c.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:43 +0000 (16:39 +0100)]
target/arm: Convert VMINNM, VMAXNM to decodetree
Convert the VMINNM and VMAXNM instructions to decodetree.
As with VSEL, we leave the trans_VMINMAXNM() function
in translate.c for the moment.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:42 +0000 (16:39 +0100)]
target/arm: Convert the VSEL instructions to decodetree
Convert the VSEL instructions to decodetree.
We leave trans_VSEL() in translate.c for now as this allows
the patch to show just the changes from the old handle_vsel().
In the old code the check for "do D16-D31 exist" was hidden in
the VFP_DREG macro, and assumed that VFPv3 always implied that
D16-D31 exist. In the new code we do the correct ID register test.
This gives identical behaviour for most of our CPUs, and fixes
previously incorrect handling for Cortex-R5F, Cortex-M4 and
Cortex-M33, which all implement VFPv3 or better with only 16
double-precision registers.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:42 +0000 (16:39 +0100)]
target/arm: Explicitly enable VFP short-vectors for aarch32 -cpu max
At the moment our -cpu max for AArch32 supports VFP short-vectors
because we always implement them, even for CPUs which should
not have them. The following commits are going to switch to
using the correct ID-register-check to enable or disable short
vector support, so we need to turn it on explicitly for -cpu max,
because Cortex-A15 doesn't implement it.
We don't enable this for the AArch64 -cpu max, because the v8A
architecture never supports short-vectors.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:42 +0000 (16:39 +0100)]
target/arm: Fix Cortex-R5F MVFR values
The Cortex-R5F initfn was not correctly setting up the MVFR
ID register values. Fill these in, since some subsequent patches
will use ID register checks rather than CPU feature bit checks.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:41 +0000 (16:39 +0100)]
target/arm: Factor out VFP access checking code
Factor out the VFP access checking code so that we can use it in the
leaf functions of the decodetree decoder.
We call the function full_vfp_access_check() so we can keep
the more natural vfp_access_check() for a version which doesn't
have the 'ignore_vfp_enabled' flag -- that way almost all VFP
insns will be able to use vfp_access_check(s) and only the
special-register access function will have to use
full_vfp_access_check(s, ignore_vfp_enabled).
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Peter Maydell [Tue, 11 Jun 2019 15:39:41 +0000 (16:39 +0100)]
target/arm: Add stubs for AArch32 VFP decodetree
Add the infrastructure for building and invoking a decodetree decoder
for the AArch32 VFP encodings. At the moment the new decoder covers
nothing, so we always fall back to the existing hand-written decode.
We need to have one decoder for the unconditional insns and one for
the conditional insns, as otherwise the patterns for conditional
insns would incorrectly match against the unconditional ones too.
Since translate.c is over 14,000 lines long and we're going to be
touching pretty much every line of the VFP code as part of the
decodetree conversion, we create a new translate-vfp.inc.c to hold
the code which deals with VFP in the new scheme. It should be
possible to convert this into a standalone translation unit
eventually, but the conversion process will be much simpler if we
simply #include it midway through translate.c to start with.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Richard Henderson [Tue, 11 Jun 2019 15:39:41 +0000 (16:39 +0100)]
decodetree: Fix comparison of Field
Typo comparing the sign of the field, twice, instead of also comparing
the mask of the field (which itself encodes both position and length).
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id:
20190604154225.26992-1-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Richard Henderson [Sun, 9 Jun 2019 22:22:49 +0000 (15:22 -0700)]
target/arm: Fix output of PAuth Auth
The ARM pseudocode installs the error_code into the original
pointer, not the encrypted pointer. The difference applies
within the 7 bits of pac data; the result should be the sign
extension of bit 55.
Add a testcase to that effect.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Thu, 23 May 2019 15:05:43 +0000 (16:05 +0100)]
hw/core/bus.c: Only the main system bus can have no parent
In commit
80376c3fc2c38fdd453 in 2010 we added a workaround for
some qbus buses not being connected to qdev devices -- if the
bus has no parent object then we register a reset function which
resets the bus on system reset (and unregister it when the
bus is unparented).
Nearly a decade later, we have now no buses in the tree which
are created with non-NULL parents, so we can remove the
workaround and instead just assert that if the bus has a NULL
parent then it is the main system bus.
(The absence of other parentless buses was confirmed by
code inspection of all the callsites of qbus_create() and
qbus_create_inplace() and cross-checked by 'make check'.)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Damien Hedde <damien.hedde@greensocs.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id:
20190523150543.22676-1-peter.maydell@linaro.org
Peter Maydell [Fri, 24 May 2019 12:48:29 +0000 (13:48 +0100)]
hw/arm/smmuv3: Fix decoding of ID register range
The SMMUv3 ID registers cover an area 0x30 bytes in size
(12 registers, 4 bytes each). We were incorrectly decoding
only the first 0x20 bytes.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id:
20190524124829.2589-1-peter.maydell@linaro.org
Peter Maydell [Fri, 10 May 2019 11:03:57 +0000 (12:03 +0100)]
target/arm: Implement NSACR gating of floating point
The NSACR register allows secure code to configure the FPU
to be inaccessible to non-secure code. If the NSACR.CP10
bit is set then:
* NS accesses to the FPU trap as UNDEF (ie to NS EL1 or EL2)
* CPACR.{CP10,CP11} behave as if RAZ/WI
* HCPTR.{TCP11,TCP10} behave as if RAO/WI
Note that we do not implement the NSACR.NSASEDIS bit which
gates only access to Advanced SIMD, in the same way that
we don't implement the equivalent CPACR.ASEDIS and HCPTR.TASE.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id:
20190510110357.18825-1-peter.maydell@linaro.org
Richard Henderson [Sat, 18 May 2019 19:19:34 +0000 (12:19 -0700)]
target/arm: Use tcg_gen_gvec_bitsel
This replaces 3 target-specific implementations for BIT, BIF, and BSL.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id:
20190518191934.21887-3-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Eric Blake [Fri, 10 May 2019 15:17:35 +0000 (10:17 -0500)]
nbd/server: Nicer spelling of max BLOCK_STATUS reply length
Commit
3d068aff (3.0) introduced NBD_MAX_BITMAP_EXTENTS as a limit on
how large we would allow a reply to NBD_CMD_BLOCK_STATUS to grow when
it is visiting a qemu:dirty-bitmap: context. Later, commit
fb7afc79
(3.1) reused the constant to limit base:allocation context replies,
although the name is now less appropriate in that situation.
Rename things, and improve the macro to use units.h for better
legibility. Then reformat the comment to comply with checkpatch rules
added in the meantime. No semantic change.
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <
20190510151735.29687-1-eblake@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Max Reitz [Wed, 8 May 2019 21:18:20 +0000 (23:18 +0200)]
iotests: Let 233 run concurrently
common.nbd's nbd_server_set_tcp_port() tries to find a free port, and
then uses it for the whole test run. However, this is racy because even
if the port was free at the beginning, there is no guarantee it will
continue to be available. Therefore, 233 currently cannot reliably be
run concurrently with other NBD TCP tests.
This patch addresses the problem by dropping nbd_server_set_tcp_port(),
and instead finding a new port every time nbd_server_start_tcp_socket()
is invoked. For this, we run qemu-nbd with --fork and on error evaluate
the output to see whether it contains "Address already in use". If so,
we try the next port.
On success, we still want to continually redirect the output from
qemu-nbd to stderr. To achieve both, we redirect qemu-nbd's stderr to a
FIFO that we then open in bash. If the parent process exits with status
0 (which means that the server has started successfully), we launch a
background cat process that copies the FIFO to stderr. On failure, we
read the whole content into a variable and then evaluate it.
While at it, use --fork in nbd_server_start_unix_socket(), too. Doing
so allows us to drop nbd_server_wait_for_*_socket().
Note that the reason common.nbd did not use --fork before is that
qemu-nbd did not have --pid-file.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <
20190508211820.17851-6-mreitz@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Max Reitz [Wed, 8 May 2019 21:18:19 +0000 (23:18 +0200)]
iotests: Use qemu-nbd's --pid-file
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <
20190508211820.17851-5-mreitz@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Max Reitz [Wed, 8 May 2019 21:18:18 +0000 (23:18 +0200)]
qemu-nbd: Do not close stderr
We kept old_stderr specifically so we could keep emitting error message
on stderr. However, qemu_daemon() closes stderr. Therefore, we need to
dup() stderr to old_stderr before invoking qemu_daemon().
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <
20190508211820.17851-4-mreitz@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Max Reitz [Wed, 8 May 2019 21:18:17 +0000 (23:18 +0200)]
iotests.py: Add qemu_nbd_early_pipe()
qemu_nbd_pipe() currently unconditionally reads qemu-nbd's output. That
is not ideal because qemu-nbd may keep stderr open after the parent
process has exited.
Currently, the only user of qemu_nbd_pipe() is 147, which discards the
whole output if the parent process returned success and only evaluates
it on error. Therefore, we can replace qemu_nbd_pipe() by
qemu_nbd_early_pipe() that does the same: Discard the output on success,
and return it on error.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <
20190508211820.17851-3-mreitz@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Max Reitz [Wed, 8 May 2019 21:18:16 +0000 (23:18 +0200)]
qemu-nbd: Add --pid-file option
--fork is a bit boring if there is no way to get the child's PID. This
option helps.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <
20190508211820.17851-2-mreitz@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Peter Maydell [Thu, 13 Jun 2019 12:25:25 +0000 (13:25 +0100)]
Merge remote-tracking branch 'remotes/kraxel/tags/vga-
20190613-pull-request' into staging
edid: add xmax + ymax properties, enable by default.
# gpg: Signature made Thu 13 Jun 2019 08:38:18 BST
# gpg: using RSA key
4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/vga-
20190613-pull-request:
edid: flip the default to enabled
edid: add xmax + ymax properties
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Thu, 13 Jun 2019 11:57:04 +0000 (12:57 +0100)]
Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-
20190612' into staging
Fix vector arithmetic right shift helpers.
# gpg: Signature made Thu 13 Jun 2019 05:10:11 BST
# gpg: using RSA key
7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg: issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F
* remotes/rth/tags/pull-tcg-
20190612:
tcg: Fix typos in helper_gvec_sar{8,32,64}v
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Thu, 13 Jun 2019 10:58:00 +0000 (11:58 +0100)]
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2019-06-12' into staging
QAPI patches for 2019-06-12
# gpg: Signature made Wed 12 Jun 2019 17:44:50 BST
# gpg: using RSA key
354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-qapi-2019-06-12:
qapi: Simplify how QAPIDoc implements its state machine
file-posix: Add dynamic-auto-read-only QAPI feature
qapi: Allow documentation for features
qapi: Disentangle QAPIDoc code
tests/qapi-schema: Error case tests for features in structs
tests/qapi-schema: Test for good feature lists in structs
qapi: Add feature flags to struct types
block/gluster: update .help of BLOCK_OPT_PREALLOC option
block/file-posix: update .help of BLOCK_OPT_PREALLOC option
qapi/block-core: update documentation of preallocation parameter
qdev: Delete unused LostTickPolicy "merge"
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Chen Zhang [Tue, 4 Jun 2019 09:36:48 +0000 (17:36 +0800)]
ui/cocoa: Fix mouse grabbing in fullscreen mode for relative input device
In fullscreen mode, the window property of cocoaView may not be the key
window, and the current implementation would not re-grab cursor by left click
in fullscreen mode after ungrabbed in fullscreen mode with hot-key ctrl-opt-g.
This patch used value of isFullscreen as a short-cirtuit condition for
relative input device grabbing.
Signed-off-by: Chen Zhang <tgfbeta@me.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id:
2D2F1191-E82F-4B54-A6E7-
73FFB953DE93@me.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Chen Zhang [Tue, 4 Jun 2019 09:36:00 +0000 (17:36 +0800)]
ui/cocoa: Fix absolute input device grabbing issue on Mojave
On Mojave, absolute input device, i.e. tablet, had trouble re-grabbing
the cursor in re-entry into the virtual screen area. In some cases,
the `window` property of NSEvent object was nil after cursor exiting from
window, hinting that the `-locationInWindow` method would return value in
screen coordinates. The current implementation used raw locations from
NSEvent without considering whether the value was for the window coordinates
or the macOS screen coordinates, nor the zooming factor for Zoom-to-Fit in
fullscreen mode.
In fullscreen mode, the fullscreen cocoa window might not be the key
window, therefore the location of event in virtual coordinates should
suffice.
This patches fixed boundary check methods for cursor in normal
and fullscreen with/without Zoom-to-Fit in Mojave.
Note: CGRect, -convertRectToScreen: and -convertRectFromScreen: were
used in coordinates conversion for compatibility reason.
Signed-off-by: Chen Zhang <tgfbeta@me.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id:
FA3FBC4F-5379-4118-B997-
58FE05CC58F9@me.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Thu, 13 Jun 2019 09:00:18 +0000 (10:00 +0100)]
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-gdbstub-cputlb-120619-3' into staging
Various fixes and updates:
- editor config tweak for shell scripts
- iotest updates (still not default for make check)
- various docker updates
- gcc/ubsan updates for travis
- some clean-ups for tests/vm (no serial autoinstall)
- semihosting fix for Coverity
- fixes for cputlb in 64-on-32 cases
- gdbstub re-factor + maintainership update
# gpg: Signature made Wed 12 Jun 2019 17:55:04 BST
# gpg: using RSA key
6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44
* remotes/stsquad/tags/pull-testing-gdbstub-cputlb-120619-3: (40 commits)
gdbstub: Implement qemu physical memory mode
gdbstub: Clear unused variables in gdb_handle_packet
gdbstub: Implement target halted (? pkt) with new infra
gdbstub: Implement generic set/query (Q/q pkt) with new infra
gdbstub: Implement v commands with new infra
gdbstub: Implement step (s pkt) with new infra
gdbstub: Implement file io (F pkt) with new infra
gdbstub: Implement read all registers (g pkt) with new infra
gdbstub: Implement write all registers (G pkt) with new infra
gdbstub: Implement read memory (m pkt) with new infra
gdbstub: Implement write memory (M pkt) with new infra
gdbstub: Implement get register (p pkt) with new infra
gdbstub: Implement set register (P pkt) with new infra
gdbstub: Implement breakpoint commands (Z/z pkt) with new infra
gdbstub: Implement set_thread (H pkt) with new infra
gdbstub: Implement continue with signal (C pkt) with new infra
gdbstub: Implement continue (c pkt) with new infra
gdbstub: Implement thread_alive (T pkt) with new infra
gdbstub: Implement deatch (D pkt) with new infra
gdbstub: Add infrastructure to parse cmd packets
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Gerd Hoffmann [Fri, 7 Jun 2019 08:34:44 +0000 (10:34 +0200)]
edid: flip the default to enabled
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-id:
20190607083444.32175-1-kraxel@redhat.com
Gerd Hoffmann [Fri, 7 Jun 2019 08:34:29 +0000 (10:34 +0200)]
edid: add xmax + ymax properties
Add new properties to allow setting the maximum display resolution.
Resolutions larger than that will not be included in the mode list.
In linux guests xrandr can be used to list modes.
Note: The existing xres and yres properties set the preferred display
resolution, i.e. the mode should be first in the mode list and guests
should use it by default.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id:
20190607083429.31943-1-kraxel@redhat.com
Richard Henderson [Fri, 7 Jun 2019 14:40:19 +0000 (09:40 -0500)]
tcg: Fix typos in helper_gvec_sar{8,32,64}v
The loop is written with scalars, not vectors.
Use the correct type when incrementing.
Fixes: 5ee5c14cacd
Reported-by: Laurent Vivier <lvivier@redhat.com>
Tested-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Jon Doron [Wed, 29 May 2019 06:41:48 +0000 (09:41 +0300)]
gdbstub: Implement qemu physical memory mode
Add a new query/set which changes the memory GDB sees to physical memory
only.
gdb> maint packet qqemu.PhyMemMode
will reply the current phy_mem_mode state (1 for enabled, 0 for disabled)
gdb> maint packet Qqemu.PhyMemMode:1
Will make GDB read/write only to physical memory, set to 0 to disable
Signed-off-by: Jon Doron <arilou@gmail.com>
Message-Id: <
20190529064148.19856-21-arilou@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Jon Doron [Wed, 29 May 2019 06:41:47 +0000 (09:41 +0300)]
gdbstub: Clear unused variables in gdb_handle_packet
Signed-off-by: Jon Doron <arilou@gmail.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <
20190529064148.19856-20-arilou@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Jon Doron [Wed, 29 May 2019 06:41:46 +0000 (09:41 +0300)]
gdbstub: Implement target halted (? pkt) with new infra
Note: The user-mode thread-id has been correctly reported since
bd88c780e6
Signed-off-by: Jon Doron <arilou@gmail.com>
Message-Id: <
20190529064148.19856-19-arilou@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Jon Doron [Wed, 29 May 2019 06:41:45 +0000 (09:41 +0300)]
gdbstub: Implement generic set/query (Q/q pkt) with new infra
The generic set/query packets contains implementation for varioius
sub-commands which are required for GDB and also additional commands
which are QEMU specific.
To see which QEMU specific commands are available use the command
gdb> maintenance packet qqemu.Supported
Currently the only implemented QEMU specific command is the command
that sets the single step behavior.
gdb> maintenance packet qqemu.sstepbits
Will display the MASK bits used to control the single stepping.
gdb> maintenance packet qqemu.sstep
Will display the current value of the mask used when single stepping.
gdb> maintenance packet Qqemu.sstep:HEX_VALUE
Will change the single step mask.
Signed-off-by: Jon Doron <arilou@gmail.com>
Message-Id: <
20190529064148.19856-18-arilou@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Jon Doron [Wed, 29 May 2019 06:41:44 +0000 (09:41 +0300)]
gdbstub: Implement v commands with new infra
Signed-off-by: Jon Doron <arilou@gmail.com>
Message-Id: <
20190529064148.19856-17-arilou@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>