- Jul 31, 2018
-
-
Lioncash authored
Removes unnecessary direct dependencies in some headers and also gets rid of indirect dependencies that were being relied on to be included.
-
- Jul 24, 2018
- Jul 22, 2018
-
-
Subv authored
-
- Jul 20, 2018
-
-
Lioncash authored
Makes the thread status strongly typed, so implicit conversions can't happen. It also makes it easier to catch mistakes at compile time.
-
- Jul 19, 2018
-
-
Lioncash authored
The reason this would never be true is that ideal_processor is a u8 and THREADPROCESSORID_DEFAULT is an s32. In this case, it boils down to how arithmetic conversions are performed before performing the comparison. If an unsigned value has a lesser conversion rank (aka smaller size) than the signed type being compared, then the unsigned value is promoted to the signed value (i.e. u8 -> s32 happens before the comparison). No sign-extension occurs here either. An alternative phrasing: Say we have a variable named core and it's given a value of -2. u8 core = -2; This becomes 254 due to the lack of sign. During integral promotion to the signed type, this still remains as 254, and therefore the condition will always be true, because no matter what value the u8 is given it will never be -2 in terms of 32 bits. Now, if one type was a s32 and one was a u32, this would be entirely different, since they have the same bit width (and the signed type would be converted to unsigned instead of the other way around) but would still have its representation preserved in terms of bits, allowing the comparison to be false in some cases, as opposed to being true all the time. --- We also get rid of two signed/unsigned comparison warnings while we're at it.
-
- Jul 03, 2018
-
-
James Rowe authored
-
James Rowe authored
-
- Jun 22, 2018
-
-
Michael Scire authored
-
Michael Scire authored
-
- Jun 21, 2018
-
-
Michael Scire authored
-
Michael Scire authored
-
Michael Scire authored
-
- Jun 20, 2018
-
-
Subv authored
-
- Jun 18, 2018
-
-
Jules Blok authored
-
- May 31, 2018
-
-
Subv authored
Also added some proper error handling.
-
- May 19, 2018
- May 10, 2018
- May 02, 2018
-
-
Lioncash authored
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).
-
- Apr 29, 2018
-
-
Lioncash authored
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
-
- Apr 27, 2018
-
-
Lioncash authored
-
- Apr 26, 2018
-
-
Lioncash authored
-
- Apr 23, 2018
-
-
Subv authored
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.
-
- Apr 21, 2018
-
-
Subv authored
-
Subv authored
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
-
Subv authored
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.
-
- Apr 20, 2018
- Apr 17, 2018
-
-
Hexagon12 authored
* 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
-
- Apr 03, 2018
-
-
bunnei authored
-
- Mar 30, 2018
-
-
bunnei authored
-
- Mar 19, 2018