aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2020-04-17kernel: errors: Add ERR_OUT_OF_RESOURCES.bunnei
2020-04-17kernel: process_capability: Update to use Memory::PageTable.bunnei
2020-04-17kernel: memory: Add PageTable class, to manage process address space.bunnei
2020-04-17kernel: memory: Add MemoryLayout class, to build physical memory layout.bunnei
2020-04-17kernel: memory: Add MemoryManager class, to manage page heaps.bunnei
2020-04-17kernel: memory: Add MemoryBlockManager class, to manage memory blocks.bunnei
2020-04-17kernel: memory: Add PageHeap class, to manage a heap of pages.bunnei
2020-04-17kernel: memory: Add PageLinkedList class, to manage a list of pages.bunnei
2020-04-17kernel: memory: Add system_control code, which will be used for ASLR support.bunnei
2020-04-17physical_memory: Add missing include for <vector>.bunnei
2020-04-17kernel: memory: Add MemoryBlock class, for managing memory blocks and their ↵bunnei
state.
2020-04-17kernel: memory: Add memory_types.h, for things that are commonly used in ↵bunnei
memory code.
2020-04-17kernel: memory: Add SlabHeap class, for managing memory heaps.bunnei
- This will be used for TLS pages, among other things.
2020-04-17kernel: memory: Add AddressSpaceInfo class, for managing the memory address ↵bunnei
space.
2020-04-17core: memory: Move to Core::Memory namespace.bunnei
- helpful to disambiguate Kernel::Memory namespace.
2020-04-17core: kernel: Add svc_types header to include SVC-specific types.bunnei
2020-04-17core: kernel: Move SVC to its own namesapce.bunnei
2020-04-17kernel: resource_limit: Improvements to implementation.bunnei
2020-04-17process: SetupMainThread: Zero out argument on process start.bunnei
2020-04-16Merge pull request #3671 from lioncash/switchbunnei
kernel/thread: Resolve -Wswitch warnings
2020-04-16hle_ipc: Remove std::size_t casts where applicableLioncash
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-15CMakeLists: Specify -Wextra on linux buildsLioncash
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-15CMakeLists: Make -Wreorder a compile-time errorLioncash
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-15kernel/thread: Resolve -Wswitch warningsLioncash
2020-03-02core: hle: Implement separate A32/A64 SVC interfaces.bunnei
2020-03-02core: Implement separate A32/A64 ARM interfaces.bunnei
2020-02-22Scheduler: Inline global scheduler in Scheduler Lock.Fernando Sahmkow
2020-02-22Kernel: Correct pending feedback.Fernando Sahmkow
2020-02-22Kernel: Address Feedback.Fernando Sahmkow
2020-02-22Kernel: Implement Scheduler locksFernando Sahmkow
2020-02-22Kernel: Implement Time Manager.Fernando Sahmkow
2020-02-22Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.Fernando Sahmkow
2020-02-22Kernel: Make global scheduler depend on KernelCoreFernando Sahmkow
2020-02-14Merge pull request #3401 from FernandoS27/synchronizationbunnei
Set of refactors for Kernel Synchronization and Hardware Constants
2020-02-13Core: Address FeedbackFernando Sahmkow
2020-02-12address_arbiter: Collapse loops in InsertThread() and RemoveThread()Lioncash
Same behavior, but without the need to explicitly loop through everything manually.
2020-02-12address_arbiter: Simplify GetThreadsWaitingOnAddress()Lioncash
Simplifies the overall function and also allows for it to become a const-qualified member function.
2020-02-12kernel/thread: Remove trivial usages of the global system accessorLioncash
We can just use the kernel member variable directly instead of going through the system to obtain the same thing.
2020-02-11Core: Set all hardware emulation constants in a single file.Fernando Sahmkow
2020-02-11Kernel: Refactor synchronization to better match REFernando Sahmkow
2020-02-11Kernel: Change WaitObject to Synchronization object. In order to better ↵Fernando Sahmkow
reflect RE.
2020-02-07Merge pull request #3381 from bunnei/ipc-fixbunnei
hle: services: Fix prepo IPC, and add better error checking.
2020-02-05kernel: transfer_memory: Properly reserve and reset memory region.bunnei
2020-02-05wait_object: Make wait behavior only require one object to signal.Zach Hilman
- This was holdover from citra.
2020-02-05hle_ipc: Add error checking to read/write buffer access.bunnei
2020-01-30kernel/physical_core: Make use of std::unique_ptrLioncash
shared_ptr was used in 2d1984c20c75e03ec79eeb3806b12efa1679b977 due to a misunderstanding of how the language generates move constructors and move assignment operators. If a destructor is user-provided, then the compiler won't generate the move constructor and move assignment operators by default--they must be explicitly opted into. The reason for the compilation errors is due to the fact that the language will fall back to attempting to use the copy constructor/copy assignment operators if the respective move constructor or move assignment operator is unavailable. Given that we explicitly opt into them now, the the move constructor and move assignment operators will be generated as expected.
2020-01-30kernel/physical_core: Remove unused kernel reference member variableLioncash
This isn't used within the class, so it can be removed to simplify the overall interface. While we're in the same area, we can simplify a unique_ptr reset() call.
2020-01-27System: Address FeedbackFernando Sahmkow
2020-01-26Kernel: Remove a few global instances from the kernel.Fernando Sahmkow
2020-01-26Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.Fernando Sahmkow
This commit instends on better naming the new purpose of this classes.