Fernando Sahmkow
155de533e6
Common/Kernel: Corrections and small bug fixing.
2020-06-04 16:53:36 -04:00
Fernando Sahmkow
29d6be1859
General: Cleanup legacy code.
2020-06-04 16:53:21 -04:00
Fernando Sahmkow
223799f7a7
Kernel/svcBreak: Implement CacheInvalidation for Singlecore and correct svcBreak.
2020-06-04 16:53:20 -04:00
Fernando Sahmkow
e4638c567c
HLE_IPC: Correct HLE Event behavior on timeout.
2020-06-04 16:53:19 -04:00
Fernando Sahmkow
d8da19a8fb
SingleCore: Use Cycle Timing instead of Host Timing.
2020-06-04 16:53:16 -04:00
Fernando Sahmkow
1a4cd6b1a5
General: Move ARM_Interface into Threads.
2020-06-04 16:53:14 -04:00
Fernando Sahmkow
81677c61fb
SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface.
2020-06-04 16:53:11 -04:00
Fernando Sahmkow
a65d772faf
ARM: Addapt to new Exclusive Monitor Interface.
2020-06-04 16:53:09 -04:00
Fernando Sahmkow
7f9c52ae4c
General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.
2020-06-04 16:53:07 -04:00
Fernando Sahmkow
3bc98d1133
Kernel: Rewind on SVC change.
2020-06-04 16:53:06 -04:00
Fernando Sahmkow
a958ed9bbd
Kernel: Preempt Single core on redudant yields.
2020-06-04 16:53:05 -04:00
Fernando Sahmkow
b2c283c80d
Kernel: Fixes, corrections and asserts to scheduler and different svcs.
2020-06-04 16:53:01 -04:00
Fernando Sahmkow
ded21533ae
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
2020-06-04 16:52:59 -04:00
Fernando Sahmkow
599ef27cf0
SVC: Correct SetThreadActivity.
2020-06-04 16:52:56 -04:00
Fernando Sahmkow
955823442f
SVC: Correct svcWaitForAddress and svcSignalToAddress.
2020-06-04 16:52:50 -04:00
Fernando Sahmkow
8f67aa7e44
Kernel: Corrections to Scheduling.
2020-06-04 16:52:49 -04:00
Fernando Sahmkow
2daf58437d
Core: Correct HLE Event Callbacks and other issues.
2020-06-04 16:52:47 -04:00
Fernando Sahmkow
b5f150e4d3
General: Add Asserts
2020-06-04 16:52:46 -04:00
Fernando Sahmkow
e9174a2c0d
General: Add better safety for JIT use.
2020-06-04 16:52:46 -04:00
Fernando Sahmkow
15a54c844d
SVC: Correct races on physical core switching.
2020-06-04 16:52:45 -04:00
Fernando Sahmkow
4df9cec67c
SVC: Add locks to the memory management.
2020-06-04 16:52:44 -04:00
Fernando Sahmkow
90f63c0f87
SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.
2020-06-04 16:52:43 -04:00
Fernando Sahmkow
9aa352dafa
SVC: Cleanup old methods.
2020-06-04 16:52:42 -04:00
Fernando Sahmkow
666e7033e7
SVC: Correct SendSyncRequest.
2020-06-04 16:52:41 -04:00
Fernando Sahmkow
beb8887db8
SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock
2020-06-04 16:52:39 -04:00
Fernando Sahmkow
2dded4e40b
SVC: Remove global HLE Lock.
2020-06-04 16:52:38 -04:00
Fernando Sahmkow
e9fe507da9
SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumber
2020-06-04 16:52:38 -04:00
Fernando Sahmkow
12f69fa598
SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.
2020-06-04 16:52:37 -04:00
Fernando Sahmkow
1c1a5a3401
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-04 16:52:33 -04:00
David Marcec
b6538c3e7c
kernel: Don't fail silently
2020-04-29 14:53:53 +10:00
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.
2020-04-29 01:17:59 +10:00
bunnei
d1e7cf3bdc
Merge pull request #3780 from lioncash/process
...
svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemory
2020-04-24 23:22:26 -04:00
Lioncash
4730347f8e
svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemory
...
These were lost in the re-implementation of the virtual memory manager.
2020-04-23 18:12:04 -04:00
Lioncash
bed4865981
svc: Remove unused variable
...
Since the VMM refactor, this is no longer used or needed.
2020-04-23 17:53:26 -04:00
bunnei
8bbe74a8dc
core: hle: Address various feedback & code cleanup.
...
- Should be no functional changes.
2020-04-17 00:59:36 -04:00
bunnei
c629e544a7
kernel: svc: Updates for new VMM.
...
- Includes removing some SVC impls. that are untested.
2020-04-17 00:59:34 -04:00
bunnei
4caff51710
core: memory: Move to Core::Memory namespace.
...
- helpful to disambiguate Kernel::Memory namespace.
2020-04-17 00:59:28 -04:00
bunnei
ad48ebb2c8
core: kernel: Add svc_types header to include SVC-specific types.
2020-04-17 00:59:28 -04:00
bunnei
82d457af37
core: kernel: Move SVC to its own namesapce.
2020-04-17 00:59:28 -04:00
bunnei
dba112e510
core: hle: Implement separate A32/A64 SVC interfaces.
2020-03-02 21:52:03 -05:00
Fernando Sahmkow
2bc949628d
Core: Address Feedback
2020-02-13 19:10:33 -04:00
Fernando Sahmkow
d23d504d77
Kernel: Refactor synchronization to better match RE
2020-02-11 18:47:31 -04:00
Fernando Sahmkow
c5aefe42aa
Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.
2020-02-11 10:46:25 -04:00
bunnei
ba53543da6
kernel: transfer_memory: Properly reserve and reset memory region.
2020-02-05 23:06:54 -05:00
Fernando Sahmkow
e4a1ead897
Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.
...
This commit instends on better naming the new purpose of this classes.
2020-01-26 14:07:22 -04:00
Lioncash
30e365e4fc
kernel/svc: Correct function signature of SignalProcessWideKey
...
This function doesn't actually return a result code, so we can amend the
signature of it to match.
2019-12-11 07:13:27 -05:00
Lioncash
67b8265bd6
kernel/svc: Provide implementations for svcDumpInfo/svcDumpInfoNew
...
These are fairly trivial to implement, we can just do nothing. This also
provides a spot for us to potentially dump out any relevant info in the
future (e.g. for debugging purposes with homebrew, etc).
While we're at it, we can also correct the names of both of these
supervisor calls.
2019-12-07 22:01:17 -05:00
bunnei
c3d3b173d3
kernel: Implement a more accurate IPC dispatch.
2019-11-28 12:01:53 -05:00
Lioncash
e4c381b885
core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory class
...
The Write functions are used slightly less than the Read functions,
which make these a bit nicer to move over.
The only adjustments we really need to make here are to Dynarmic's
exclusive monitor instance. We need to keep a reference to the currently
active memory instance to perform exclusive read/write operations.
2019-11-26 21:55:39 -05:00
Lioncash
b05bfc6036
core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory class
...
With all of the trivial parts of the memory interface moved over, we can
get right into moving over the bits that are used.
Note that this does require the use of GetInstance from the global
system instance to be used within hle_ipc.cpp and the gdbstub. This is
fine for the time being, as they both already rely on the global system
instance in other functions. These will be removed in a change directed
at both of these respectively.
For now, it's sufficient, as it still accomplishes the goal of
de-globalizing the memory code.
2019-11-26 21:55:39 -05:00