Merry
9b9227089b
Merge pull request #4121 from FearlessTobi/port-894
...
Port #894 from yuzu: "kernel: Move object class to its own source files"
2018-08-26 00:02:33 +01:00
fearlessTobi
2abe11ee1e
Fix compile errors
2018-08-23 18:23:21 +02:00
Lioncash
37e78de206
kernel/process: Use accessors instead of class members for referencing segment array
...
Using member variables for referencing the segments array increases the
size of the class in memory for little benefit. The same behavior can be
achieved through the use of accessors that just return the relevant
segment.
2018-08-23 18:08:03 +02:00
Lioncash
63c7b44ba8
kernel: Move object class to its own source files
...
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.
2018-08-23 17:31:59 +02:00
wwylele
d4a808c885
ncch_container: support encrypted games
2018-08-07 18:53:06 +03:00
Lioncash
661f7bbcfd
core: Make converting constructors explicit where applicable
...
Avoids unwanted implicit conversions. Thankfully, given the large amount
of cleanup in past PRs, only this tiny amount is left over to cover.
2018-07-30 08:21:13 +08:00
zhupengfei
4fb16098a4
core/loader: avoid "different type" warning for .app
...
Previously for installed titles, the file type would be NCCH (assumed as CXI) and the extension would be ".app". This would trigger a warning of the file "having a different type than its extension", which is actually not true here.
2018-07-23 17:37:52 +08:00
wwylele
0eab948728
reformat all files with clang-format
2018-06-29 16:56:12 +03:00
wwylele
7c5a76e58b
log: replace all NGLOG with LOG
2018-06-29 14:18:07 +03:00
FearlessTobi
36c4765054
citra_qt: Add a game region column
2018-05-01 19:57:01 +02:00
Daniel Lim Wee Soong
fbfc1103fd
core/loader: Migrate logging macros
...
Replace logging to use NGLOG instead of LOG.
2018-03-29 00:08:26 +08:00
wwylele
b179b86f14
Service/CFG: convert to ServiceFramework
2018-03-10 13:37:03 +02:00
James Rowe
f61141e86a
Update the entire application to use the new clang format style
2018-03-09 10:54:43 -07:00
Merry
5c802d35ef
Merge pull request #3262 from lioncash/warn
...
common/core: Silence initialization order warnings
2017-12-11 19:52:53 +00:00
Lioncash
eb58dbda32
ncch: Add missing return statement in ReadUpdateRomFs
2017-12-11 01:33:08 -05:00
Lioncash
c31f932afe
common/core: Silence initialization order warnings
2017-12-10 19:50:45 -05:00
shinyquagsire23
a4af750759
loader/ncch: Use AM to get update title path
2017-10-18 21:19:40 -06:00
shinyquagsire23
4887d18591
file_sys, loader: add support for reading TMDs to determine app paths
2017-10-01 10:54:02 -06:00
Subv
7f48aa8d25
Loaders: Don't automatically set the current process every time we load an 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-26 18:17:47 -05:00
Subv
774e7deae8
HLE/Archives: Allow multiple loaded applications to access their SelfNCCH 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-25 09:45:02 -05:00
B3n30
d881dee818
Merge pull request #2952 from MerryMage/page-tables
...
Switchable Page Tables
2017-09-25 08:29:32 +02:00
Max Thomas
c91ccbd0ba
Loader/NCCH: Add support for loading application updates ( #2927 )
...
* 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-25 08:17:38 +02:00
MerryMage
c02bbb7030
memory: Add GetCurrentPageTable/SetCurrentPageTable
...
Don't expose Memory::current_page_table as a global.
2017-09-24 22:42:42 +01:00
Subv
6d2734a074
Kernel/Memory: Give each Process its own page table.
...
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
2017-09-10 15:13:41 -05:00
B3n30
5d0a1e7efd
Added missing parts in libnetwork ( #2838 )
...
* Network: Set and send the game information over enet
Added Callbacks for RoomMember and GetMemberList to Room in preparation for web_services.
2017-08-19 11:14:33 -06:00
bunnei
f5cf9960d9
loader: Expose program title.
2017-08-03 20:10:37 -04:00
bunnei
df8b9863f9
telemetry: Log performance, configuration, and system data.
2017-07-17 21:32:28 -04:00
TheKoopaKingdom
f008b22e3b
Addressed Bunnei's review comments, and made some other tweaks:
...
- 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.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
a8aef599e0
Created a whitelist of system archives to prevent false positives creating dialogs.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
37bec598ea
Made some changes from review comments:
...
- 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-02 18:28:14 -04:00
TheKoopaKingdom
e523c76cc8
Fixed encrypted ROM error messages.
2017-06-02 18:25:32 -04:00
bunnei
120b00fb1a
telemetry: Log a few simple data fields throughout core.
2017-05-24 19:16:23 -04:00
Yuri Kunde Schlesner
6577bbc3c5
Remove ability to load symbol maps
...
This was now mostly unused except by thread creation, which used a
symbol of the entrypoint, if available, to name the thread.
2017-05-07 15:33:07 -07:00
wwylele
6551a72ec8
loader/ncch: less verbose log for loading game list. only log program ID when booting
2017-03-08 17:37:24 +02:00
wwylele
4b931bb913
loader: lower file name logging level
2017-03-08 17:25:09 +02:00
Mat M
0cb52ee74a
Doxygen: Amend minor issues ( #2593 )
...
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.
2017-02-26 17:58:51 -08:00
wwylele
20544977da
loader: use self NCCH archive
2017-02-13 13:57:38 +02:00
Thomas Farr
bb1f277db1
loader: Add support for 3DSX special relocation types, fixes citra-emu/citra#2449
...
As per devkitPro/3dstools@47bea18
2017-01-19 01:34:58 +13:00
Jonathan Hao
c18cb1b192
Fix some warnings ( #2399 )
2017-01-04 13:48:29 -03:00
bunnei
f556d6ee90
Merge pull request #2240 from wwylele/auto-region
...
Config: auto-select region and language
2016-12-29 22:09:01 -05:00
bunnei
81e22ae8c7
loader: Remove duplicate docstrings.
2016-12-21 23:27:50 -05:00
MerryMage
351b5d23f4
loader: Implement ReadProgramId
2016-12-15 18:42:38 +00:00
wwylele
84e78790ab
Config: auto-select region and language
2016-12-07 20:52:42 +02:00
Subv
d171409f29
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
...
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-27 18:03:48 -05:00
Subv
1323ab2f5f
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
...
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-19 20:40:04 -05:00
Ricardo de Almeida Gonzaga
13d46f6820
Fix typos
2016-10-20 12:26:59 -02:00
Yuri Kunde Schlesner
84fbbe2629
Use negative priorities to avoid special-casing the self-include
2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner
396a8d91a4
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot
080a2d719c
Loader: Split SMDH into its own header and import helpers from QGameList
...
Also rewrite Qt wrappers to use those.
2016-05-21 20:15:42 +01:00
Emmanuel Gil Peyrot
314ce5e505
CitraQt: Simplify the game list loader code
2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot
9a35d1fb4a
Loader: Add a GetFileType method to get the type of a loaded file
2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot
8fc9c03126
Loader, Frontends: Refactor loader creation and game loading
...
This allows frontends to keep a single loader and use it multiple times
e.g. for code loading and SMDH parsing.
2016-05-21 17:09:56 +01:00
bunnei
282a2ad539
Merge pull request #1766 from Subv/log_cpu
...
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1)
2016-05-08 15:03:08 -04:00
Alexander Laties
0a31e373f1
fixup simple type conversions where possible
2016-05-07 11:41:55 -04:00
Subv
5b7f86708c
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).
...
We do not currently implement any cores other than the AppCore (Core 0).
2016-05-07 10:23:03 -05:00
wwylele
d2182568ad
fix:return proper error
2016-05-06 21:42:13 +03:00
wwylele
5d5dd66d92
add icon & title to game list
2016-05-04 13:02:49 +03:00
Sam Spilsbury
60f2587eac
ncch: Use correct format specifier (for long long uint)
2016-04-23 11:54:02 +08:00
Lioncash
1cc183703a
core: Clean out some unnecessary header includes
2016-04-16 00:08:49 -04:00
wwylele
727d508e02
ncch:only decompress .code section
2016-04-14 18:33:42 +03:00
Mathew Maidment
aa6380e5bc
Merge pull request #1643 from MerryMage/make_unique
...
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 20:10:11 -04:00
MerryMage
a06dcfeb61
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 13:31:17 +01:00
Lioncash
c99f47d8f0
loader: Make MakeMagic constexpr
2016-03-21 03:28:22 -04:00
bunnei
8530a2d7df
Merge pull request #1344 from LittleWhite-tb/error-output
...
Output errors in GUI
2016-03-08 23:12:04 -05:00
LittleWhite
4be68dddfb
Improve error report from Init() functions
...
Add error popup when citra initialization failed
2016-03-08 22:05:25 +01:00
Yuri Kunde Schlesner
b967a581a1
Loader/NCCH: Log the program ID during loading
...
This is useful for all sorts of things, but mainly to identify save
folders more easily.
2016-03-04 23:53:10 -08:00
LittleWhite
7ad669a911
Display errors in GUI when loading ROM failed
2016-03-03 22:52:29 +01:00
Lioncash
a89e32b157
elf: Don't cast away const
2016-01-25 02:36:57 -05:00
bunnei
c717d1551d
Merge pull request #1199 from Gareth422/encryption-check
...
Loader: Implement NCCH encryption check
2015-10-20 10:17:31 -04:00
Gareth Poole
721475420d
Loader: Change NCCH header types to be explicitly little-endian
2015-10-10 22:35:22 -04:00
Gareth Poole
2706394384
Loader: Implement encryption check
2015-10-10 22:34:17 -04:00
Emmanuel Gil Peyrot
14af5919ba
CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.
...
The LOG_* function itself already appends one.
2015-10-09 22:14:56 +01:00
bunnei
11a64acf23
Merge pull request #1095 from archshift/game-list
...
Initial implementation of a game list
2015-10-01 23:35:19 -04:00
archshift
bba12520c4
Expose loader helper functions for identifying files.
2015-09-30 21:04:47 -07:00
Cruel
d60a9be5c6
Implement 3dsx RomFS
2015-09-21 13:03:18 -04:00
Lioncash
d3efa637b4
General: Fix up doxygen comments
2015-09-10 11:20:21 -04:00
Benjamin Barenblat
c0a87bc89f
Properly indicate that CIA support is not implemented yet
...
Make `Loader::LoadFile` return an `ErrorNotImplemented` if you call
it on a CIA file.
2015-08-15 16:05:38 -04:00
Benjamin Barenblat
cd8be1846b
Give CIA file type a name
...
Make `GetFileTypeString` return ‘CIA’ for CIA (CTR Importable
Archive) files.
2015-08-15 15:45:27 -04:00
Lioncash
43d799fd9d
loader: Remove unnecessary else usages
2015-07-25 18:10:13 -04:00
zawata
972dccc3f6
Core : Change variable type
...
and fix various warnings
2015-07-19 04:12:39 -07:00
Yuri Kunde Schlesner
62c2a262b2
Loader: Fix variable type and remove unused variable
2015-07-13 21:10:13 -03:00
Yuri Kunde Schlesner
2d7299a86f
Loader: Remove unnecessary pointer indirection to IOFile
2015-07-13 20:00:56 -03:00
condut
c385b7767d
FS: Stream RomFS from file instead of loading all of it to memory
2015-07-13 19:57:12 -03:00
Yuri Kunde Schlesner
5c5cf2f8e0
Core: Properly configure address space when loading a binary
...
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-11 23:54:42 -03:00
Yuri Kunde Schlesner
34f5f77507
Loader: Clean up 3dsx loader a bit, fixing a potential buffer overrun
2015-07-11 23:49:52 -03:00
Yuri Kunde Schlesner
fdbf410bd7
Loader: Make 3dsx loader logs a bit less confusing
2015-07-11 23:49:52 -03:00
Yuri Kunde Schlesner
867c28ae03
Merge pull request #876 from linkmauve/include-cleanups
...
Cleanup includes, mostly in common
2015-07-10 16:36:12 -07:00
aroulin
769407e4fa
Loader: Remove log line causing warning
2015-07-08 00:04:21 +02:00
Emmanuel Gil Peyrot
45c4781544
CitraQt: Cleanup includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
596b7c4f63
Common: Cleanup key_map includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
8cf9eb7f43
Common: Fix FileUtil includes, and everything relying on those.
2015-06-28 00:36:53 +01:00
Emmanuel Gil Peyrot
b1503b2020
Remove every trailing whitespace from the project (but externals).
2015-05-29 21:59:29 +01:00
Subv
d3634d4bf4
Core/ResourceLimits: Implemented the basic structure of ResourceLimits.
...
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-14 22:50:13 -05:00
Yuri Kunde Schlesner
7ada357b2d
Memmap: Re-organize memory function in two files
...
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-15 00:04:38 -03:00
Tony Wasserka
e35e72d0a5
Merge pull request #734 from yuriks/memmap
...
Small memory map definitions cleanup
2015-05-09 15:57:29 +02:00
Yuri Kunde Schlesner
417c867e14
Loader: Add missing include
2015-05-09 05:05:59 -03:00
Yuri Kunde Schlesner
1c0b87edc2
Memory: Re-organize and rename memory area address constants
2015-05-09 01:29:52 -03:00
Yuri Kunde Schlesner
eb3eb9f75d
Loader: Remove .bin file support
...
It is of very limited practical utility currently, and will soon be
impossible to support due to more accurate memory map emulation.
2015-05-08 23:09:41 -03:00