bunnei
27b5b6c36f
kernel: memory: page_table: Simplify GetPhysicalAddr impl.
6 years ago
bunnei
6b40850b9a
kernel: svc: Updates for new VMM.
- Includes removing some SVC impls. that are untested.
6 years ago
bunnei
5fd6e219ea
kernel: process: Updates for new VMM.
6 years ago
bunnei
15e751e36c
kernel: resource_limit: Reserve physical memory.
6 years ago
bunnei
76a040f50d
kernel: Initialize memory layout for new VMM.
6 years ago
bunnei
769f8cbf79
core: system: Rename GetDeviceManager -> DeviceManager.
- More consistent with other system components.
6 years ago
bunnei
d04147e731
kernel: transfer_memory: Refactor for new VMM.
6 years ago
bunnei
9edd67f475
kernel: shared_memory: Refactor for new VMM.
6 years ago
bunnei
6ef844fab3
kernel: errors: Add ERR_OUT_OF_RESOURCES.
6 years ago
bunnei
1717cdf811
kernel: process_capability: Update to use Memory::PageTable.
6 years ago
bunnei
6fe68ddea2
kernel: memory: Add PageTable class, to manage process address space.
6 years ago
bunnei
ea8bc8e759
kernel: memory: Add MemoryLayout class, to build physical memory layout.
6 years ago
bunnei
9b912d155a
kernel: memory: Add MemoryManager class, to manage page heaps.
6 years ago
bunnei
227e9ac5d7
kernel: memory: Add MemoryBlockManager class, to manage memory blocks.
6 years ago
bunnei
036f2f9176
kernel: memory: Add PageHeap class, to manage a heap of pages.
6 years ago
bunnei
b013b110bc
kernel: memory: Add PageLinkedList class, to manage a list of pages.
6 years ago
bunnei
b94f043b7b
kernel: memory: Add system_control code, which will be used for ASLR support.
6 years ago
bunnei
72d1cda09a
physical_memory: Add missing include for <vector>.
6 years ago
bunnei
91a38e3fa8
kernel: memory: Add MemoryBlock class, for managing memory blocks and their state.
6 years ago
bunnei
eadd36d143
kernel: memory: Add memory_types.h, for things that are commonly used in memory code.
6 years ago
bunnei
91b899ff00
kernel: memory: Add SlabHeap class, for managing memory heaps.
- This will be used for TLS pages, among other things.
6 years ago
bunnei
9fd238a0f8
kernel: memory: Add AddressSpaceInfo class, for managing the memory address space.
6 years ago
bunnei
5b9e69e7fe
core: memory: Move to Core::Memory namespace.
- helpful to disambiguate Kernel::Memory namespace.
6 years ago
bunnei
a10f82b62d
core: kernel: Add svc_types header to include SVC-specific types.
6 years ago
bunnei
ed940661a8
core: kernel: Move SVC to its own namesapce.
6 years ago
bunnei
bdd81bdebf
kernel: resource_limit: Improvements to implementation.
6 years ago
bunnei
365f14cd2c
process: SetupMainThread: Zero out argument on process start.
6 years ago
Lioncash
f8fe53c9f9
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.
6 years ago
Lioncash
02e095313a
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.
6 years ago
Lioncash
6ea751d910
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.
6 years ago
Lioncash
0f32ae2140
kernel/thread: Resolve -Wswitch warnings
6 years ago
bunnei
36c4c33bb8
core: hle: Implement separate A32/A64 SVC interfaces.
6 years ago
bunnei
048ac77adc
core: Implement separate A32/A64 ARM interfaces.
6 years ago
Fernando Sahmkow
d0b12c793d
Scheduler: Inline global scheduler in Scheduler Lock.
6 years ago
Fernando Sahmkow
d6584d988f
Kernel: Correct pending feedback.
6 years ago
Fernando Sahmkow
78f01601d0
Kernel: Address Feedback.
6 years ago
Fernando Sahmkow
7c2b72bcef
Kernel: Implement Scheduler locks
6 years ago
Fernando Sahmkow
fe53ac3e33
Kernel: Implement Time Manager.
6 years ago
Fernando Sahmkow
e6cc0a48e0
Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.
6 years ago
Fernando Sahmkow
f5da504663
Kernel: Make global scheduler depend on KernelCore
6 years ago
Fernando Sahmkow
0d2a459fae
Core: Address Feedback
6 years ago
Lioncash
5c0742bb94
address_arbiter: Collapse loops in InsertThread() and RemoveThread()
Same behavior, but without the need to explicitly loop through
everything manually.
6 years ago
Lioncash
3105b7864c
address_arbiter: Simplify GetThreadsWaitingOnAddress()
Simplifies the overall function and also allows for it to become a
const-qualified member function.
6 years ago
Lioncash
750c48af18
kernel/thread: Remove trivial usages of the global system accessor
We can just use the kernel member variable directly instead of going
through the system to obtain the same thing.
6 years ago
Fernando Sahmkow
6fc0790f3a
Core: Set all hardware emulation constants in a single file.
6 years ago
Fernando Sahmkow
1ee7a4d926
Kernel: Refactor synchronization to better match RE
6 years ago
Fernando Sahmkow
3a7f539463
Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.
6 years ago
bunnei
9ffdef96d9
kernel: transfer_memory: Properly reserve and reset memory region.
6 years ago
Zach Hilman
a0400ebc19
wait_object: Make wait behavior only require one object to signal.
- This was holdover from citra.
7 years ago
bunnei
bc76fe3100
hle_ipc: Add error checking to read/write buffer access.
6 years ago