From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.zytor.com (terminus.zytor.com [65.50.211.136]) (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 A62A22095DB90 for ; Tue, 8 Aug 2017 12:32:50 -0700 (PDT) Received: from localhost.localdomain ([IPv6:2804:7f4:c480:4886:0:0:0:4]) (authenticated bits=0) by mail.zytor.com (8.15.2/8.15.2) with ESMTPSA id v78JWiKK019064 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 8 Aug 2017 12:32:46 -0700 From: Paulo Alcantara To: edk2-devel@lists.01.org Cc: Paulo Alcantara , Laszlo Ersek , Jordan Justen , Andrew Fish , Michael D Kinney , Liming Gao , Star Zeng , Eric Dong , Mark Doran Date: Tue, 8 Aug 2017 16:31:39 -0300 Message-Id: <20170808193143.18128-1-pcacjr@zytor.com> X-Mailer: git-send-email 2.11.0 Subject: [PATCH 0/4] 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: Tue, 08 Aug 2017 19:32:50 -0000 Hi, I'm posting this series again after ~3 years that introduces UDF file system support in UEFI. Why? Because Laszlo (or Red Hat) seemed to be interested in such support. I started working on this driver just as an excuse to learn UEFI development at that time. This work isn't based on any previous one and it's BSD licensed. I also *never* intended to replace it with the default FAT file system. On the contrary, I was looking to give people an opportunity to use file system features that current FAT file system lacks. This series was never reviewed or fully tested. I basically used Linux and mkudffs[1] to test different UDF disks, as well as booting a Linux (EFI stub) rootfs from UDF file systems. Please, I'd really appreciate if some of one could help reviewing or testing it. Note that UDF file system support was *only* added to OVMF platform and it's disabled by default through UDF_ENABLE build option. There's also a feature PCD flag that turns on or off parsing of UDF volumes during partition discovery in PartitionDxe driver. Branch: https://github.com/pcacjr/edk2/tree/udf-fs 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 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Paulo Alcantara --- Paulo Alcantara (4): MdeModulePkg/PartitionDxe: Add UDF/ECMA-167 file system support MdeModulePkg: Initial UDF/ECMA-167 file system support MdeModulePkg/UdfDxe: Add seek, read and listing support on files OvmfPkg: Introduce UDF_ENABLE build flag MdeModulePkg/MdeModulePkg.dec | 6 + .../Universal/Disk/PartitionDxe/Partition.c | 3 +- .../Universal/Disk/PartitionDxe/Partition.h | 41 +- .../Universal/Disk/PartitionDxe/PartitionDxe.inf | 10 +- MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c | 335 +++ MdeModulePkg/Universal/Disk/UdfDxe/ComponentName.c | 185 ++ MdeModulePkg/Universal/Disk/UdfDxe/File.c | 901 +++++++ MdeModulePkg/Universal/Disk/UdfDxe/FileName.c | 195 ++ .../Universal/Disk/UdfDxe/FileSystemOperations.c | 2532 ++++++++++++++++++++ MdeModulePkg/Universal/Disk/UdfDxe/Udf.c | 407 ++++ MdeModulePkg/Universal/Disk/UdfDxe/Udf.h | 1276 ++++++++++ MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf | 66 + MdePkg/Include/IndustryStandard/Udf.h | 78 + OvmfPkg/OvmfPkgIa32.dsc | 7 + OvmfPkg/OvmfPkgIa32.fdf | 3 + OvmfPkg/OvmfPkgIa32X64.dsc | 7 + OvmfPkg/OvmfPkgIa32X64.fdf | 3 + OvmfPkg/OvmfPkgX64.dsc | 7 + OvmfPkg/OvmfPkgX64.fdf | 3 + 19 files changed, 6057 insertions(+), 8 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