Commit Graph

6666 Commits

Author SHA1 Message Date
f7c03610e1 core: memory: Updates for new VMM. 2020-04-17 00:59:34 -04:00
1d5923e150 core: gdbstub: Updates for new VMM. 2020-04-17 00:59:34 -04:00
c7bc7986bb core: reporter: Updates for new VMM. 2020-04-17 00:59:33 -04:00
18c4bb6f5c memory: cheat_engine: Updates for new VMM. 2020-04-17 00:59:33 -04:00
108564df57 kernel: process: Updates for new VMM. 2020-04-17 00:59:33 -04:00
77382ac2b2 service: pl_u: Update for new shared memory layout. 2020-04-17 00:59:33 -04:00
67b3df683b service: time: Update for new shared memory layout. 2020-04-17 00:59:33 -04:00
8eca0f9cd2 service: hid: Update for new shared memory layout. 2020-04-17 00:59:33 -04:00
8bbc38a7bd service: irs: Update for new shared memory layout. 2020-04-17 00:59:32 -04:00
fc61cb44ee kernel: resource_limit: Reserve physical memory. 2020-04-17 00:59:32 -04:00
8f75524e55 kernel: Initialize memory layout for new VMM. 2020-04-17 00:59:32 -04:00
11c02a50e9 core: system: Rename GetDeviceManager -> DeviceManager.
- More consistent with other system components.
2020-04-17 00:59:32 -04:00
3fcc4cab4f kernel: transfer_memory: Refactor for new VMM. 2020-04-17 00:59:32 -04:00
c53454ff46 core: Construct/Destruct DeviceMemory on Init/Shutdown. 2020-04-17 00:59:32 -04:00
d0162fc3d7 kernel: shared_memory: Refactor for new VMM. 2020-04-17 00:59:32 -04:00
a040a15246 core: device_memory: Update to use VirtualBuffer class. 2020-04-17 00:59:31 -04:00
a238d08f71 kernel: errors: Add ERR_OUT_OF_RESOURCES. 2020-04-17 00:59:31 -04:00
ffc3de762b kernel: process_capability: Update to use Memory::PageTable. 2020-04-17 00:59:31 -04:00
84f1b6d530 kernel: memory: Add PageTable class, to manage process address space. 2020-04-17 00:59:31 -04:00
cfae8a1c1a kernel: memory: Add MemoryLayout class, to build physical memory layout. 2020-04-17 00:59:31 -04:00
5d6e8a5b44 kernel: memory: Add MemoryManager class, to manage page heaps. 2020-04-17 00:59:30 -04:00
548ef190ab kernel: memory: Add MemoryBlockManager class, to manage memory blocks. 2020-04-17 00:59:30 -04:00
3927012734 kernel: memory: Add PageHeap class, to manage a heap of pages. 2020-04-17 00:59:30 -04:00
dc720311cc kernel: memory: Add PageLinkedList class, to manage a list of pages. 2020-04-17 00:59:30 -04:00
81cb4d3c7f kernel: memory: Add system_control code, which will be used for ASLR support. 2020-04-17 00:59:30 -04:00
fc040b5b70 physical_memory: Add missing include for <vector>. 2020-04-17 00:59:30 -04:00
c2f4dcb1e3 kernel: memory: Add MemoryBlock class, for managing memory blocks and their state. 2020-04-17 00:59:29 -04:00
ea5ee9918e kernel: memory: Add memory_types.h, for things that are commonly used in memory code. 2020-04-17 00:59:29 -04:00
d364e7cf09 kernel: memory: Add SlabHeap class, for managing memory heaps.
- This will be used for TLS pages, among other things.
2020-04-17 00:59:29 -04:00
14aa65ce00 kernel: memory: Add AddressSpaceInfo class, for managing the memory address space. 2020-04-17 00:59:29 -04:00
dc25c86556 core: device_manager: Add a simple class to manage device RAM. 2020-04-17 00:59:29 -04:00
f1b607829e dynarmic: Enable strict alignment checks.
- Also add a missing include.
2020-04-17 00:59:29 -04:00
4caff51710 core: memory: Move to Core::Memory namespace.
- helpful to disambiguate Kernel::Memory namespace.
2020-04-17 00:59:28 -04:00
ad48ebb2c8 core: kernel: Add svc_types header to include SVC-specific types. 2020-04-17 00:59:28 -04:00
82d457af37 core: kernel: Move SVC to its own namesapce. 2020-04-17 00:59:28 -04:00
b0e3cbef7a kernel: resource_limit: Improvements to implementation. 2020-04-17 00:59:27 -04:00
7aa0e4a7ca loader: nso: Fix loading of static objects to be properly sized and aligned. 2020-04-17 00:59:27 -04:00
f2676efe23 process: SetupMainThread: Zero out argument on process start. 2020-04-17 00:11:50 -04:00
0f4f90cd04 arm_interface: Ensure ThreadContext is zero'd out. 2020-04-17 00:11:50 -04:00
e2d8be1ca2 General: Resolve warnings related to missing declarations 2020-04-16 23:43:34 -04:00
1cc9507bc5 gdbstub: Fix some gdbstub jankiness
1. Ensure that register information available to gdbstub is most up-to-date.
2. There's no reason to check for current_thread == thread when emitting a trap.
   Doing this results in random hangs whenever a step happens upon a thread switch.
2020-04-17 05:41:43 +02:00
86f9c9aa1c Merge pull request #3671 from lioncash/switch
kernel/thread: Resolve -Wswitch warnings
2020-04-16 23:30:32 -04:00
8f9c599c9f key_manager: Resolve missing field initializer warning 2020-04-16 22:45:44 -04:00
337f2dc11f time_zone_manager: Resolve sign conversion warnings
ttis and ats will never exceed the length of INT32_MAX in our case, so
this is safe.
2020-04-16 22:23:59 -04:00
77356731a9 hle_ipc: Remove std::size_t casts where applicable
These were added in the change that enabled -Wextra on linux builds so
as not to introduce interface changes in the same change as a
build-system flag addition.

Now that the flags are enabled, we can freely change the interface to
make these unnecessary.
2020-04-16 22:02:10 -04:00
79c1269f0f Merge pull request #3673 from lioncash/extra
CMakeLists: Specify -Wextra on linux builds
2020-04-16 21:12:33 -04:00
fedf750e1b externals: Move LibreSSL linking to httplib.
Neither core nor web_services use OpenSSL nor LibreSSL.
However they need to link them as it's a requirement of httplib.
So let's declare this within httplib instead of core and web_services.
2020-04-16 16:46:33 +02:00
db67e017cb Merge pull request #3659 from bunnei/time-calc-standard-user
service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.
2020-04-16 02:51:57 -03:00
1c340c6efa CMakeLists: Specify -Wextra on linux builds
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.

We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).

While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
2020-04-15 21:33:46 -04:00
213fff67bc CMakeLists: Make -Wreorder a compile-time error
This can result in silent logic bugs within code, and given the amount
of times these kind of warnings are caused, they should be flagged at
compile-time so no new code is submitted with them.
2020-04-15 14:14:41 -04:00