Subv
cb4ff57322
Build: Fixed some MSVC warnings in various parts of the code.
8 years ago
Jules Blok
5614c1329e
svc: Add a stub for UserExceptionContextAddr.
8 years ago
Subv
40c82fc9c5
Kernel/SVC: Support special core values -2 and -3 in svcSetThreadCoreMask.
Also added some proper error handling.
8 years ago
Subv
e3e8902d40
Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey.
8 years ago
Subv
8ce8160ce3
Kernel/Threads: Reschedule the proper core when operating on that core's threads.
8 years ago
Subv
8935ca8e11
SVC: Removed unused WaitSynchronization1 function
8 years ago
bunnei
ce7d89cb0e
thread: Rename mask to affinity_masks.
8 years ago
bunnei
5a5850af69
threading: Reschedule only on cores that are necessary.
8 years ago
bunnei
9e559ceb09
svc: Implement GetThreadCoreMask and SetThreadCoreMask.
8 years ago
bunnei
7b6dd22605
svc: SignalProcessWideKey should apply to all cores.
8 years ago
bunnei
6c4f161ba2
svc: Implement GetCurrentProcessorNumber.
8 years ago
bunnei
44c565aeca
core: Implement multicore support.
8 years ago
Lioncash
1b310cbb3a
general: Make formatting of logged hex values more straightforward
This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on).
8 years ago
Lioncash
d1e3e0eb42
string_util: Remove StringFromFormat() and related functions
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
8 years ago
Lioncash
324ee31fc3
general: Convert assertion macros over to be fmt-compatible
8 years ago
Lioncash
bd9414dd31
kernel: Migrate logging macros to fmt-compatible ones
8 years ago
Subv
329bec6dbd
Kernel: Implemented mutex priority inheritance.
Verified with a hwtest and implemented based on reverse engineering.
Thread A's priority will get bumped to the highest priority among all the threads that are waiting for a mutex that A holds.
Once A releases the mutex and ownership is transferred to B, A's priority will return to normal and B's priority will be bumped.
8 years ago
Subv
f5a2b1920b
Kernel: Remove unused ConditionVariable class.
8 years ago
Subv
fcd7cbe65a
Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKey
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
8 years ago
Subv
4e47dd5b59
Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.
Switch mutexes are no longer kernel objects, they are managed in userland and only use the kernel to handle the contention case.
Mutex addresses store a special flag value (0x40000000) to notify the guest code that there are still some threads waiting for the mutex to be released. This flag is updated when a thread calls ArbitrateUnlock.
TODO:
* Fix svcWaitProcessWideKey
* Fix svcSignalProcessWideKey
* Remove the Mutex class.
8 years ago
Lioncash
5860b9f4ce
resource_limit: Make ResourceTypes an enum class
Prevents enum identifiers from leaking into the surrounding scope.
8 years ago
Lioncash
c9f5ae4fcc
common_funcs: Remove ARRAY_SIZE macro
C++17 has non-member size() which we can just call where necessary.
8 years ago
Hexagon12
4c462c91bd
Various service name fixes - part 2 (rebased) ( #322 )
* Updated ACC with more service names
* Updated SVC with more service names
* Updated set with more service names
* Updated sockets with more service names
* Updated SPL with more service names
* Updated time with more service names
* Updated vi with more service names
8 years ago
bunnei
e71cfbce72
svc: Stub out SetThreadActivity, GetThreadContext.
8 years ago
bunnei
86f0e841d8
svc: Stub GetThreadCoreMask.
8 years ago
N00byKing
8d34c0d2a0
More Warning cleanups
8 years ago
N00byKing
1212e9e231
Clean Warnings (?)
8 years ago
bunnei
a0b00fe2d1
svc: Use more correct values for GetInfo MapRegion and NewMapRegion.
8 years ago
bunnei
29bda49fc0
MemoryState: Add additional memory states and improve naming.
8 years ago
bunnei
f16763ed52
core: Move process creation out of global state.
8 years ago
N00byKing
ac2232b9cf
(Hopefully) Fix MinGW Build
8 years ago
N00byKing
11cef9ba72
Add UnmapSharedMemory
C++11 requires spaces on the Identifier
Add inttypes include
clang
8 years ago
mailwl
8f256914fc
Stub more functions
8 years ago
bunnei
539977f39b
kernel: Use Scheduler class for threading.
8 years ago
bunnei
23c46db6f7
GetInfo: Implement IsCurrentProcessBeingDebugged.
8 years ago
bunnei
37967da1f2
WaitProcessWideKeyAtomic: Handle case where condition variable was already created.
8 years ago
bunnei
4a19b608fd
svc: SharedMemory size should be 64-bits and cleanup.
8 years ago
bunnei
9892a119da
ArbitrateLock: Assert that requesting_thread is current_thread.
8 years ago
bunnei
4fabdf77d7
hle: Remove Domain and SyncObject kernel objects.
8 years ago
James Rowe
ea88c44eb8
Format: Run the new clang format on everything
8 years ago
David
61a92c7347
Added CreateSharedMemory & UNIMPLEMENTED() for non existent services. ( #113 )
* Added svcCreateSharedMemory
* Services which are not implemented now throw UNIMPLEMENTED()
* clang-format
* changed perms to u32
* removed camelcase
8 years ago
bunnei
94483465ad
svc: Fix svcGetInfo MapRegionBaseAddr.
8 years ago
Lioncash
e396daeb9d
svc: Rename some entries to match their analogue on SwitchBrew
Makes the codebase a little more consistent with regards to available documentation. Also amends the duplicate case where there was a similar entry at 0x72 named ConnectToPort.
8 years ago
Lioncash
9453658987
svc: Add CreateJitMemory and MapJitMemory svc strings
Makes the table match SwitchBrew for these entries
8 years ago
bunnei
11c878023f
svc: Clang-format fix.
8 years ago
Subv
6b3510cca6
SVC: Correct some return values in svcGetInfo and added TitleId and PrivilegedProcessId stubs.
# Conflicts:
# src/core/hle/kernel/svc.cpp
8 years ago
David Marcec
18295b0325
SetThreadCoreMask stub, time to implement fsp
8 years ago
David Marcec
eb1ddebb18
Added more svcGetInfo pairs
8 years ago
MerryMage
41bfd994f6
clang-format
8 years ago
bunnei
e9e51c7181
svc: Implement svcMapSharedMemory.
8 years ago