public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 0/6] read-only UDF file system support
@ 2017-08-20 18:15 Paulo Alcantara
  2017-08-20 18:15 ` [PATCH v2 1/6] MdePkg: Add UDF volume structure definitions Paulo Alcantara
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Paulo Alcantara @ 2017-08-20 18:15 UTC (permalink / raw)
  To: edk2-devel
  Cc: Paulo Alcantara, Laszlo Ersek, Jordan Justen, Andrew Fish,
	Michael D Kinney, Liming Gao, Star Zeng, Eric Dong, Mark Doran,
	Ruiyu Ni, hao.a.wu

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
existing file system support, but extending EDK2 with a new file system
that might be useful for some people who are looking for specific file
system features 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.

Repo:   https://github.com/pcacjr/edk2.git
Branch: udf-fs

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Mark Doran <mark.doran@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: hao.a.wu@intel.com
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
---

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     |  307 +++
 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   | 2375 ++++++++++++++++++++
 MdeModulePkg/Universal/Disk/UdfDxe/Udf.c           |  415 ++++
 MdeModulePkg/Universal/Disk/UdfDxe/Udf.h           | 1246 ++++++++++
 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, 5804 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



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2017-08-22 22:34 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-20 18:15 [PATCH v2 0/6] read-only UDF file system support Paulo Alcantara
2017-08-20 18:15 ` [PATCH v2 1/6] MdePkg: Add UDF volume structure definitions Paulo Alcantara
2017-08-20 18:15 ` [PATCH v2 2/6] MdeModulePkg/PartitionDxe: Add UDF file system support Paulo Alcantara
2017-08-20 18:15 ` [PATCH v2 3/6] MdeModulePkg: Initial UDF/ECMA-167 " Paulo Alcantara
2017-08-20 18:15 ` [PATCH v2 4/6] OvmfPkg: Enable UDF " Paulo Alcantara
2017-08-21 16:14   ` Laszlo Ersek
2017-08-20 18:15 ` [PATCH v2 5/6] ArmVirtPkg: " Paulo Alcantara
2017-08-21 15:35   ` Ard Biesheuvel
2017-08-21 16:11   ` Laszlo Ersek
2017-08-20 18:15 ` [PATCH v2 6/6] Nt32Pkg: " Paulo Alcantara
2017-08-21  2:29 ` [PATCH v2 0/6] read-only " Ni, Ruiyu
2017-08-21  2:37   ` Gao, Liming
2017-08-22 13:23     ` Paulo Alcantara
2017-08-22 13:14   ` Paulo Alcantara
2017-08-22 17:21     ` Andrew Fish
2017-08-22 17:56       ` Paulo Alcantara
2017-08-22 22:36         ` Andrew Fish
2017-08-22 17:58       ` Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox