aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2015-08-27Kernel: Fix wrong linear heap base on titles using newer kernelsYuri Kunde Schlesner
Typo which sneaked in through review on #1025
2015-08-26Kernel: Fix assertion failure when ControlMemory is called with size=0Yuri Kunde Schlesner
2015-08-26Core: Improve APT Shared Font hackYuri Kunde Schlesner
Should fix invalid read loops in some games
2015-08-16Kernel: Remove unused legacy heap MapBlock_* functionsYuri Kunde Schlesner
2015-08-16Kernel: Implement svcGetProcessInfo in a basic wayYuri Kunde Schlesner
This also adds some basic memory usage accounting. These two types are used by Super Smash Bros. during startup.
2015-08-16Kernel: Add more infrastructure to support different memory layoutsYuri Kunde Schlesner
This adds some structures necessary to support multiple memory regions in the future. It also adds support for different system memory types and the new linear heap mapping at 0x30000000.
2015-08-16Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h}Yuri Kunde Schlesner
2015-08-16Memory: Move address type conversion routines to memory.cpp/hYuri Kunde Schlesner
These helpers aren't really part of the kernel, and mem_map.cpp/h is going to be moved there next.
2015-08-16Process: Store kernel compatibility version during loadingYuri Kunde Schlesner
2015-08-16Kernel: Properly implement ControlMemory FREE and COMMITYuri Kunde Schlesner
2015-08-16VMManager: Introduce names for used ResultCodesYuri Kunde Schlesner
2015-08-16VMManager: Make LogLayout log level configurable as a parameterYuri Kunde Schlesner
2015-08-16VMManager: Change block offsets to size_tYuri Kunde Schlesner
2015-07-25dyncom: Rename armdefs.h to armstate.hLioncash
2015-07-20Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.Subv
They'll be reset if needed during the next svcWaitSynchronization call (if there's any pending)
2015-07-17Ensure all kernel objects are released during shutdownYuri Kunde Schlesner
This commit fixes several kernel object leaks. The most severe of them was threads not being removed from the private handle table used for CoreTiming events. This resulted in Threads never being released, which in turn held references to Process, causing CodeSets to never be freed when loading other applications.
2015-07-12Merge pull request #921 from linkmauve/fix-appletbunnei
Fix applet includes using iwyu
2015-07-12Kernel: Add CodeSet case to Object::IsWaitableYuri Kunde Schlesner
2015-07-12Core: Fix applet includes using iwyu.Emmanuel Gil Peyrot
2015-07-11Core: Properly configure address space when loading a binaryYuri Kunde Schlesner
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-11Kernel: Remove unused member from EventYuri Kunde Schlesner
2015-06-28Core: Cleanup file_sys includes.Emmanuel Gil Peyrot
2015-06-28Core: Cleanup core includes.Emmanuel Gil Peyrot
2015-06-28Common: Cleanup key_map includes.Emmanuel Gil Peyrot
2015-06-22Add helpers to create IPC command buffer headers and descriptorsYuri Kunde Schlesner
2015-06-16kernel: Fix svcWaitSynch to always acquire requested wait objects.bunnei
2015-05-29Merge pull request #810 from yuriks/memmapYuri Kunde Schlesner
Kernel: Add VMManager to manage process address spaces
2015-05-29Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot
2015-05-27Kernel: Add VMManager to manage process address spacesYuri Kunde Schlesner
This enables more dynamic management of the process address space, compared to just directly configuring the page table for major areas. This will serve as the foundation upon which the rest of the Kernel memory management functions will be built.
2015-05-21Kernel: Fix a warning introduced with ResourceLimit, and remove the fallback ↵Emmanuel Gil Peyrot
code to prevent it from happening again.
2015-05-20Kernel: Move reschedules from SVCs to actual mechanisms that reschedule.bunnei
2015-05-18Merge pull request #772 from lioncash/warnbunnei
core/video_core: Fix a few warnings when compiling on MSVC.
2015-05-14Core/ResourceLimits: Implemented the basic structure of ResourceLimits.Subv
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-15Memmap: Re-organize memory function in two filesYuri Kunde Schlesner
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-14process: Get rid of warningsLioncash
Sign mismatches and "forcing value to bool" warnings.
2015-05-14thread: Fix a conditional check in RescheduleLioncash
2015-05-11Merge pull request #748 from Subv/tls_maxbunnei
Core/Memory: Add TLS support for creating up to 300 threads
2015-05-11Merge pull request #751 from yuriks/idle-threadbunnei
Thread: Remove the idle thread
2015-05-11Merge pull request #757 from Subv/schedulingbunnei
Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called
2015-05-11Thread: Remove the idle threadYuri Kunde Schlesner
Instead just use nullptr to represent no thread is active.
2015-05-11Core/Memory: Add TLS support for creating up to 300 threadsSubv
2015-05-11Merge pull request #750 from Subv/process_svcYuri Kunde Schlesner
Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread
2015-05-11Core/Scheduling: Prepare the new priority in the thread queue when ↵Subv
svcSetPriority is called
2015-05-11fixup!Subv
2015-05-11Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThreadSubv
2015-05-11Thread: Correctly set main thread initial stack positionYuri Kunde Schlesner
2015-05-10Merge pull request #740 from yuriks/gsp-shmemarchshift
Fix crashes due to un-initialized GSP shared memory
2015-05-10fixup! Set the TLS address in the schedulerSubv
2015-05-10Core/Memory: Give every emulated thread it's own TLS area.Subv
The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200. This allows some games like Mario Kart 7 to continue further.
2015-05-10Kernel: Zero-fill shared memory blocks when mappingYuri Kunde Schlesner
This works around crashes related to GSP/HID/etc. shared memory blocks having garbage values. The proper fix requires proper management of mapped memory blocks in the process.