d9556912b4
Kernel: Remove unused member from Event
2015-07-11 23:49:51 -03:00
e5fcabdd69
Core: Cleanup file_sys includes.
2015-06-28 00:36:54 +01:00
aea15f5c73
Core: Cleanup core includes.
2015-06-28 00:36:54 +01:00
596b7c4f63
Common: Cleanup key_map includes.
2015-06-28 00:36:54 +01:00
81488d7a6a
Add helpers to create IPC command buffer headers and descriptors
2015-06-22 19:24:19 -03:00
71e8822d23
kernel: Fix svcWaitSynch to always acquire requested wait objects.
2015-06-16 22:34:39 -04:00
8a04c65e20
Merge pull request #810 from yuriks/memmap
...
Kernel: Add VMManager to manage process address spaces
2015-05-29 18:00:17 -07:00
b1503b2020
Remove every trailing whitespace from the project (but externals).
2015-05-29 21:59:29 +01:00
0a60aa75c2
Kernel: Add VMManager to manage process address spaces
...
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-27 03:24:12 -03:00
b8f93e6b18
Kernel: Fix a warning introduced with ResourceLimit, and remove the fallback code to prevent it from happening again.
2015-05-21 20:54:49 +02:00
0b7d2941cf
Kernel: Move reschedules from SVCs to actual mechanisms that reschedule.
2015-05-20 18:05:47 -04:00
f0365f28c2
Merge pull request #772 from lioncash/warn
...
core/video_core: Fix a few warnings when compiling on MSVC.
2015-05-18 08:08:49 -04:00
d3634d4bf4
Core/ResourceLimits: Implemented the basic structure of ResourceLimits.
...
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-14 22:50:13 -05:00
7ada357b2d
Memmap: Re-organize memory function in two files
...
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-15 00:04:38 -03:00
150e700729
process: Get rid of warnings
...
Sign mismatches and "forcing value to bool" warnings.
2015-05-14 12:59:14 -04:00
207087c856
thread: Fix a conditional check in Reschedule
2015-05-14 11:10:04 -04:00
cb2b2071a8
Merge pull request #748 from Subv/tls_max
...
Core/Memory: Add TLS support for creating up to 300 threads
2015-05-11 23:32:28 -04:00
ee8da4c356
Merge pull request #751 from yuriks/idle-thread
...
Thread: Remove the idle thread
2015-05-11 23:22:47 -04:00
6e26d063a5
Merge pull request #757 from Subv/scheduling
...
Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called
2015-05-11 22:54:00 -04:00
4f7a055081
Thread: Remove the idle thread
...
Instead just use nullptr to represent no thread is active.
2015-05-11 22:39:39 -03:00
dda94e56dd
Core/Memory: Add TLS support for creating up to 300 threads
2015-05-11 20:09:23 -05:00
820b97787c
Merge pull request #750 from Subv/process_svc
...
Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread
2015-05-11 17:44:26 -07:00
dbc1320923
Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called
2015-05-11 19:38:10 -05:00
25c010dc7d
fixup!
2015-05-11 18:23:45 -05:00
41f74a16fd
Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread
2015-05-11 09:15:10 -05:00
d16c2bd956
Thread: Correctly set main thread initial stack position
2015-05-11 05:08:47 -03:00
e98fbadf4a
Merge pull request #740 from yuriks/gsp-shmem
...
Fix crashes due to un-initialized GSP shared memory
2015-05-10 18:07:44 -07:00
115ad8e16a
fixup! Set the TLS address in the scheduler
2015-05-10 18:43:59 -05:00
000876858d
Core/Memory: Give every emulated thread it's own TLS area.
...
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-10 18:35:37 -05:00
774eea8374
Kernel: Zero-fill shared memory blocks when mapping
...
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-10 20:05:29 -03:00
c96f22490a
Kernel: Capture SharedMemory attributes at creation, not when mapping
2015-05-10 19:47:07 -03:00
b700b55696
Common: Remove the BIT macro
...
When the macro was introduced in 326ec51261
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-09 18:16:46 -03:00
1c0b87edc2
Memory: Re-organize and rename memory area address constants
2015-05-09 01:29:52 -03:00
7c50b999fa
Kernel: Remove unused g_main_thread variable
2015-05-08 22:12:12 -03:00
3cb19c9589
Process: Rename StaticAddressMapping => AddressMapping
2015-05-08 22:12:10 -03:00
83ccf85bb2
Process: Add more documentation to the class members
2015-05-08 22:11:49 -03:00
2f5904611d
Process: Use BitField to store process flags
2015-05-08 22:11:48 -03:00
2af30d465f
Process: Support parsing of exheader kernel caps
2015-05-08 22:11:44 -03:00
a5eba2f984
Kernel: Remove g_program_id
...
This has been obsoleted by the field in Process.
2015-05-08 22:11:03 -03:00
6d60acf0f1
Kernel: Introduce skeleton Process class to hold process data
2015-05-08 22:11:02 -03:00
e1fbac3ca1
Common: Remove common.h
2015-05-07 15:45:22 -03:00
c916bcf7b5
Move typedefs from kernel.h to more appropriate places
2015-05-06 23:45:05 -03:00
c7dc799e19
Kernel: Properly initialize and shutdown all modules.
2015-05-01 18:27:03 -04:00
0d69b2f7bd
Kernel: Use the correct format string for u64 hex.
2015-04-14 21:18:31 +02:00
c077bcefa9
SVC: Update various SVCs to cause a reschedule.
...
- CreateMutex/ReleaseMutex/ReleaseSemaphore/SetTimer/CancelTimer/ArbitrateAddress
2015-04-09 19:06:42 -04:00
9c3419ebcc
Kernel: Implemented priority inheritance for mutexes.
2015-04-09 19:06:39 -04:00
7b9f428b23
Thread: Implement priority boost for starved threads.
...
SVC: Return correct error code on invalid CreateThread processor ID.
SVC: Assert when creating a thread with an invalid userland priority.
2015-04-09 19:05:21 -04:00
e08f55b1a7
Kernel: Fixed default thread priority.
2015-04-09 19:04:19 -04:00
25a43cd2ec
Initialize base address to 0x0
2015-04-08 20:34:41 -04:00
4fb75d220a
Misc cleanup of common and related functions
2015-02-19 22:26:25 -08:00