aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
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.
2015-05-10Kernel: Capture SharedMemory attributes at creation, not when mappingYuri Kunde Schlesner
2015-05-09Common: Remove the BIT macroYuri Kunde Schlesner
When the macro was introduced in 326ec51261299e48de97592631c02523da9c8118 it wasn't noticed that it conflicted in name with a heavily used macro inside of dyncom. This causes some compiler warnings. Since it's only lightly used, it was opted to simply remove the new macro.
2015-05-09Memory: Re-organize and rename memory area address constantsYuri Kunde Schlesner
2015-05-08Kernel: Remove unused g_main_thread variableYuri Kunde Schlesner
2015-05-08Process: Rename StaticAddressMapping => AddressMappingYuri Kunde Schlesner
2015-05-08Process: Add more documentation to the class membersYuri Kunde Schlesner
2015-05-08Process: Use BitField to store process flagsYuri Kunde Schlesner
2015-05-08Process: Support parsing of exheader kernel capsYuri Kunde Schlesner
2015-05-08Kernel: Remove g_program_idYuri Kunde Schlesner
This has been obsoleted by the field in Process.
2015-05-08Kernel: Introduce skeleton Process class to hold process dataYuri Kunde Schlesner
2015-05-07Common: Remove common.hYuri Kunde Schlesner
2015-05-06Move typedefs from kernel.h to more appropriate placesYuri Kunde Schlesner
2015-05-01Kernel: Properly initialize and shutdown all modules.bunnei
2015-04-14Kernel: Use the correct format string for u64 hex.Emmanuel Gil Peyrot
2015-04-09SVC: Update various SVCs to cause a reschedule.bunnei
- CreateMutex/ReleaseMutex/ReleaseSemaphore/SetTimer/CancelTimer/ArbitrateAddress