From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 69D9921E3EA96 for ; Mon, 4 Sep 2017 06:39:35 -0700 (PDT) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Sep 2017 06:42:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,474,1498546800"; d="scan'208";a="147302044" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga005.fm.intel.com with ESMTP; 04 Sep 2017 06:42:23 -0700 Received: from fmsmsx115.amr.corp.intel.com (10.18.116.19) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 4 Sep 2017 06:42:22 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx115.amr.corp.intel.com (10.18.116.19) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 4 Sep 2017 06:42:22 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.117]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.98]) with mapi id 14.03.0319.002; Mon, 4 Sep 2017 21:42:20 +0800 From: "Ni, Ruiyu" To: Paulo Alcantara , "edk2-devel@lists.01.org" CC: Laszlo Ersek , "Justen, Jordan L" , Andrew Fish , "Kinney, Michael D" , "Gao, Liming" , "Zeng, Star" , "Dong, Eric" , "Doran, Mark" , "Wu, Hao A" Thread-Topic: [PATCH v4 0/6] read-only UDF file system support Thread-Index: AQHTHQJ0KghwkJyzykiqY2j52uU4g6KkyZGA Date: Mon, 4 Sep 2017 13:42:19 +0000 Deferred-Delivery: Mon, 4 Sep 2017 13:30:00 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BA23389@SHSMSX104.ccr.corp.intel.com> References: In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v4 0/6] read-only UDF file system support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Sep 2017 13:39:35 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Ruiyu Ni -----Original Message----- From: Paulo Alcantara [mailto:pcacjr@zytor.com]=20 Sent: Friday, August 25, 2017 1:56 AM To: edk2-devel@lists.01.org Cc: Paulo Alcantara ; Laszlo Ersek ; J= usten, Jordan L ; Andrew Fish ;= Kinney, Michael D ; Gao, Liming ; Zeng, Star ; Dong, Eric ; Doran, Mark ; Ni, Ruiyu ; Wu, = Hao A Subject: [PATCH v4 0/6] read-only UDF file system support Hi, This series introduces read-only UDF file system support in EDK2. As Laszlo= (or Red Hat) seemed to be interested in such support, I'm posting it again= after ~3 years. The idea is not replacing the default FAT file system, nor breaking any exi= sting file system support, but extending EDK2 with a new file system that m= ight be useful for some people who are looking for specific file system fea= tures that current FAT doesn't support. Originally the driver was written to support UDF file systems as specified = by OSTA Universal Disk Format Specification 2.60. However, some Windows 10 = Enterprise ISO (UDF bridge) images that I tested supported a revision of 1.= 02 thus I had to rework the driver a little bit to support such revision as= well. v2: - Rework to _partially_ support UDF revisions <2.60. - Use existing CDROM_VOLUME_DESCRIPTOR structure defined in Eltorito.h instead of creating another one (UDF_VOLUME_DESCRIPTOR). - Fixed UdfDxe to correctly follow UEFI driver model. - Use HARDDRIVE_DEVICE_PATH instead of a vendor-defined one. - Detect UDF file systems only in PartitionDxe, and let UdfDxe driver check for specific UDF device path to decide whether or not install SimpleFs protocol. - Place MdePkg changes in a separate patch. v3: - Install UDF partition child handles with a Vendor-Defined Media Device Path. - Changed UdfDxe to check for Vendor-Defined Media Device Paths with a specific UDF file system GUID when determining to whether or not start the driver. - Removed leading TAB chars in some source files identified by PatchCheck.py tool. v4: - Added missing R-b's. Repo: https://github.com/pcacjr/edk2.git Branch: udf-fs-v4 Cc: Laszlo Ersek Cc: Jordan Justen Cc: Andrew Fish Cc: Michael D Kinney Cc: Liming Gao Cc: Star Zeng Cc: Eric Dong Cc: Mark Doran Cc: Ruiyu Ni Cc: hao.a.wu@intel.com Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Paulo Alcantara --- Paulo Alcantara (6): MdePkg: Add UDF volume structure definitions MdeModulePkg/PartitionDxe: Add UDF file system support MdeModulePkg: Initial UDF/ECMA-167 file system support OvmfPkg: Enable UDF file system support ArmVirtPkg: Enable UDF file system support Nt32Pkg: Enable UDF file system support ArmVirtPkg/ArmVirtQemu.dsc | 3 +- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 3 +- ArmVirtPkg/ArmVirtQemuKernel.dsc | 3 +- ArmVirtPkg/ArmVirtXen.dsc | 3 +- ArmVirtPkg/ArmVirtXen.fdf | 1 + .../Universal/Disk/PartitionDxe/Partition.c | 9 +- .../Universal/Disk/PartitionDxe/Partition.h | 32 +- .../Universal/Disk/PartitionDxe/PartitionDxe.inf | 3 +- MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c | 318 +++ MdeModulePkg/Universal/Disk/UdfDxe/ComponentName.c | 185 ++ MdeModulePkg/Universal/Disk/UdfDxe/File.c | 903 ++++++++ MdeModulePkg/Universal/Disk/UdfDxe/FileName.c | 195 ++ .../Universal/Disk/UdfDxe/FileSystemOperations.c | 2447 ++++++++++++++++= ++++ MdeModulePkg/Universal/Disk/UdfDxe/Udf.c | 344 +++ MdeModulePkg/Universal/Disk/UdfDxe/Udf.h | 1244 ++++++++++ MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf | 66 + MdePkg/Include/IndustryStandard/Udf.h | 60 + Nt32Pkg/Nt32Pkg.dsc | 1 + Nt32Pkg/Nt32Pkg.fdf | 1 + OvmfPkg/OvmfPkgIa32.dsc | 1 + OvmfPkg/OvmfPkgIa32.fdf | 1 + OvmfPkg/OvmfPkgIa32X64.dsc | 1 + OvmfPkg/OvmfPkgIa32X64.fdf | 1 + OvmfPkg/OvmfPkgX64.dsc | 1 + OvmfPkg/OvmfPkgX64.fdf | 1 + 25 files changed, 5816 insertions(+), 11 deletions(-) create mode 100644 = MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/ComponentName.c create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/File.c create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/FileName.c create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations= .c create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/Udf.c create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/Udf.h create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf create mode 100644 MdePkg/Include/IndustryStandard/Udf.h -- 2.11.0