mirror of https://github.com/acidanthera/audk.git
1fbe8276c4
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=725 Historically many drives or medias do not correctly return their value for block N - which is also referred as last addressable/recorded block. When they do so, there is still a problem when relying on last recorded block number returned by SCSI commands READ CAPACITY and READ TRACK INFORMATION - that is, between block 0 and block N there may be unwritten blocks which are located outside any track. That said, the Partition driver was unable to find AVDP at block N on certain medias that do not either return or report their last recorded block number correctly. Apparently there is no official or correct way to find the correct block number, however tools like the Philips UDF Conformance Tool (udf_test) apply a correction by searching for an AVDP or VAT in blocks N through N-456 -- this can be observed by looking at the log reported by udf_test on those CD/DVD medias. So, if the AVDP or VAT is found, then it sets the last recorded block number to where AVDP or VAT was located. With the below setence in UDF 2.60, 6.13.2.2 Background Physical Formatting: "... the second AVDP must be recorded after the Background physical Formatting has been finished..." Implies that the last recorded block is the one where second AVDP was recorded. This patch implements a similar way to correct the last recorded block number by searching for last AVDP in blocks N-1 through N-512 on those certain medias, as well as ensure a minimum number of 2 AVDPs found as specified by ECMA 167 and UDF 2.60 specifications. Cc: Hao Wu <hao.a.wu@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Eric Dong <eric.dong@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Reported-by: Hao Wu <hao.a.wu@intel.com> Signed-off-by: Paulo Alcantara <pcacjr@zytor.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> |
||
---|---|---|
AppPkg | ||
ArmPkg | ||
ArmPlatformPkg | ||
ArmVirtPkg | ||
BaseTools | ||
BeagleBoardPkg | ||
Conf | ||
CorebootModulePkg | ||
CorebootPayloadPkg | ||
CryptoPkg | ||
DuetPkg | ||
EdkCompatibilityPkg | ||
EdkShellBinPkg | ||
EdkShellPkg | ||
EmbeddedPkg | ||
EmulatorPkg | ||
FatBinPkg | ||
FatPkg | ||
IntelFrameworkModulePkg | ||
IntelFrameworkPkg | ||
IntelFsp2Pkg | ||
IntelFsp2WrapperPkg | ||
IntelFspPkg | ||
IntelFspWrapperPkg | ||
IntelSiliconPkg | ||
MdeModulePkg | ||
MdePkg | ||
NetworkPkg | ||
Nt32Pkg | ||
Omap35xxPkg | ||
OptionRomPkg | ||
OvmfPkg | ||
PcAtChipsetPkg | ||
PerformancePkg | ||
QuarkPlatformPkg | ||
QuarkSocPkg | ||
SecurityPkg | ||
ShellBinPkg | ||
ShellPkg | ||
SignedCapsulePkg | ||
SourceLevelDebugPkg | ||
StdLib | ||
StdLibPrivateInternalFiles | ||
UefiCpuPkg | ||
UnixPkg | ||
Vlv2DeviceRefCodePkg | ||
Vlv2TbltDevicePkg | ||
.gitignore | ||
BuildNotes2.txt | ||
Contributions.txt | ||
Edk2Setup.bat | ||
License.txt | ||
Maintainers.txt | ||
Readme.md | ||
edksetup.bat | ||
edksetup.sh |
Readme.md
EDK II Project
A modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications from www.uefi.org.
Contributions to the EDK II open source project are covered by the TianoCore Contribution Agreement 1.1
The majority of the content in the EDK II open source project uses a BSD 2-Clause License. The EDK II open source project contains the following components that are covered by additional licenses:
- AppPkg/Applications/Python/Python-2.7.2/Tools/pybench
- AppPkg/Applications/Python/Python-2.7.2
- AppPkg/Applications/Python/Python-2.7.10
- BaseTools/Source/C/BrotliCompress
- MdeModulePkg/Library/BrotliCustomDecompressLib
- OvmfPkg
- CryptoPkg/Library/OpensslLib/openssl
The EDK II Project is composed of packages. The maintainers for each package are listed in Maintainers.txt.