summaryrefslogtreecommitdiff
path: root/src/core/loader/ncch.cpp
AgeCommit message (Collapse)Author
2017-10-12Remove lots more 3DS-specific code.bunnei
2017-10-09Merge remote-tracking branch 'upstream/master' into nxbunnei
# 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
2017-10-01file_sys, loader: add support for reading TMDs to determine app pathsshinyquagsire23
2017-09-30nso: Refactor and allocate .bss section.bunnei
2017-09-26Loaders: Don't automatically set the current process every time we load an ↵Subv
application. 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.
2017-09-25HLE/Archives: Allow multiple loaded applications to access their SelfNCCH ↵Subv
archive independently. The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session. When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc). 3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time.
2017-09-25Merge pull request #2952 from MerryMage/page-tablesB3n30
Switchable Page Tables
2017-09-25Loader/NCCH: Add support for loading application updates (#2927)Max Thomas
* 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
2017-09-24memory: Add GetCurrentPageTable/SetCurrentPageTableMerryMage
Don't expose Memory::current_page_table as a global.
2017-09-10Kernel/Memory: Give each Process its own page table.Subv
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
2017-08-19Added missing parts in libnetwork (#2838)B3n30
* Network: Set and send the game information over enet Added Callbacks for RoomMember and GetMemberList to Room in preparation for web_services.
2017-08-03loader: Expose program title.bunnei
2017-07-17telemetry: Log performance, configuration, and system data.bunnei
2017-06-02Made some changes from review comments:TheKoopaKingdom
- 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.
2017-06-02Fixed encrypted ROM error messages.TheKoopaKingdom
2017-05-24telemetry: Log a few simple data fields throughout core.bunnei
2017-03-08loader/ncch: less verbose log for loading game list. only log program ID ↵wwylele
when booting
2017-02-13loader: use self NCCH archivewwylele
2017-01-04Fix some warnings (#2399)Jonathan Hao
2016-12-29Merge pull request #2240 from wwylele/auto-regionbunnei
Config: auto-select region and language
2016-12-15loader: Implement ReadProgramIdMerryMage
2016-12-07Config: auto-select region and languagewwylele
2016-11-27Kernel/Loader: Grab the system mode from the NCCH ExHeader.Subv
3dsx and elf files default to system mode 2 (96MB allocated to the application). This allows Home Menu to boot without modifications. Closes #1849
2016-11-19Kernel/Loader: Grab the system mode from the NCCH ExHeader.Subv
3dsx and elf files default to system mode 2 (96MB allocated to the application). This allows Home Menu to boot without modifications. Closes #1849
2016-10-20Fix typosRicardo de Almeida Gonzaga
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot
2016-05-21Loader, Frontends: Refactor loader creation and game loadingEmmanuel Gil Peyrot
This allows frontends to keep a single loader and use it multiple times e.g. for code loading and SMDH parsing.
2016-05-08Merge pull request #1766 from Subv/log_cpubunnei
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1)
2016-05-07Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).Subv
We do not currently implement any cores other than the AppCore (Core 0).
2016-05-04add icon & title to game listwwylele
2016-04-23ncch: Use correct format specifier (for long long uint)Sam Spilsbury
2016-04-14ncch:only decompress .code sectionwwylele
2016-04-05Common: Remove Common::make_unique, use std::make_uniqueMerryMage
2016-03-04Loader/NCCH: Log the program ID during loadingYuri Kunde Schlesner
This is useful for all sorts of things, but mainly to identify save folders more easily.
2015-10-10Loader: Change NCCH header types to be explicitly little-endianGareth Poole
2015-10-10Loader: Implement encryption checkGareth Poole
2015-07-13Loader: Remove unnecessary pointer indirection to IOFileYuri Kunde Schlesner
2015-07-13FS: Stream RomFS from file instead of loading all of it to memorycondut
2015-07-11Core: Properly configure address space when loading a binaryYuri Kunde Schlesner
The code now properly configures the process image to match the loaded binary segments (code, rodata, data) instead of just blindly allocating a large chunk of dummy memory.
2015-07-10Merge pull request #876 from linkmauve/include-cleanupsYuri Kunde Schlesner
Cleanup includes, mostly in common
2015-07-08Loader: Remove log line causing warningaroulin
2015-06-28CitraQt: Cleanup includes.Emmanuel Gil Peyrot
2015-05-14Core/ResourceLimits: Implemented the basic structure of ResourceLimits.Subv
Implemented svcs GetResourceLimit, GetResourceLimitCurrentValues and GetResourceLimitLimitValues. Note that the resource limits do not currently keep track of used objects, since we have no way to distinguish between an object created by the application, and an object created by some HLE module once we're inside Kernel::T::Create.
2015-05-15Memmap: Re-organize memory function in two filesYuri Kunde Schlesner
memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory.
2015-05-09Loader: Add missing includeYuri Kunde Schlesner
2015-05-08Kernel: Remove g_program_idYuri Kunde Schlesner
This has been obsoleted by the field in Process.
2015-05-08Kernel: Introduce skeleton Process class to hold process dataYuri Kunde Schlesner
2015-05-07Common: Remove common.hYuri Kunde Schlesner