Commit Graph

34 Commits

Author SHA1 Message Date
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
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
84fbbe2629 Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
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
dc8479928c Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
a89e32b157 elf: Don't cast away const 2016-01-25 02:36:57 -05:00
62c2a262b2 Loader: Fix variable type and remove unused variable 2015-07-13 21:10:13 -03:00
2d7299a86f Loader: Remove unnecessary pointer indirection to IOFile 2015-07-13 20:00:56 -03:00
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
45c4781544 CitraQt: Cleanup includes. 2015-06-28 00:36:54 +01:00
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
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
1c0b87edc2 Memory: Re-organize and rename memory area address constants 2015-05-09 01:29:52 -03:00
3cb19c9589 Process: Rename StaticAddressMapping => AddressMapping 2015-05-08 22:12:10 -03:00
2af30d465f Process: Support parsing of exheader kernel caps 2015-05-08 22:11:44 -03:00
6d60acf0f1 Kernel: Introduce skeleton Process class to hold process data 2015-05-08 22:11:02 -03:00
e1fbac3ca1 Common: Remove common.h 2015-05-07 15:45:22 -03:00
5ebf35db96 Silence a few warnings. 2015-01-30 19:20:34 +00:00
df0d66c7cf Loader: Clean up the ELF AppLoader. 2015-01-15 22:23:08 +01:00
82ec17db7d Loader: Guess filetype from the magic, or fallback to the extension. 2015-01-15 22:23:08 +01:00
04622a859c Loader: Don’t assume the file hasn’t been read before. 2015-01-15 22:23:07 +01:00
b5237e885d Loader: Keep a reference to the file and pass it to the correct AppLoader, instead of loading it multiple times. 2015-01-15 21:21:26 +00:00
85030c6e6b Loader: Never forget to change is_loaded. 2015-01-15 21:21:26 +00:00
43e699d849 Loader: Don’t duplicate the docstring into the cpp file. 2015-01-15 21:21:26 +00:00
bf23f94571 elf: Make DidRelocate const 2015-01-02 20:32:16 -05:00
ebfd831ccb License change 2014-12-20 21:20:24 -08:00
0600e2d8b5 Convert old logging calls to new logging macros 2014-12-13 02:08:02 -02:00
f5d38649c7 Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated 2014-11-19 09:03:07 +00:00
6b7b36a874 Common: Rename the File namespace to FileUtil, to match the filename and prevent collisions. 2014-09-17 14:35:45 +00:00
cedc28dcc6 ELF: Refactored LoadInto(..) to use memcpy, removed unnecessary code. 2014-06-24 19:30:07 -04:00
62b444cd17 Loader: Refactored use of const. 2014-06-24 19:30:06 -04:00
7889cafc76 Loader: Implemented AppLoader interface for abstracting application loading.
- 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.
2014-06-24 19:29:58 -04:00
13bdaa6c60 Loader: Cleaned up and removed unused code, refactored ELF namespace. 2014-06-16 23:43:33 -04:00
1da361c7ab Elf: Renamed modules to be consistent with new loader naming, fixed tabs -> spaces. 2014-06-16 23:43:32 -04:00