Fernando Sahmkow
cd1c38be8d
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
2020-06-27 11:35:37 -04:00
Fernando Sahmkow
535c542d84
SVC: WaitSynchronization add Termination Pending Result.
2020-06-27 11:35:36 -04:00
Fernando Sahmkow
725bac1404
Scheduler: Remove arm_interface lock and a few corrections.
2020-06-27 11:35:35 -04:00
Fernando Sahmkow
83c7ba1ef7
SVC: Correct SetThreadActivity.
2020-06-27 11:35:33 -04:00
Fernando Sahmkow
a66c61ca2d
SCC: Small corrections to CancelSynchronization
2020-06-27 11:35:33 -04:00
Fernando Sahmkow
44cb9997b3
Scheduler: Correct locking for hle threads.
2020-06-27 11:35:32 -04:00
Fernando Sahmkow
6ed28e15fa
Scheduler: Fix HLE Threads on guard
2020-06-27 11:35:31 -04:00
Fernando Sahmkow
3de33348e4
Scheduler: Protect on closed threads.
2020-06-27 11:35:31 -04:00
Fernando Sahmkow
19847d4d42
Scheduler: Correct assert.
2020-06-27 11:35:30 -04:00
Fernando Sahmkow
a33fbaddec
Core: Correct rebase.
2020-06-27 11:35:29 -04:00
Fernando Sahmkow
1c672128c4
Scheduler: Release old thread fiber before trying to switch to the next thread fiber.
2020-06-27 11:35:28 -04:00
Fernando Sahmkow
a6bce296ad
Mutex: Correct Result writting to clear exclusivity.
2020-06-27 11:35:26 -04:00
Fernando Sahmkow
e4b175ade2
SVC: Correct svcWaitForAddress and svcSignalToAddress.
2020-06-27 11:35:25 -04:00
Fernando Sahmkow
1e987dbe8d
Scheduler: Correct Select Threads Step 2.
2020-06-27 11:35:24 -04:00
Fernando Sahmkow
07993ac8c8
Kernel: Corrections to Scheduling.
2020-06-27 11:35:23 -04:00
Fernando Sahmkow
b4dc01f16a
Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for Debugging
2020-06-27 11:35:23 -04:00
Fernando Sahmkow
75e10578f1
Core: Correct HLE Event Callbacks and other issues.
2020-06-27 11:35:22 -04:00
Fernando Sahmkow
de5b521c09
Process: Protect TLS region and Modules.
2020-06-27 11:35:21 -04:00
Fernando Sahmkow
2a8837ff51
General: Add Asserts
2020-06-27 11:35:21 -04:00
Fernando Sahmkow
04e0f8776c
General: Add better safety for JIT use.
2020-06-27 11:35:20 -04:00
Fernando Sahmkow
bd36eaf15d
SVC: Correct races on physical core switching.
2020-06-27 11:35:19 -04:00
Fernando Sahmkow
3902067008
SVC: Add locks to the memory management.
2020-06-27 11:35:18 -04:00
Fernando Sahmkow
d4ebb510a0
SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.
2020-06-27 11:35:17 -04:00
Fernando Sahmkow
5b6a67f849
SVC: Cleanup old methods.
2020-06-27 11:35:16 -04:00
Fernando Sahmkow
3d9fbb8226
CPU_Manager: Reconfigre guest threads for dynamrmic downsides
2020-06-27 11:35:15 -04:00
Fernando Sahmkow
15a79eb0d7
SVC: Correct SendSyncRequest.
2020-06-27 11:35:14 -04:00
Fernando Sahmkow
203e706302
SVC: Correct ArbitrateUnlock
2020-06-27 11:35:14 -04:00
Fernando Sahmkow
3b5b950c89
SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock
2020-06-27 11:35:13 -04:00
Fernando Sahmkow
ef4afa9760
SVC: Remove global HLE Lock.
2020-06-27 11:35:13 -04:00
Fernando Sahmkow
589f9cf108
SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumber
2020-06-27 11:35:12 -04:00
Fernando Sahmkow
49ba563995
SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.
2020-06-27 11:35:11 -04:00
Fernando Sahmkow
e31425df38
General: Recover Prometheus project from harddrive failure
...
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and
Suspended State, Recreates the bootmanager, Initializes Multicore
system.
2020-06-27 11:35:06 -04:00
bunnei
a91f92a89d
Merge pull request #4152 from ogniK5377/ipc-err
...
Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSG
2020-06-26 23:37:19 -04:00
David Marcec
38868e5750
memory_manager: Remove useless assertion
...
num_pages is an std::size_t. It will always be >= 0
2020-06-25 16:35:58 +10:00
David Marcec
82ecdd0104
Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSG
...
Previously if applications would send faulty buffers(example homebrew) it would lead to us returning uninitalized data. Switching from ASSERT_MSG to ASSERT_OR_EXECUTE_MSG allows us to have a fail safe to prevent crashes but also continue execution without introducing undefined behavior
2020-06-24 22:50:27 +10:00
MerryMage
b19fe55f84
memory_manager: Explicitly specifcy std::min<size_t>
2020-06-18 15:47:44 +01:00
bunnei
89d11f2268
Merge pull request #4069 from ogniK5377/total-phys-mem
...
kernel: Account for system resource size for memory usage
2020-06-14 00:44:34 -04:00
bunnei
e1911e5c8b
Merge pull request #4010 from ogniK5377/reserve-always-break
...
kernel: ResourceLimit::Reserve remove useless while loop
2020-06-12 22:30:19 -04:00
David Marcec
74ff1db758
kernel: Account for system resource size for memory usage
...
GetTotalPhysicalMemoryAvailableWithoutSystemResource & GetTotalPhysicalMemoryUsedWithoutSystemResource seem to subtract the resource size from the usage.
2020-06-10 14:49:00 +10:00
David Marcec
c0d2e3212f
Downgrade "handle not signaled" error to trace
...
clogs logs quite a bit
2020-06-04 22:27:15 +10:00
David Marcec
43bf860b22
kernel: ResourceLimit::Reserve remove useless while loop
...
Timeout is a u64, it will always be >= 0
2020-05-29 13:48:01 +10:00
bunnei
1121960f0e
Merge pull request #3879 from lioncash/global2
...
hle_ipc: Eliminate core memory globals
2020-05-07 19:13:34 -04:00
bunnei
88141bb2d4
Merge pull request #3881 from lioncash/mem-warning
...
kernel/memory: Resolve several compiler warnings
2020-05-05 15:41:18 -04:00
Lioncash
4620580245
kernel/memory: Remove #pragma once within cpp file
...
This isn't necessary in a cpp file and will cause warnings on clang.
2020-05-03 13:42:07 -04:00
Lioncash
1ecaa86a52
kernel/memory: Remove unused includes
...
Prevents header churn and needing to recompile these files if these
headers are ever changed in the future.
2020-05-03 13:41:18 -04:00
Lioncash
a2e61e6542
kernel/memory: Remove unused variables in memory_block_manager
...
Prevents unused variable warnings.
2020-05-03 13:36:20 -04:00
Lioncash
26aee55aef
kernel/memory: Make use of std::array consistently in address_space_info
...
This allows tuning standard library implementations to enable or disable
range checks at runtime, which is nicer for debugging.
2020-05-03 13:34:24 -04:00
Lioncash
dfa582169b
kernel/memory: Resolve -Wshadow warnings
...
Prevents variable name clashing.
2020-05-03 13:29:42 -04:00
Lioncash
93c083aef1
kernel/memory: Amend potential encoding warnings
...
While èis generally representable in some language encodings, in some
it isn't and will result in compilation warnings occurring. To remain
friendly with other language's codepages on Windows, we normalize it to
an ASCII e.
2020-05-03 13:01:03 -04:00
Lioncash
0ec07e8763
hle_ipc: Eliminate core memory globals
...
We can just pass the required instances into the constructor of the
request, eliminating all usages of the global system accessor.
2020-05-03 12:57:40 -04:00