From 3a1899d143b6b50da6c1ed4fcc03390ef210df75 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 10 Apr 2019 12:07:29 -0400 Subject: bis_factory: Add accessors for BIS partitions --- src/core/file_sys/bis_factory.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/core/file_sys/bis_factory.h') diff --git a/src/core/file_sys/bis_factory.h b/src/core/file_sys/bis_factory.h index 453c11ad2..f8413d4ef 100644 --- a/src/core/file_sys/bis_factory.h +++ b/src/core/file_sys/bis_factory.h @@ -10,6 +10,23 @@ namespace FileSys { +enum class BisPartitionId : u32 { + UserDataRoot = 20, + CalibrationBinary = 27, + CalibrationFile = 28, + BootConfigAndPackage2Part1 = 21, + BootConfigAndPackage2Part2 = 22, + BootConfigAndPackage2Part3 = 23, + BootConfigAndPackage2Part4 = 24, + BootConfigAndPackage2Part5 = 25, + BootConfigAndPackage2Part6 = 26, + SafeMode = 29, + System = 31, + SystemProperEncryption = 32, + SystemProperPartition = 33, + User = 30, +}; + class RegisteredCache; /// File system interface to the Built-In Storage @@ -26,6 +43,9 @@ public: VirtualDir GetModificationLoadRoot(u64 title_id) const; VirtualDir GetModificationDumpRoot(u64 title_id) const; + VirtualDir OpenPartition(BisPartitionId id) const; + VirtualFile OpenPartitionStorage(BisPartitionId id) const; + private: VirtualDir nand_root; VirtualDir load_root; -- cgit v1.2.3 From 4dae5a52a832cc3c4679aba80fd8b15c56ded93a Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 10 Apr 2019 12:08:39 -0400 Subject: bis_factory: Add accessors for BIS content directories --- src/core/file_sys/bis_factory.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/core/file_sys/bis_factory.h') diff --git a/src/core/file_sys/bis_factory.h b/src/core/file_sys/bis_factory.h index f8413d4ef..bfebceeaf 100644 --- a/src/core/file_sys/bis_factory.h +++ b/src/core/file_sys/bis_factory.h @@ -37,6 +37,9 @@ public: explicit BISFactory(VirtualDir nand_root, VirtualDir load_root, VirtualDir dump_root); ~BISFactory(); + VirtualDir GetSystemNANDContentDirectory() const; + VirtualDir GetUserNANDContentDirectory() const; + RegisteredCache* GetSystemNANDContents() const; RegisteredCache* GetUserNANDContents() const; -- cgit v1.2.3 From 9bee8852829bfb99025397186d9d1b2e7dec9c30 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 10 Apr 2019 12:09:25 -0400 Subject: bis_factory: Add accessor for NAND Image Directory --- src/core/file_sys/bis_factory.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/core/file_sys/bis_factory.h') diff --git a/src/core/file_sys/bis_factory.h b/src/core/file_sys/bis_factory.h index bfebceeaf..38dcd28dc 100644 --- a/src/core/file_sys/bis_factory.h +++ b/src/core/file_sys/bis_factory.h @@ -49,6 +49,8 @@ public: VirtualDir OpenPartition(BisPartitionId id) const; VirtualFile OpenPartitionStorage(BisPartitionId id) const; + VirtualDir GetImageDirectory() const; + private: VirtualDir nand_root; VirtualDir load_root; -- cgit v1.2.3 From b71bda45ae26695665bba45e7a3f84ae5a13d2b3 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 10 Apr 2019 12:10:38 -0400 Subject: bis_factory: Add accessors for BIS placeholder caches --- src/core/file_sys/bis_factory.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/core/file_sys/bis_factory.h') diff --git a/src/core/file_sys/bis_factory.h b/src/core/file_sys/bis_factory.h index 38dcd28dc..6229cd5a9 100644 --- a/src/core/file_sys/bis_factory.h +++ b/src/core/file_sys/bis_factory.h @@ -28,6 +28,7 @@ enum class BisPartitionId : u32 { }; class RegisteredCache; +class PlaceholderCache; /// File system interface to the Built-In Storage /// This is currently missing accessors to BIS partitions, but seemed like a good place for the NAND @@ -43,6 +44,9 @@ public: RegisteredCache* GetSystemNANDContents() const; RegisteredCache* GetUserNANDContents() const; + PlaceholderCache* GetSystemNANDPlaceholder() const; + PlaceholderCache* GetUserNANDPlaceholder() const; + VirtualDir GetModificationLoadRoot(u64 title_id) const; VirtualDir GetModificationDumpRoot(u64 title_id) const; @@ -58,6 +62,9 @@ private: std::unique_ptr sysnand_cache; std::unique_ptr usrnand_cache; + + std::unique_ptr sysnand_placeholder; + std::unique_ptr usrnand_placeholder; }; } // namespace FileSys -- cgit v1.2.3 From e47b57a90fb2123a2c4d98f4f990b61976c0ea1f Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Tue, 16 Apr 2019 14:27:34 -0400 Subject: bis_factory: Add getters for NAND partition sizes --- src/core/file_sys/bis_factory.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/core/file_sys/bis_factory.h') diff --git a/src/core/file_sys/bis_factory.h b/src/core/file_sys/bis_factory.h index 6229cd5a9..bdfe728c9 100644 --- a/src/core/file_sys/bis_factory.h +++ b/src/core/file_sys/bis_factory.h @@ -55,6 +55,12 @@ public: VirtualDir GetImageDirectory() const; + u64 GetSystemNANDFreeSpace() const; + u64 GetSystemNANDTotalSpace() const; + u64 GetUserNANDFreeSpace() const; + u64 GetUserNANDTotalSpace() const; + u64 GetFullNANDTotalSpace() const; + private: VirtualDir nand_root; VirtualDir load_root; -- cgit v1.2.3