Fernando Sahmkow
445b4342b3
Mutex: Revert workaround due to poor exclusive memory.
6 years ago
Fernando Sahmkow
cd1c38be8d
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
6 years ago
Fernando Sahmkow
535c542d84
SVC: WaitSynchronization add Termination Pending Result.
6 years ago
Fernando Sahmkow
725bac1404
Scheduler: Remove arm_interface lock and a few corrections.
6 years ago
Fernando Sahmkow
83c7ba1ef7
SVC: Correct SetThreadActivity.
6 years ago
Fernando Sahmkow
a66c61ca2d
SCC: Small corrections to CancelSynchronization
6 years ago
Fernando Sahmkow
44cb9997b3
Scheduler: Correct locking for hle threads.
6 years ago
Fernando Sahmkow
6ed28e15fa
Scheduler: Fix HLE Threads on guard
6 years ago
Fernando Sahmkow
3de33348e4
Scheduler: Protect on closed threads.
6 years ago
Fernando Sahmkow
19847d4d42
Scheduler: Correct assert.
6 years ago
Fernando Sahmkow
a33fbaddec
Core: Correct rebase.
6 years ago
Fernando Sahmkow
1c672128c4
Scheduler: Release old thread fiber before trying to switch to the next thread fiber.
6 years ago
Fernando Sahmkow
a6bce296ad
Mutex: Correct Result writting to clear exclusivity.
6 years ago
Fernando Sahmkow
e4b175ade2
SVC: Correct svcWaitForAddress and svcSignalToAddress.
6 years ago
Fernando Sahmkow
1e987dbe8d
Scheduler: Correct Select Threads Step 2.
6 years ago
Fernando Sahmkow
07993ac8c8
Kernel: Corrections to Scheduling.
6 years ago
Fernando Sahmkow
b4dc01f16a
Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for Debugging
6 years ago
Fernando Sahmkow
75e10578f1
Core: Correct HLE Event Callbacks and other issues.
6 years ago
Fernando Sahmkow
de5b521c09
Process: Protect TLS region and Modules.
6 years ago
Fernando Sahmkow
2a8837ff51
General: Add Asserts
6 years ago
Fernando Sahmkow
04e0f8776c
General: Add better safety for JIT use.
6 years ago
Fernando Sahmkow
bd36eaf15d
SVC: Correct races on physical core switching.
6 years ago
Fernando Sahmkow
3902067008
SVC: Add locks to the memory management.
6 years ago
Fernando Sahmkow
d4ebb510a0
SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.
6 years ago
Fernando Sahmkow
5b6a67f849
SVC: Cleanup old methods.
6 years ago
Fernando Sahmkow
3d9fbb8226
CPU_Manager: Reconfigre guest threads for dynamrmic downsides
6 years ago
Fernando Sahmkow
15a79eb0d7
SVC: Correct SendSyncRequest.
6 years ago
Fernando Sahmkow
203e706302
SVC: Correct ArbitrateUnlock
6 years ago
Fernando Sahmkow
3b5b950c89
SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock
6 years ago
Fernando Sahmkow
ef4afa9760
SVC: Remove global HLE Lock.
6 years ago
Fernando Sahmkow
589f9cf108
SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumber
6 years ago
Fernando Sahmkow
49ba563995
SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.
6 years ago
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.
6 years ago
David Marcec
38868e5750
memory_manager: Remove useless assertion
num_pages is an std::size_t. It will always be >= 0
6 years ago
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
6 years ago
MerryMage
b19fe55f84
memory_manager: Explicitly specifcy std::min<size_t>
6 years ago
David Marcec
74ff1db758
kernel: Account for system resource size for memory usage
GetTotalPhysicalMemoryAvailableWithoutSystemResource & GetTotalPhysicalMemoryUsedWithoutSystemResource seem to subtract the resource size from the usage.
6 years ago
David Marcec
c0d2e3212f
Downgrade "handle not signaled" error to trace
clogs logs quite a bit
6 years ago
David Marcec
43bf860b22
kernel: ResourceLimit::Reserve remove useless while loop
Timeout is a u64, it will always be >= 0
6 years ago
Lioncash
4620580245
kernel/memory: Remove #pragma once within cpp file
This isn't necessary in a cpp file and will cause warnings on clang.
6 years ago
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.
6 years ago
Lioncash
a2e61e6542
kernel/memory: Remove unused variables in memory_block_manager
Prevents unused variable warnings.
6 years ago
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.
6 years ago
Lioncash
dfa582169b
kernel/memory: Resolve -Wshadow warnings
Prevents variable name clashing.
6 years ago
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.
6 years ago
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.
6 years ago
Lioncash
aabf5b2059
readable_event: Remove unnecessary semicolon in Signal()
Resolves a -Wextra-semi warning.
While we're at it, we can invert the branch to form a guard clause,
unindenting all of the contained code.
6 years ago
David Marcec
b6538c3e7c
kernel: Don't fail silently
6 years ago
David Marcec
2261cf24af
kernel: Bad GetInfo ids should not be marked as stubs
As we currently match hardware and don't return a successful result, these should be marked as errors instead of warnings and as stubs.
6 years ago
Lioncash
cc84b48ce5
physical_core: Make use of std::make_unique instead of std::make_shared in ctor
We can also allow unicorn to be constructed in 32-bit mode or 64-bit
mode to satisfy the need for both interpreter instances.
Allows this code to compile successfully of non x86-64 architectures.
6 years ago