| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Eliminates variable shadowing cases across all the loaders to bring us
closer to enabling variable shadowing as an error in core.
|
|
|
|
|
|
|
|
|
| |
During the transition to make the error dialog translatable, I
accidentally got rid of the conversion to ResultStatus, which prevented
operator<< from being invoked during formatting.
This adds a function to directly retrieve the result status string
instead so that it displays again.
|
| |
|
|
|
|
|
|
|
| |
With this, only 19 usages of the global system instance remain within
the core library.
We're almost there.
|
|
|
|
|
|
|
|
|
| |
Now all that remains is:
18 instances in file_sys code
14 instances in GDB stub code (this can be tossed wholesale)
4 instances in HLE code
2 instances in settings code.
|
|\
| |
| | |
loader, file_sys: Add support for parsing and loading KIP (Kernel Internal Process) files
|
| | |
|
| | |
|
|\ \
| | |
| | | |
core: Add detailed local reporting feature for development
|
| |/
| |
| | |
Also cleanup of general stuff
|
|/
|
|
| |
This is a hold-over from Citra and doesn't apply to yuzu.
|
|
|
|
|
|
|
|
|
| |
This gives us significantly more control over where in the
initialization process we start execution of the main process.
Previously we were running the main process before the CPU or GPU
threads were initialized (not good). This amends execution to start
after all of our threads are properly set up.
|
| |
|
| |
|
|\
| |
| | |
kernel: Handle kernel capability descriptors
|
| |
| |
| |
| |
| | |
While we're at it, we can also toss out the leftover capability parsing
from Citra.
|
|/ |
|
|\
| |
| | |
patch_manager: Add support for disabling patches
|
| | |
|
|/
|
|
|
|
| |
No implementations actually modify instance state (and it would be
questionable to do that in the first place given the name), so we can
make this a const member function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* get rid of boost::optional
* Remove optional references
* Use std::reference_wrapper for optional references
* Fix clang format
* Fix clang format part 2
* Adressed feedback
* Fix clang format and MacOS build
|
|
|
|
|
| |
If a malformed NSO is attempted to be loaded, we shouldn't continue
onwards. We should be reporting an error and bailing out.
|
|
|
|
| |
Reads the update included with the game if it has one and adds the new ErrorNoPackedUpdate status.
|
|
|
|
|
|
|
|
| |
A process should never require being reference counted in this
situation. If the handle to a process is freed before this function is
called, it's definitely a bug with our lifetime management, so we can
put the requirement in place for the API that the process must be a
valid instance.
|
|
|
|
| |
Fixes base game read errors
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Eliminates the need to rebuild some source files if the file_util header
ever changes. This also uncovered some indirect inclusions, which have
also been fixed.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
We can make the enum class type compatible with fmt by providing an
overload of operator<<.
While we're at it, perform proper bounds checking. If something exceeds
the array, it should be a hard fail, because it's, without a doubt, a
programmer error in this case.
|
|
|
|
| |
These mappings are leftovers from citra and don't apply to the Switch.
|
| |
|
|
|
| |
Full list of new errors and descriptions in core/loader/loader.h
|
| |
|
| |
|
|\
| |
| | |
XCI and Encrypted NCA Support
|
| | |
|
| | |
|
|/
|
|
|
|
| |
General moving to keep kernel object types separate from the direct
kernel code. Also essentially a preliminary cleanup before eliminating
global kernel state in the kernel code.
|
|
|
|
|
| |
Avoids unwanted implicit conversions. Thankfully, given the large amount
of cleanup in past PRs, only this tiny amount is left over to cover.
|
|
|
|
| |
These weren't adjusted when VFS was introduced
|
|
|
|
|
|
|
|
|
|
| |
* Virtual Filesystem
* Fix delete bug and documentate
* Review fixes + other stuff
* Fix puyo regression
|
|
|
|
| |
This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add VfsFile and VfsDirectory classes
* Finish abstract Vfs classes
* Implement RealVfsFile (computer fs backend)
* Finish RealVfsFile and RealVfsDirectory
* Finished OffsetVfsFile
* More changes
* Fix import paths
* Major refactor
* Remove double const
* Use experimental/filesystem or filesystem depending on compiler
* Port partition_filesystem
* More changes
* More Overhaul
* FSP_SRV fixes
* Fixes and testing
* Try to get filesystem to compile
* Filesystem on linux
* Remove std::filesystem and document/test
* Compile fixes
* Missing include
* Bug fixes
* Fixes
* Rename v_file and v_dir
* clang-format fix
* Rename NGLOG_* to LOG_*
* Most review changes
* Fix TODO
* Guess 'main' to be Directory by filename
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Start to add NCA support in loader
* More nca stuff
* More changes to nca.cpp
* Now identifies decrypted NCA cont.
* Game list fixes and more structs and stuff
* More updates to Nca class
* Now reads ExeFs (i think)
* ACTUALLY LOADS EXEFS!
* RomFS loads and games execute
* Cleanup and Finalize
* plumbing, cleanup and testing
* fix some things that i didnt think of before
* Preliminary Review Changes
* Review changes for bunnei and subv
|
|
|
|
|
|
| |
* core, main.h: Abort on 32Bit ROMs
* main.cpp: Fix Grammar
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
# Conflicts:
# src/core/CMakeLists.txt
# src/core/arm/dynarmic/arm_dynarmic.cpp
# src/core/arm/dyncom/arm_dyncom.cpp
# src/core/hle/kernel/process.cpp
# src/core/hle/kernel/thread.cpp
# src/core/hle/kernel/thread.h
# src/core/hle/kernel/vm_manager.cpp
# src/core/loader/3dsx.cpp
# src/core/loader/elf.cpp
# src/core/loader/ncch.cpp
# src/core/memory.cpp
# src/core/memory.h
# src/core/memory_setup.h
|
| |
| |
| |
| | |
The loaders will now just create a Kernel::Process, construct it and return it to the caller, which is responsible for setting it as the current process and configuring the global page table.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* loader/ncch: split NCCH parsing into its own file
* loader/ncch: add support for loading update NCCHs from the SD card
* loader/ncch: fix formatting
* file_sys/ncch_container: Return a value for OpenFile
* loader/ncch: cleanup, always instantiate overlay_ncch to base_ncch
* file_sys/ncch_container: better encryption checks, allow non-app NCCHs to load properly and for the existence of NCCH structures to be checked
* file_sys/ncch_container: pass filepath as a const reference
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
| |
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System.
- Fixed design flaw where the message bar status could be set despite the game being stopped.
|
| |
|
|
|
|
|
|
|
|
| |
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review).
- Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore.
- Made dialog messages more clear.
- Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic.
- Cleaned up some other stuff.
|
| |
|
|
|
|
|
|
|
|
|
| |
Corrects a few issues with regards to Doxygen documentation, for example:
- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.
and a few minor other issues.
|
| |
|
|
|
|
|
|
|
| |
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
|
|
|
|
|
|
|
| |
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
|
|
|
|
|
|
|
| |
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
|
| |
|
| |
|
|
|
|
| |
Also rewrite Qt wrappers to use those.
|
| |
|
| |
|
|
|
|
|
| |
This allows frontends to keep a single loader and use it multiple times
e.g. for code loading and SMDH parsing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It is of very limited practical utility currently, and will soon be
impossible to support due to more accurate memory map emulation.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- Useful for debugging homebrew
Qt: Updated GUI to support loading .bin files.
|
| |
|
|
|
|
| |
- Required "file" handle to be made local and explicitly opened/closed as needed
|
|
|
|
| |
NCCH: Removed extra qualification ‘Loader::AppLoader_NCCH::’.
|
|
|
|
| |
NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
|
| |
|
|
|
|
| |
Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Various cleanups/refactorings to Loader, ELF, and NCCH modules.
- Added AppLoader interface to ELF and NCCH.
- Updated Qt/GLFW frontends to check AppLoader ResultStatus.
NCCH: Removed extra qualification typos.
Loader: Removed unnecessary #include's.
NCCH: Improved readability of memcmp statements.
NCCH: Added missing space.
Elf: Removed unnecessary usage of unique_ptr.
Loader: Removed unnecessary usage of unique_ptr.
|
| |
|
|
|