| Commit message (Collapse) | Author | Age |
... | |
| | |
|
| |
| |
| |
| |
| |
| | |
- Separate wait checking from waiting the current thread
- Resume thread when wait_all=true only if all objects are available at once
- Set output to correct wait object index when there are duplicate handles
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
trace logs under release for performance.
|
| |
|
|\
| |
| | |
Kernel Lifetime Reform Pt. 2
|
|\ \
| | |
| | | |
Warn if a new thread is intended to be run on the system CPU core
|
| | | |
|
| |/
|/| |
|
|\ \
| | |
| | | |
Implemented timers
|
| | | |
|
|/ /
| |
| |
| | |
It will now properly wait the specified number of nanoseconds and then wake up the thread.
|
|/
|
|
| |
implement correct scheduling for such a thread.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stubbed CreateMemoryBlock
Using Berkeley sockets, and Winsock2.2 on Windows.
So far ftpony creates the socket and accepts incoming connections
SOC_U: Renamed functions to maintain consistency
Also prevents possible scope errors / conflicts with the actual Berkeley socket functions
SOCU: Close all the opened sockets when cleaning up SOCU
|
|
|
|
|
|
|
|
|
|
|
| |
This handle manager more closely mirrors the behaviour of the CTR-OS
one. In addition object ref-counts and support for DuplicateHandle have
been added.
Note that support for DuplicateHandle is still experimental, since parts
of the kernel still use Handles internally, which will likely cause
troubles if two different handles to the same object are used to e.g.
wait on a synchronization primitive.
|
| |
|
|\
| |
| | |
License change
|
| | |
|
|/
|
|
|
|
| |
- Removed unused VBLANK sleep mode
- Added error log for bad context switch
- Renamed VerifyWait to CheckWaitType to be more clear
|
|\
| |
| | |
Kernel: Add missing permissions
|
| |
| |
| |
| |
| |
| |
| | |
This is a first step at fixing the conceptual insanity that is our
handling of service and IPC calls. For now, interfaces still directly
derived from Session because we don't have the infrastructure to do it
properly. (That is, Processes and scheduling them.)
|
| | |
|
| |
| |
| |
| | |
This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has
|
| |
| |
| |
| |
| | |
ToDo: Implement svcReleaseSemaphore
* Some testing against hardware needed
|
| | |
|
| |
| |
| |
| | |
- Linear simply indicates that the mapped physical address is always MappedVAddr+0x0C000000, thus this memory can be used for hardware devices' DMA (such as the GPU).
|
| |
| |
| |
| | |
For now threads are using their Handle value as their Id, it should not really cause any problems because Handle values are unique in Citra, but it should be changed. I left a ToDo there because this is not correct behavior as per hardware.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All service calls in the CTR OS return result codes indicating the
success or failure of the call. Previous to this commit, Citra's HLE
emulation of services and the kernel universally either ignored errors
or returned dummy -1 error codes.
This commit makes an initial effort to provide an infrastructure for
error reporting and propagation which can be use going forward to make
HLE calls accurately return errors as the original system. A few parts
of the code have been updated to use the new system where applicable.
One part of this effort is the definition of the `ResultCode` type,
which provides facilities for constructing and parsing error codes in
the structured format used by the CTR.
The `ResultVal` type builds on `ResultCode` by providing a container for
values returned by function that can report errors. It enforces that
correct error checking will be done on function returns by preventing
the use of the return value if the function returned an error code.
Currently this change is mostly internal since errors are still
suppressed on the ARM<->HLE border, as a temporary compatibility hack.
As functionality is implemented and tested this hack can be eventually
removed.
|
| |
| |
| |
| | |
or generated
|
| | |
|
|/
|
|
| |
These functions are not referred to by their linkage name outside of the translation unit, so they can be marked as static.
|
| |
|
|\
| |
| | |
loader.cpp: improved file extension checking, made Upper/LowerStr useful, moved string_util into Common namespace
|
| | |
|
|/ |
|
|\
| |
| | |
Core: Alter the kernel string functions to use std::string instead of const char*.
|
| |
| |
| |
| | |
Changed HLE function return methods to be static inline functions.
|
|/
|
|
|
|
| |
char*.
Most functions already operate on std::strings. This also removes the need to manually null terminate thread names.
|
|
|
|
|
| |
entry_point would not be added to the string. Also used StringFromFormat
so that the buffer is unnecessary.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
AddressArbiter: Added documentation comment, fixed whitespace issue.
AddressArbiter: Fixed incorrect comment, reordered if-statement to be more clear.
SVC: Removed trailing whitespace.
|