bunnei
fbd7afefaa
thread: Support core change on ResumeFromWait and improve ChangeCore.
8 years ago
bunnei
91af2f94e8
scheduler: Protect scheduling functions with a global mutex.
8 years ago
bunnei
4822765fef
thread: Initialize ideal_core and mask members.
8 years ago
bunnei
8aa5d25f82
threading: Reschedule only on cores that are necessary.
8 years ago
bunnei
d6e3cd9a17
svc: Implement GetThreadCoreMask and SetThreadCoreMask.
8 years ago
bunnei
6ea8b3ef60
thread: Implement ChangeCore function.
8 years ago
bunnei
1c36f2a798
svc: SignalProcessWideKey should apply to all cores.
8 years ago
bunnei
6a890023e9
svc: Implement GetCurrentProcessorNumber.
8 years ago
bunnei
a434fdcb10
core: Implement multicore support.
8 years ago
Lioncash
7c9644646f
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
bunnei
fadab1d5f3
ipc: Add support for PopIpcInterface() method.
- This can be used for domain objects as inputs to service functions.
8 years ago
David
ff2f0d980a
GetSharedFontInOrderOfPriority ( #381 )
* GetSharedFontInOrderOfPriority
* Update pl_u.cpp
* Ability to use ReadBuffer and WriteBuffer with different buffer indexes, fixed up GetSharedFontInOrderOfPriority
* switched to NGLOG
* Update pl_u.cpp
* Update pl_u.cpp
* language_code is actually language code and not index
* u32->u64
* final cleanups
8 years ago
Lioncash
0197e28cc9
core_timing: Namespace all functions and constants in core_timing's header
All of these variables and functions are related to timings and should be within the namespace.
8 years ago
Lioncash
3abba08080
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
843dd62c81
core: Replace usages of LOG_GENERIC with new fmt-capable equivalents
8 years ago
Lioncash
8475496630
general: Convert assertion macros over to be fmt-compatible
8 years ago
Lioncash
1913cf4783
kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions()
Functions don't need to be terminated by semicolons.
8 years ago
Lioncash
40dee76c57
kernel: Migrate logging macros to fmt-compatible ones
8 years ago
Subv
46572d027d
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
a70ed9c8ae
Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs
8 years ago
Subv
013778aa21
Qt: Update the WaitTree widget to show info about the current mutex of each thread.
8 years ago
Subv
be155f4d9d
Kernel: Remove unused ConditionVariable class.
8 years ago
Subv
5fdfbfe25a
Kernel: Remove old and unused Mutex code.
8 years ago
Subv
b18ccf9399
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
e81a2080eb
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
bec05db746
resource_limit: Make ResourceTypes an enum class
Prevents enum identifiers from leaking into the surrounding scope.
8 years ago
Lioncash
d9e316e353
common_funcs: Remove ARRAY_SIZE macro
C++17 has non-member size() which we can just call where necessary.
8 years ago
Hexagon12
e52a87b98a
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
43f0f163e1
vm_manager: Increase GetTotalMemoryUsage value.
- Gets Binding of Isaac running.
8 years ago
bunnei
40bccd74d3
svc: Stub out SetThreadActivity, GetThreadContext.
8 years ago
bunnei
99ae9dbf49
shared_memory: Remove incorrect 3ds-specific check.
8 years ago
bunnei
f4ba523992
hle_ipc, fsp_srv: Cleanup logging.
8 years ago
bunnei
eef097bdc7
hle_ipc: Do not ensure write buffer size.
8 years ago
bunnei
b27ab46bde
memory: Fix stack region.
8 years ago
bunnei
f6893969b3
svc: Stub GetThreadCoreMask.
8 years ago
N00byKing
1d8b6ad13b
Clang Fixes
8 years ago
N00byKing
0e72d0d826
More Warning cleanups
8 years ago
N00byKing
ef875d6a35
Clean Warnings (?)
8 years ago
bunnei
c86af6939c
hle_ipc: Add SleepClientThread to block current thread within HLE routines.
8 years ago
bunnei
2faa83ca13
hle_ipc: Use shared_ptr instead of unique_ptr to allow copies.
8 years ago
bunnei
019f1a0cf0
hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.
8 years ago
bunnei
e353b9fb3d
thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.
8 years ago
bunnei
cc6f22e0e4
process: MirrorMemory should use MemoryState::Mapped.
8 years ago
bunnei
e9a857ce82
process: Unmap previously allocated heap.
8 years ago
bunnei
403f8e79ea
arm_interface: Support unmapping previously mapped memory.
8 years ago
bunnei
34a29ad051
svc: Use more correct values for GetInfo MapRegion and NewMapRegion.
8 years ago
bunnei
8581404482
kernel: Move stack region outside of application heap.
8 years ago
bunnei
3923b0f589
process: Fix stack memory state.
8 years ago
bunnei
8be7131033
MemoryState: Add additional memory states and improve naming.
8 years ago
bunnei
7d6653268f
core: Move process creation out of global state.
8 years ago